]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
798a209f
SA
12013-03-05 Sterling Augustine <saugustine@google.com>
2 Cary Coutant <ccoutant@google.com>
3
4 PR debug/55364
5 * dwarf2out.c (resolve_addr): Don't call
6 remove_loc_list_addr_table_entries a second time for the same
7 expression.
8
6cfa417f 92013-03-05 Jakub Jelinek <jakub@redhat.com>
ee61ea38 10
6cfa417f
JJ
11 PR debug/56510
12 * cfgexpand.c (expand_debug_parm_decl): Call copy_rtx on incoming.
13 (avoid_complex_debug_insns): New function.
14 (expand_debug_locations): Call it.
15
16 PR rtl-optimization/56484
17 * ifcvt.c (noce_process_if_block): If else_bb is NULL, avoid extending
18 lifetimes of hard registers on small register class machines.
19
202013-03-05 David Holsgrove <david.holsgrove@xilinx.com>
21
22 * config/microblaze/microblaze-protos.h: Rename
ee61ea38 23 microblaze_is_interrupt_handler to microblaze_is_interrupt_variant.
6cfa417f 24 * config/microblaze/microblaze.c (microblaze_attribute_table): Add
ee61ea38
DH
25 fast_interrupt.
26 (microblaze_fast_interrupt_function_p): New function.
27 (microblaze_is_interrupt_handler): Rename to
28 microblaze_is_interrupt_variant and add fast_interrupt check.
29 (microblaze_must_save_register): Use microblaze_is_interrupt_variant.
30 (save_restore_insns): Likewise.
31 (compute_frame_size): Likewise.
32 (microblaze_function_prologue): Add FAST_INTERRUPT_NAME.
33 (microblaze_globalize_label): Likewise.
6cfa417f
JJ
34 * config/microblaze/microblaze.h: Define FAST_INTERRUPT_NAME.
35 * config/microblaze/microblaze.md: Use wrapper
ee61ea38
DH
36 microblaze_is_interrupt_variant.
37
731aefac
KT
382013-03-05 Kai Tietz <ktietz@redhat.com>
39
40 * sdbout.c (sdbout_one_type): Switch to current function's section
41 supporting cold/hot.
42
e34fd5a7
DH
432013-03-05 David Holsgrove <david.holsgrove@xilinx.com>
44
45 * doc/invoke.texi (MicroBlaze): Add -mbig-endian, -mlittle-endian,
46 -mxl-reorder.
47
334e71e8
JJ
482013-03-05 Jakub Jelinek <jakub@redhat.com>
49
0b50e654
JJ
50 PR middle-end/56461
51 * ggc-common.c (gt_pch_save): For ENABLE_VALGRIND_CHECKING,
52 if VALGRIND_GET_VBITS is defined, temporarily make object
53 memory all defined, and restore previous valgrind addressability
54 and definability afterwards. Free this_object at the end.
55
4ccf8f43
JJ
56 PR middle-end/56461
57 * lra.c (lra): Call lra_clear_live_ranges if live_p,
58 right before calling lra_create_live_ranges, also call it
59 when clearing live_p. Only call lra_clear_live_ranges
60 at the end if live_p.
61
334e71e8
JJ
62 PR middle-end/56461
63 * sched-deps.c (delete_dep_node): Free DEP_REPLACE.
64
9ca966ca
RB
652013-03-05 Richard Biener <rguenther@suse.de>
66
67 PR tree-optimization/56521
68 * tree-ssa-sccvn.c (set_value_id_for_result): Always initialize
69 value-id.
70
d273b176
SB
712013-03-05 Steven Bosscher <steven@gcc.gnu.org>
72
73 PR c++/55135
74 * except.h (remove_unreachable_eh_regions): New prototype.
75 * except.c (remove_eh_handler_splicer): New function, split out
76 of remove_eh_handler.
77 (remove_eh_handler): Use remove_eh_handler_splicer. Add comment
78 warning about running it on many EH regions one at a time.
79 (remove_unreachable_eh_regions_worker): New function, walk the
80 EH tree in depth-first order and remove non-marked regions.
81 (remove_unreachable_eh_regions): New function.
82 * tree-eh.c (mark_reachable_handlers): New function, split out
83 from remove_unreachable_handlers.
84 (remove_unreachable_handlers): Use mark_reachable_handlers and
85 remove_unreachable_eh_regions.
86 (remove_unreachable_handlers_no_lp): Use mark_reachable_handlers
87 and remove_unreachable_eh_regions.
88
5e7f1aef
RB
892013-03-05 Richard Biener <rguenther@suse.de>
90
91 PR middle-end/56525
92 * loop-init.c (fix_loop_structure): Remove loops in two stages,
93 not freeing them until the end.
94
f276b762
AK
952013-03-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
96
97 * config/s390/s390.h: Define DWARF2_ASM_LINE_DEBUG_INFO.
98
12a43ab8
RB
992013-03-05 Richard Biener <rguenther@suse.de>
100
101 PR tree-optimization/56270
102 * tree-vect-slp.c (vect_schedule_slp): Clear vectorized stmts
103 of loads after scheduling an SLP instance.
104
93675444
JJ
1052013-03-05 Jakub Jelinek <jakub@redhat.com>
106
db4138e3
JJ
107 * Makefile.in (dg_target_exps): Add aarch64.exp, epiphany.exp and
108 tic6x.exp.
109 (check_gcc_parallelize): Run guality.exp as a separate job from
110 vect.exp with unsorted.exp and $(dg_target_exps) separately from
111 struct-layout-1.exp with stackalign.exp.
112
dd3d1ec0
JJ
113 * alias.c (init_alias_analysis): Clear reg_known_equiv_p bitmap.
114
b8d381a3
JJ
115 PR middle-end/56461
116 * tree-vect-slp.c (vect_supported_load_permutation_p): Free
117 load_index sbitmap even if some bit in it isn't set.
118
b4f9786b
JJ
119 PR middle-end/56461
120 * tree-ssa-loop-niter.c (bb_queue): Remove typedef.
121 (discover_iteration_bound_by_body_walk): Change queues to
122 vec<vec<basic_block> > and queue to vec<basic_block>. Fix up
123 spelling in comment. Call safe_push on queues[bound_index] directly.
124 Release queues[queue_index] in every iteration unconditionally.
125 Release bounds vector.
126
93675444
JJ
127 PR middle-end/56461
128 * tree-vect-stmts.c (free_stmt_vec_info_vec): Call
129 free_stmt_vec_info on any left-over stmt_vec_info in the vector.
130 * tree-vect-loop.c (vect_create_epilog_for_reduction): Release
131 inner_phis vector.
132
3e492e9c
RB
1332013-03-05 Richard Biener <rguenther@suse.de>
134
135 PR lto/56515
136 * tree-inline.c (remap_blocks_to_null): New function.
137 (expand_call_inline): When expanding a call stmt without
138 an associated block inline remap all callee blocks to NULL.
139
a5d1569a
JJ
1402013-03-05 Jakub Jelinek <jakub@redhat.com>
141
86efb5cd
JJ
142 PR rtl-optimization/56494
143 * simplify-rtx.c (simplify_truncation): If C is narrower than A,
144 optimize (truncate:A (subreg:B (truncate:C X) 0)) into
145 (subreg:A (truncate:C X) 0) instead of (truncate:A X).
146
85f5dbea
JJ
147 PR middle-end/56461
148 * sel-sched-ir.c (free_sched_pools): Release
149 succs_info_pool.stack[succs_info_pool.max_top] vectors too
150 if succs_info_pool.max_top isn't -1.
151
a5d1569a
JJ
152 PR bootstrap/56509
153 * opts.c (opts_obstack, opts_concat): Moved to...
154 * opts-common.c (opts_obstack, opts_concat): ... here.
155
4432aa6c
JJ
1562013-03-04 Jakub Jelinek <jakub@redhat.com>
157
158 PR middle-end/56461
159 * diagnostic.c (diagnostic_append_note): Save and restore old prefix.
160
f3a1fb91
MJ
1612013-03-04 Martin Jambor <mjambor@suse.cz>
162
163 * tree-dfa.c (get_or_create_ssa_default_def): Use parameter fn in
164 all appropriate places.
165
22110e6c
EB
1662013-01-04 Eric Botcazou <ebotcazou@adacore.com>
167
168 PR tree-optimization/56424
169 * ipa-split.c (split_function): Do not set the RSO flag if result is
170 not by reference and its type is a register type.
171
91c4e421
DH
1722013-03-04 David Holsgrove <david.holsgrove@xilinx.com>
173
174 * config/microblaze/microblaze.c (microblaze_valid_pic_const): New
175 (microblaze_legitimate_pic_operand): Likewise
176 * config/microblaze/microblaze.h (LEGITIMATE_PIC_OPERAND_P): calls
177 new function microblaze_legitimate_pic_operand
178 * config/microblaze/microblaze-protos.h
179 (microblaze_legitimate_pic_operand): Declare.
180
82f8f53a
EI
1812013-03-04 Edgar E. Iglesias <edgar.iglesias@gmail.com>
182
183 * config/microblaze/predicates.md (call_insn_simple_operand):
184 New predicate for supported rtx code types.
185 * config/microblaze/microblaze.md (call_internal1): Use
186 call_insn_simple_operand predicate.
187
541d9ac8
JJ
1882013-03-04 Jakub Jelinek <jakub@redhat.com>
189
5eb010bc
JJ
190 PR middle-end/56461
191 * tree-loop-distribution.c (ldist_gen): Call partition_free after each
192 partitions.ordered_remove.
193
30862efc
JJ
194 PR middle-end/56461
195 * tree-vect-stmts.c (vectorizable_conversion): Don't call
196 vec_oprnds0.create (1) for modifier == NONE.
197
8930f723
JJ
198 PR middle-end/56461
199 * tree-vect-stmts.c (vectorizable_shift): Don't call create methods
200 on vec_oprnds0 or vec_oprnds1 before loop, only call it on
201 vec_oprnds1 right before pushing anything to it for
202 scalar_shift_arg.
203
541d9ac8
JJ
204 PR middle-end/56461
205 * tree-vect-loop.c (destroy_loop_vec_info): For !clean_stmts, just
206 set nbbs to 0 instead of having separate code path.
207 (vect_analyze_loop_form): Call destroy_loop_vec_info with true
208 instead of false as last argument if returning NULL.
209
7aa7f2e3
SL
2102013-03-03 Sandra Loosemore <sandra@codesourcery.com>
211
212 * target.def (TARGET_OPTION_VALID_ATTRIBUTE_P): Update comments;
213 the attribute is now called "target" instead of "option".
214 (TARGET_OPTION_PRAGMA_PARSE): Likewise, for the pragma.
215 * doc/tm.texi.in (Target Attributes): Likewise document the correct
216 attribute/pragma name for TARGET_OPTION_VALID_P and
217 TARGET_OPTION_PRAGMA_PARSE. Also copy-edit and correct markup.
218 * doc/tm.texi: Regenerated.
219
8930f723 2202013-03-02 David Holsgrove <david.holsgrove@xilinx.com>
cb8a1637 221
8930f723 222 * config/microblaze/microblaze.c:
cb8a1637 223 Check mcpu, pcmp requirement and set TARGET_REORDER to 0 if not met.
8930f723
JJ
224 * config/microblaze/microblaze.h: Add -mxl-reorder to
225 DRIVER_SELF_SPECS.
226 * config/microblaze/microblaze.md: New bswapsi2 and bswaphi2.
227 instructions emitted if TARGET_REORDER.
228 * config/microblaze/microblaze.opt: New option -mxl-reorder set to 1
cb8a1637 229 or 0 for -m/-mno case, but initialises as 2 to detect default use case
8930f723 230 separately.
cb8a1637 231
4dc1d68c
XDL
2322013-03-01 Xinliang David Li <davidxl@google.com>
233
234 * tree-ssa-uninit.c (compute_control_dep_chain): Limit post-dom
235 walk length.
236
689eaba3
JJ
2372013-03-01 Jakub Jelinek <jakub@redhat.com>
238
9d676bf6
JJ
239 PR middle-end/56461
240 * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Release path
241 vector even when returning true. Fix up function comment formatting.
242
caff7edf
JJ
243 PR middle-end/56461
244 * ira-build.c (ira_loop_nodes_count): New variable.
245 (create_loop_tree_nodes): Initialize it.
246 (finish_loop_tree_nodes): Use it instead of looking at current_loops.
247
b6b9227d
JJ
248 PR middle-end/56461
249 * tree-vect-data-refs.c (vect_permute_store_chain): Avoid using copy
250 method on dr_chain and result_chain.
251 * tree-vect-stmts.c (vectorizable_store): Only call
252 result_chain.create if j == 0.
253
689eaba3
JJ
254 PR middle-end/56461
255 * tree-vect-stmts.c (vect_create_vectorized_promotion_stmts): Call
256 vec_oprnds0->release (); rather than vec_oprnds0->truncate (0)
257 before overwriting it.
258
40bf31ed
TB
2592013-03-01 Tobias Burnus <burnus@net-b.de>
260
261 * doc/extended.texi (C Extensions): Change order in @menu
262 to match @node.
263 (Other MIPS Built-in Functions): Move last MIPS entry before
264 "picoChip Built-in Functions".
265 (SH Built-in Functions): Move after RX Built-in Functions.
266 * doc/gcc.texi (Introduction): Change order in @menu
267 to match @node.
268 * doc/md.texi (Constraints): Ditto.
269 * gty.texi (Type Information): Ditto.
270 (User-provided marking routines for template types): Make
271 subsection.
272 * doc/invoke.texi (AArch64 Options): Move before
273 "Adapteva Epiphany Options".
274
e664c61c
KS
2752013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
276 Jakub Jelinek <jakub@redhat.com>
277
278 PR sanitizer/56454
279 * asan.c (gate_asan): Lookup no_sanitize_address instead of
280 no_address_safety_analysis attribute.
281 * doc/extend.texi (no_address_safety_attribute): Rename to
282 no_sanitize_address attribute, mention no_address_safety_analysis
283 attribute as deprecated alias.
284
37b5ec8f
JJ
2852013-02-28 Jakub Jelinek <jakub@redhat.com>
286
287 PR middle-end/56461
288 * tree-vectorizer.h (vect_get_slp_defs): Change 3rd argument
289 type to vec<vec<tree> > *.
290 * tree-vect-slp.c (vect_get_slp_defs): Likewise. Change vec_defs
291 to be vec<tree> instead of vec<tree> *, set vec_defs
292 to vNULL and call vec_defs.create (number_of_vects), adjust other
293 uses of vec_defs.
294 * tree-vect-stmts.c (vect_get_vec_defs, vectorizable_call,
295 vectorizable_condition): Adjust vect_get_slp_defs callers.
296
ba96cdfb
JG
2972013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
298
299 * config/aarch64/aarch64.c
300 (aarch64_float_const_representable): Remove unused variable.
301
6f549691
JG
3022013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
303
304 * config/aarch64/aarch64.c (aarch64_mangle_type): Make static.
305
af55e82d
JG
3062013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
307
308 * config/aarch64/aarch64-builtins.c
309 (aarch64_init_simd_builtins): Make static.
310
1df3f464
JG
3112013-02-28 James Greenhalgh <james.greenhalgh@arm.com>
312
313 * config/aarch64/aarch64.c
314 (aarch64_simd_make_constant): Make static.
315
f8f42513
MJ
3162013-02-28 Martin Jambor <mjambor@suse.cz>
317
318 * tree-sra.c (load_assign_lhs_subreplacements): Do not put replacements
319 with no initialization to the RHS of debug statements.
320
b48b3fc4
MJ
3212013-02-28 Martin Jambor <mjambor@suse.cz>
322
323 PR tree-optimization/56294
324 * tree-sra.c (analyze_access_subtree): Create replacement declarations.
325 Adjust dumping.
326 (get_access_replacement): Do not call create_access_replacement.
327 Assert a replacement exists.
328 (get_repl_default_def_ssa_name): Create the replacement declaration
329 itself.
330
c3ae224c
RR
3312013-02-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
332
333 * config/arm/arm.c (arm_output_mi_thunk): Call final_start_function and
334 final_end_function.
335
45fa0eef
MP
3362013-02-28 Marek Polacek <polacek@redhat.com>
337
338 PR rtl-optimization/56466
339 * loop-unroll.c (unroll_and_peel_loops): Call fix_loop_structure
340 if we're changing a loop.
341 (peel_loops_completely): Likewise.
342
502c067d
PC
3432013-02-28 Paolo Carlini <paolo.carlini@oracle.com>
344
345 PR c++/55813
346 * doc/invoke.texi ([-Wctor-dtor-privacy]): Complete.
347
ff24afc8
GJL
3482013-02-28 Georg-Johann Lay <avr@gjlay.de>
349
350 PR target/56445
351 * config/avr/avr.c (avr_init_builtins): Use 'n' instead of empty
352 macro parameters with: FX_FTYPE_FX, FX_FTYPE_FX_INT, INT_FTYPE_FX,
353 INTX_FTYPE_FX, FX_FTYPE_INTX.
354 * config/avr/builtins.def: Adjust respective DEF_BUILTIN.
355
c7b1fc1b
GJL
3562013-02-28 Georg-Johann Lay <avr@gjlay.de>
357
358 * avr/avr-mcus.def (ata5272, ata5505, attiny1634, ata6285)
359 (ata6286, atmega8a, atmega48pa, ata5790, ata5790n, ata5795)
360 (atmega164pa, atmega165pa, atmega168pa, atmega16hva, atmega16hvb)
361 (atmega16hvbrevb, atmega16m1, atmega16u4, atmega26hvg, atmega32a)
362 (atmega32a, atmega3250pa, atmega3290pa, atmega32c1, atmega32m1)
363 (atmega32u4, atmega32u6, atmega64a, atmega6490a, atmega6490p)
364 (atmega64c1, atmega64m1, atmega64rfa2, atmega64rfr2, atmega32hvb)
365 (atmega32hvbrevb, atmega16hva2, atmega48hvf, at90pwm161)
366 (atmega128a, atmega1284, atmxt112sl, atmxt224, atmxt224e)
367 (atmxt336s, atxmega16a4u, atxmega16c4, atxmega32a4u, atxmega32c4)
368 (atxmega32e5, atxmega64a3u, atxmega64a4u, atxmega64b1, atxmega64b3)
369 (atxmega64c3, atxmega64d4, atxmega128a3u, atxmega128b1)
370 (atxmega128b3, atxmega128c3, atxmega128d4, atmxt540s, atmxt540sreva)
371 (atxmega192a3u, atxmega192c3, atxmega256a3u, atxmega256c3)
372 (atxmega384c3, atxmega384d3, atxmega128a4u): New AVR_MCU.
373 (avrxmega6): Increase max flash segments from 5 to 6.
374 * config/avr/t-multilib: Regenerate.
375 * config/avr/avr-tables.opt: Regenerate.
376 * doc/avr-mmcu.texi: Regenerate.
377
4a0e3cfe
GJL
3782013-02-28 Georg-Johann Lay <avr@gjlay.de>
379
380 * config/avr/avr.h (device_to_arch): Rename to device_to_ld.
381 (avr_device_to_arch): Rename to avr_device_to_ld.
382 (avr_device_to_as): New prototype.
383 (EXTRA_SPEC_FUNCTIONS): Add device_to_as.
384 (ASM_SPEC): Use device_to_as to get -mmcu= and -mno-skip-bug=.
385 * config/avr/driver-avr.c (avr_device_to_as): New.
386 (avr_device_to_arch): Rename to avr_device_to_ld.
387
97785e52
JJ
3882013-02-27 Jakub Jelinek <jakub@redhat.com>
389
3f292312
JJ
390 PR middle-end/56461
391 * tree-vect-data-refs.c (vect_permute_load_chain): Avoid using copy
392 method on dr_chain and result_chain.
393
a344216b
JJ
394 PR middle-end/56461
395 * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Call
396 pointer_set_destroy on not_executed_last_iteration.
397
f121ad02
JJ
398 PR middle-end/56461
399 * tree-vect-loop.c (vectorizable_reduction): Release vect_defs
400 vector.
401
307f83a3
JJ
402 PR middle-end/56461
403 * ipa-pure-const.c (propagate): Use FOR_EACH_FUNCTION instead of
404 FOR_EACH_DEFINED_FUNCTION when freeing state.
405
e19624ee
JJ
406 PR middle-end/56461
407 * df-scan.c (df_insn_delete): Use df_scan_free_mws_vec before
408 pool_free.
409 (df_insn_rescan_debug_internal): Use df_scan_free_mws_vec before
410 overwriting it.
411
90e709fd
JJ
412 PR middle-end/56461
413 * ipa-cp.c (decide_whether_version_node): Call vec_free on
414 known_aggs[i].items and release known_aggs vector.
415
97785e52
JJ
416 PR middle-end/56461
417 * ipa-reference.c (propagate): Free node_info even for alias nodes.
418
4192013-02-27 Edgar E. Iglesias <edgar.iglesias@gmail.com>
bbb3a9e2 420
97785e52
JJ
421 * config/microblaze/microblaze.c (microblaze_emit_compare):
422 Use xor for EQ/NE comparisions.
423 * config/microblaze/microblaze.md (cstoresf4): Add constraints
424 (cbranchsf4): Adjust operator to comparison_operator.
bbb3a9e2 425
6fa5e0ed
JJ
4262013-02-27 Jakub Jelinek <jakub@redhat.com>
427
428 PR middle-end/56461
429 * tree-flow.h (edge_var_map_vector): Change into va_heap, vl_embed
430 vector.
431 * tree-ssa.c (redirect_edge_var_map_add): Use vec_safe_reserve and
432 vec_safe_push, always update *slot.
433 (redirect_edge_var_map_clear): Use vec_free.
434 (redirect_edge_var_map_dup): Use vec_safe_copy and vec_safe_reserve.
435 (free_var_map_entry): Use vec_free.
436 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Use
437 FOR_EACH_VEC_SAFE_ELT instead of FOR_EACH_VEC_ELT.
438
436a956a
AB
4392013-02-27 Andrey Belevantsev <abel@ispras.ru>
440
441 PR middle-end/45472
436a956a
AB
442 * sel-sched-ir.c (merge_expr): Also change vinsn of merged expr
443 when the may_trap_p bit of the exprs being merged differs.
436a956a
AB
444 Reorder tests for speculativeness in the logical and operator.
445
f5c2caca
JJ
4462013-02-27 Jakub Jelinek <jakub@redhat.com>
447
0fcb564b
JJ
448 * incpath.c (add_standard_paths): Use reconcat instead of concat
449 where appropriate and avoid leaking memory.
450
dc357798
JJ
451 * opts.h: Include obstack.h.
452 (opts_concat): New prototype.
453 (opts_obstack): New declaration.
454 * opts.c (opts_concat): New function.
455 (opts_obstack): New variable.
456 (init_options_struct): Call gcc_init_obstack on opts_obstack.
457 (finish_options): Use opts_concat instead of concat
458 and XOBNEWVEC instead of XNEWVEC.
459 * opts-common.c (generate_canonical_option, decode_cmdline_option,
460 generate_option): Likewise.
461 * Makefile.in (OPTS_H): Depend on $(OBSTACK_H).
462 * lto-wrapper.c (main): Call gcc_init_obstack on opts_obstack.
463
f5c2caca
JJ
464 PR target/56455
465 * stmt.c (expand_switch_as_decision_tree_p): If flag_pic
466 and ASM_OUTPUT_ADDR_DIFF_ELT isn't defined, return true.
467
d0163673
JJ
4682013-02-26 Jakub Jelinek <jakub@redhat.com>
469
470 PR middle-end/56461
471 * lra-spills.c (lra_spill): Free spill_hard_reg at the end.
472
b5ad2b8e
JR
4732013-02-26 Joern Rennecke <joern.rennecke@embecosm.com>
474
475 * config/arm/arm.c (const_ok_for_dimode_op): Back out last change.
476 (arm_block_move_unaligned_straight): Likewise.
477 (arm_adjust_block_mem): Likewise.
478
9b639e2c
JR
4792013-02-26 Joern Rennecke <joern.rennecke@embecosm.com>
480
481 PR target/48901
482 * config/lm32/lm32.c (gen_int_relational): Remove unused variables
483 temp, cond and label.
484 * config/lm32/lm32.md (ashlsi3): Remove unused variable one.
485
e13a0ccb
JR
486 PR target/52500
487 * config/c6x/c6x.c (dbx_register_map): Change to unsigned.
488 * config/c6x/c6x.h (dbx_register_map): Update declaration.
489
fbe4f171
JR
490 PR target/52501
491 * config/cr16/cr16-protos.h: Move end of RTX_CODE guard below end
492 of prologue/epilogue functions.
493
ae006543
JR
494 PR target/52550
495 * config/tilegx/tilegx.c (tilegx_expand_prologue):
496 Remove unused variable cfa_offset.
497 * config/tilepro/tilepro.c (tilepro_expand_prologue): Likewise.
498
c81369fa
JR
499 PR target/54639
500 * config/mn10300/mn10300.c (mn10300_expand_epilogue): Avoid offset
501 type promotion to unsigned.
502
f8a8fea7
JR
503 PR target/54640
504 * config/arm/arm.c (const_ok_for_dimode_op): Make code consistent
505 for HOST_WIDE_INT of 32 bit / same size as int.
506 (arm_block_move_unaligned_straight): Likewise.
507 (arm_adjust_block_mem): Likewise.
508
f8be5169
JR
509 PR target/54662
510 * config/mep/t-mep (mep-pragma.o): Use ALL_COMPILERFLAGS instead of
511 ALL_CFLAGS.
512
f1ad3354
MP
5132013-02-26 Marek Polacek <polacek@redhat.com>
514
515 PR tree-optimization/56426
516 * tree-ssa-loop.c (tree_ssa_loop_init): Always call
517 scev_initialize.
518
a6af0f42
RB
5192013-02-26 Richard Biener <rguenther@suse.de>
520
521 PR target/56444
522 * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc): Remove
523 unused variable loops.
524
aca43c6c
JJ
5252013-02-26 Jakub Jelinek <jakub@redhat.com>
526
cecbe5d9
JJ
527 PR tree-optimization/56448
528 * fold-const.c (operand_equal_p) <case tcc_reference>: Don't look at
529 TREE_SIDE_EFFECTS if flags contain OEP_CONSTANT_ADDRESS_OF.
530 Clear OEP_CONSTANT_ADDRESS_OF from flags before recursing on second or
531 later operands of the references, or even first operand for
532 INDIRECT_REF, TARGET_MEM_REF or MEM_REF.
533
aca43c6c
JJ
534 PR tree-optimization/56443
535 * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For
536 overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument
537 to type_for_mode langhook.
538
53e2e141
MT
5392013-02-25 Matt Turner <mattst88@gmail.com>
540
541 * doc/invoke.texi: Document r4700.
542
259ee451
RB
5432013-02-25 Richard Biener <rguenther@suse.de>
544
545 PR tree-optimization/56175
546 * tree-ssa-forwprop.c (hoist_conversion_for_bitop_p): New predicate,
547 split out from ...
548 (simplify_bitwise_binary): ... here. Also guard the conversion
549 of (type) X op CST to (type) (X op ((type-x) CST)) with it.
550
6d65e8f1
CM
5512013-02-25 Catherine Moore <clm@codesourcery.com>
552
553 Revert:
554 2013-02-24 Catherine Moore <clm@codesourcery.com>
555 Maciej W. Rozycki <macro@codesourcery.com>
556 Tom de Vries <tom@codesourcery.com>
557 Nathan Sidwell <nathan@codesourcery.com>
558 Iain Sandoe <iain@codesourcery.com>
559 Nathan Froyd <froydnj@codesourcery.com>
560 Chao-ying Fu <fu@mips.com>
561 * doc/extend.texi: (micromips, nomicromips, nocompression):
562 Document new function attributes.
563 * doc/invoke.texi (minterlink-compressed, mmicromips,
564 m14k, m14ke, m14kec): Document new options.
565 (minterlink-mips16): Update documentation.
566 * doc/md.texi (ZC, ZD): Document new constraints.
567 * configure.ac (gcc_cv_as_micromips): Check if linker
568 supports the .set micromips directive.
569 * configure: Regenerate.
570 * config.in: Regenerate.
571 * config/mips/mips-tables.opt: Regenerate.
572 * config/mips/micromips.md: New file.
573 * constraints.md (ZC, AD): New constraints.
574 * config/mips/predicates.md (movep_src_register): New predicate.
575 (movep_src_operand): New predicate.
576 (non_volatile_mem_operand): New predicate.
577 * config/mips/mips.md (multimem): New type.
578 (length): Differentiate between 17-bit and 18-bit branch offsets.
579 (MOVEP1, MOVEP2): New mode iterator.
580 (mov_<load>l): Use ZC constraint.
581 (mov_<load>r): Likewise.
582 (mov_<store>l): Likewise.
583 (mov_<store>r): Likewise.
584 (*branch_equality<mode>_inverted): Add microMIPS support.
585 (*branch_equality<mode>): Likewise.
586 (*jump_absolute): Likewise.
587 (indirect_jump_<mode>): Likewise.
588 (tablejump_<mode>): Likewise.
589 (<optab>_internal): Likewise.
590 (sibcall_internal): Likewise.
591 (sibcall_value_internal): Likewise.
592 (prefetch): Use constraint ZD.
593 * config/mips/mips.opt (minterlink-compressed): New option.
594 (minterlink-mips16): Now an alias for minterlink-compressed.
595 (mmicromips): New option.
596 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
597 (compare_and_swap_12): Likewise.
598 (sync_add<mode>): Likewise.
599 (sync_<optab>_12): Likewise.
600 (sync_old_<optab>_12): Likewise.
601 (sync_new_<optab>_12): Likewise.
602 (sync_nand_12): Likewise.
603 (sync_old_nand_12): Likewise.
604 (sync_new_nand_12): Likewise.
605 (sync_sub<mode>): Likewise.
606 (sync_old_add<mode>): Likewise.
607 (sync_old_sub<mode>): Likewise.
608 (sync_new_add<mode>): Likewise.
609 (sync_new_sub<mode>): Likewise.
610 (sync_<optab><mode>): Likewise.
611 (sync_old_<optab><mode>): Likewise.
612 (sync_new_<optab><mode>): Likewise.
613 (sync_nand<mode>): Likewise.
614 (sync_old_nand<mode>): Likewise.
615 (sync_new_nand<mode>): Likewise.
616 (sync_lock_test_and_set<mode>): Likewise.
617 (test_and_set_12): Likewise.
618 (atomic_compare_and_swap<mode>): Likewise.
619 (atomic_exchange<mode>_llsc): Likewise.
620 (atomic_fetch_add<mode>_llsc): Likewise.
621 * config/mips/mips-cpus.def (m14kc, m14k): New processors.
622 * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
623 (umips_save_restore_pattern_p): Likewise.
624 (umips_load_store_pair_p): Likewise.
625 (umips_output_load_store_pair): Likewise.
626 (umips_movep_target_p): Likewise.
627 (umips_12bit_offset_address_p): Likewise.
628 * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
629 (mips_base_mips16): Rename this...
630 (mips_base_compression_flags): ...to this. Update all uses.
631 (mips_attribute_table): Add micromips, nomicromips and nocompression.
632 (mips_mips16_decl_p): Delete.
633 (mips_nomips16_decl_p): Delete.
634 (mips_get_compress_on_flags): New function.
635 (mips_get_compress_off_flags): New function.
636 (mips_get_compress_mode): New function.
637 (mips_get_compress_on_name): New function.
638 (mips_get_compress_off_name): New function.
639 (mips_insert_attributes): Support multiple compression types.
640 (mips_merge_decl_attributes): Likewise.
641 (umips_12bit_offset_address_p): New function.
642 (mips_start_function_definition): Emit .set micromips directive.
643 (mips_call_may_need_jalx_p): New function.
644 (mips_function_ok_for_sibcall): Add microMIPS support.
645 (mips_print_operand_punctuation): Support short delay slots and
646 compact jumps.
647 (umips_swm_mask, umips_swm_encoding): New.
648 (umips_build_save_restore): New function.
649 (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
650 (was_mips16_p): Remove.
651 (old_compression_mode): New.
652 (mips_set_compression_mode): New function.
653 (mips_set_current_function): Add microMIPS support.
654 (mips_option_override): Likewise.
655 (umips_save_restore_pattern_p): New function.
656 (umips_output_save_restore): New function.
657 (umips_load_store_pair_p_1): New function.
658 (umips_load_store_pair_p): New function.
659 (umips_output_load_store_pair_1): New function.
660 (umips_output_load_store_pair): New function.
661 (umips_movep_target_p) New function.
662 (mips_prepare_pch_save): Add microMIPS support.
663 * config/mips/mips.h (TARGET_COMPRESSION): New.
664 (TARGET_CPU_CPP_BUILTINS): Update macro
665 to use new compression flags and to support microMIPS.
666 (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
667 (MIPS_ARCH_FLOAT_SPEC): Likewise.
668 (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
669 (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
670 (ASM_SPEC): Support mmicromips and mno-micromips.
671 (M16STORE_REG_P): New macro.
672 (MIPS_CALL): Support TARGET_MICROMIPS.
673 (MICROMIPS_J): New macro.
674 (mips_base_mips16): Rename this...
675 (mips_base_compression_flags): ...to this.
676 (UMIPS_12BIT_OFFSET_P): New macro.
677 * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
678 (MULTILIB_DIRNAMES): Likewise.
679
5e5df392
TV
6802013-02-25 Tom de Vries <tom@codesourcery.com>
681
682 PR rtl-optimization/56131
683 * insn-notes.def (INSN_NOTE_BASIC_BLOCK): Update comment.
684 * cfgrtl.c (delete_insn): Don't reorder NOTE_INSN_DELETED_LABEL and
685 NOTE_INSN_BASIC_BLOCK if BLOCK_FOR_INSN == NULL.
686
3fdb53c1
TB
6872013-02-25 Tobias Burnus <burnus@net-b.de>
688
689 * doc/invoke.texi (-fsanitize=): Move from optimization
690 to debugging options.
691
ed358aea
AB
6922013-02-25 Andrey Belevantsev <abel@ispras.ru>
693
694 * sched-deps.c (sched_analyze_insn): Fix typo in comment.
695
f45e9053
AB
6962013-02-25 Andrey Belevantsev <abel@ispras.ru>
697 Alexander Monakov <amonakov@ispras.ru>
698
699 PR middle-end/56077
700 * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
701 flush pending lists also on non-jumps. Adjust comment.
702
6941b508
CM
7032013-02-24 Catherine Moore <clm@codesourcery.com>
704 Maciej W. Rozycki <macro@codesourcery.com>
705 Tom de Vries <tom@codesourcery.com>
706 Nathan Sidwell <nathan@codesourcery.com>
707 Iain Sandoe <iain@codesourcery.com>
708 Nathan Froyd <froydnj@codesourcery.com>
709 Chao-ying Fu <fu@mips.com>
710
711 * doc/extend.texi: (micromips, nomicromips, nocompression):
712 Document new function attributes.
713 * doc/invoke.texi (minterlink-compressed, mmicromips,
714 m14k, m14ke, m14kec): Document new options.
715 (minterlink-mips16): Update documentation.
716 * doc/md.texi (ZC, ZD): Document new constraints.
717 * configure.ac (gcc_cv_as_micromips): Check if linker
718 supports the .set micromips directive.
719 * configure: Regenerate.
720 * config.in: Regenerate.
721 * config/mips/mips-tables.opt: Regenerate.
722 * config/mips/micromips.md: New file.
723 * constraints.md (ZC, AD): New constraints.
724 * config/mips/predicates.md (movep_src_register): New predicate.
725 (movep_src_operand): New predicate.
726 (non_volatile_mem_operand): New predicate.
727 * config/mips/mips.md (multimem): New type.
728 (length): Differentiate between 17-bit and 18-bit branch offsets.
729 (MOVEP1, MOVEP2): New mode iterator.
3fdb53c1 730 (mov_<load>l): Use ZC constraint.
6941b508
CM
731 (mov_<load>r): Likewise.
732 (mov_<store>l): Likewise.
733 (mov_<store>r): Likewise.
734 (*branch_equality<mode>_inverted): Add microMIPS support.
735 (*branch_equality<mode>): Likewise.
736 (*jump_absolute): Likewise.
737 (indirect_jump_<mode>): Likewise.
738 (tablejump_<mode>): Likewise.
739 (<optab>_internal): Likewise.
740 (sibcall_internal): Likewise.
741 (sibcall_value_internal): Likewise.
742 (prefetch): Use constraint ZD.
743 * config/mips/mips.opt (minterlink-compressed): New option.
744 (minterlink-mips16): Now an alias for minterlink-compressed.
745 (mmicromips): New option.
746 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
747 (compare_and_swap_12): Likewise.
748 (sync_add<mode>): Likewise.
749 (sync_<optab>_12): Likewise.
750 (sync_old_<optab>_12): Likewise.
751 (sync_new_<optab>_12): Likewise.
752 (sync_nand_12): Likewise.
753 (sync_old_nand_12): Likewise.
754 (sync_new_nand_12): Likewise.
755 (sync_sub<mode>): Likewise.
756 (sync_old_add<mode>): Likewise.
757 (sync_old_sub<mode>): Likewise.
758 (sync_new_add<mode>): Likewise.
759 (sync_new_sub<mode>): Likewise.
760 (sync_<optab><mode>): Likewise.
761 (sync_old_<optab><mode>): Likewise.
762 (sync_new_<optab><mode>): Likewise.
763 (sync_nand<mode>): Likewise.
764 (sync_old_nand<mode>): Likewise.
765 (sync_new_nand<mode>): Likewise.
766 (sync_lock_test_and_set<mode>): Likewise.
767 (test_and_set_12): Likewise.
768 (atomic_compare_and_swap<mode>): Likewise.
769 (atomic_exchange<mode>_llsc): Likewise.
770 (atomic_fetch_add<mode>_llsc): Likewise.
771 * config/mips/mips-cpus.def (m14kc, m14k): New processors.
772 * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
773 (umips_save_restore_pattern_p): Likewise.
774 (umips_load_store_pair_p): Likewise.
775 (umips_output_load_store_pair): Likewise.
776 (umips_movep_target_p): Likewise.
777 (umips_12bit_offset_address_p): Likewise.
778 * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
779 (mips_base_mips16): Rename this...
780 (mips_base_compression_flags): ...to this. Update all uses.
781 (mips_attribute_table): Add micromips, nomicromips and nocompression.
782 (mips_mips16_decl_p): Delete.
783 (mips_nomips16_decl_p): Delete.
3fdb53c1 784 (mips_get_compress_on_flags): New function.
6941b508
CM
785 (mips_get_compress_off_flags): New function.
786 (mips_get_compress_mode): New function.
787 (mips_get_compress_on_name): New function.
788 (mips_get_compress_off_name): New function.
789 (mips_insert_attributes): Support multiple compression types.
790 (mips_merge_decl_attributes): Likewise.
791 (umips_12bit_offset_address_p): New function.
792 (mips_start_function_definition): Emit .set micromips directive.
793 (mips_call_may_need_jalx_p): New function.
794 (mips_function_ok_for_sibcall): Add microMIPS support.
795 (mips_print_operand_punctuation): Support short delay slots and
796 compact jumps.
797 (umips_swm_mask, umips_swm_encoding): New.
798 (umips_build_save_restore): New function.
799 (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
800 (was_mips16_p): Remove.
801 (old_compression_mode): New.
802 (mips_set_compression_mode): New function.
803 (mips_set_current_function): Add microMIPS support.
804 (mips_option_override): Likewise.
805 (umips_save_restore_pattern_p): New function.
806 (umips_output_save_restore): New function.
807 (umips_load_store_pair_p_1): New function.
808 (umips_load_store_pair_p): New function.
809 (umips_output_load_store_pair_1): New function.
810 (umips_output_load_store_pair): New function.
811 (umips_movep_target_p) New function.
812 (mips_prepare_pch_save): Add microMIPS support.
813 * config/mips/mips.h (TARGET_COMPRESSION): New.
814 (TARGET_CPU_CPP_BUILTINS): Update macro
815 to use new compression flags and to support microMIPS.
816 (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
817 (MIPS_ARCH_FLOAT_SPEC): Likewise.
818 (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
819 (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
820 (ASM_SPEC): Support mmicromips and mno-micromips.
821 (M16STORE_REG_P): New macro.
822 (MIPS_CALL): Support TARGET_MICROMIPS.
823 (MICROMIPS_J): New macro.
824 (mips_base_mips16): Rename this...
825 (mips_base_compression_flags): ...to this.
826 (UMIPS_12BIT_OFFSET_P): New macro.
827 * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
828 (MULTILIB_DIRNAMES): Likewise.
829
cdebbc6d
JJ
8302013-02-24 Jakub Jelinek <jakub@redhat.com>
831
832 PR target/52555
833 * target-globals.c (save_target_globals): For init_reg_sets and
834 target_reinit remporarily set this_fn_optabs to this_target_optabs.
835
18c63565
JG
8362013-02-22 James Grennahlgh <james.greenhalgh@arm.com>
837
838 * config/aarch64/aarch64-simd-builtins.def: Add copyright header.
839 * config/aarch64/t-aarch64
840 (aarch64-builtins.o): Depend on aarch64-simd-builtins.def.
841
2194f7a2
VM
8422013-02-22 Vladimir Makarov <vmakarov@redhat.com>
843
844 PR inline-asm/56148
845 * lra-constraints.c (process_alt_operands): Reload operand
846 conflicting with earlier clobber only if no more other conflicting
847 operands.
848
7d613735
JJ
8492013-02-22 Jakub Jelinek <jakub@redhat.com>
850
851 PR sanitizer/56393
852 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Link in libasan_preinit.o
853 if not linking a shared library.
854
ac8d93a7
SL
8552013-02-22 Seth LaForge <sethml@google.com>
856
857 * config.gcc (arm*-*-eabi*): Treat arm*eb as big-endian.
858
e0237780
GY
8592013-02-22 Greta Yorsh <Greta.Yorsh@arm.com>
860
3fdb53c1
TB
861 * config/arm/arm.md (split for extendsidi): Update condition.
862 (zero_extend<mode>di2,extend<mode>di2): Add an alternative.
863 * config/arm/iterators.md (qhs_extenddi_cstr): Likewise.
864 (qhs_zextenddi_cstr): Likewise.
e0237780 865
d7fde18c
JJ
8662013-02-21 Jakub Jelinek <jakub@redhat.com>
867
be63b77d
JJ
868 PR middle-end/56420
869 * expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Do subtraction in uhwi, to
870 avoid signed wrapping.
871 (expand_mult): Handle properly multiplication by
872 ((dword_type) -1) << (BITS_PER_WORD - 1). Improve multiplication by
873 ((dword_type) 1) << (BITS_PER_WORD - 1). Avoid undefined behavior
874 in the compiler if coeff is HOST_WIDE_INT_MIN.
875 (expand_divmod): Don't make ext_op1 static, change it's type to
876 uhwi. Avoid undefined behavior in -INTVAL (op1).
877
d7fde18c
JJ
878 PR rtl-optimization/50339
879 * lower-subreg.h (struct lower_subreg_choices): Add splitting_ashiftrt
880 field.
881 * lower-subreg.c (compute_splitting_shift): Handle ASHIFTRT.
882 (compute_costs): Call compute_splitting_shift also for ASHIFTRT
883 into splitting_ashiftrt field.
884 (find_decomposable_shift_zext, resolve_shift_zext): Handle also
885 ASHIFTRT.
886 (dump_choices): Fix up printing LSHIFTRT choices, print ASHIFTRT
887 choices.
888
6aad4455
AH
8892013-02-20 Aldy Hernandez <aldyh@redhat.com>
890
891 PR middle-end/56108
892 * trans-mem.c (execute_tm_mark): Do not expand transactions that
893 are sure to go irrevocable.
894
38fe784d
HPN
8952013-02-21 Hans-Peter Nilsson <hp@axis.com>
896
897 * doc/rtl.texi (vec_concat, vec_duplicate): Mention that
898 scalars are valid operands.
899
0fd44da3
MJ
9002013-02-21 Martin Jambor <mjambor@suse.cz>
901
902 PR tree-optimization/56310
903 * ipa-cp.c (agg_replacements_to_vector): New parameter index, copy
904 only matching indices and non-negative final offsets.
905 (intersect_aggregates_with_edge): Pass src_idx to
906 agg_replacements_to_vector. Pass src_idx insstead of index to
907 intersect_with_agg_replacements.
908
7a92038b
MJ
9092013-02-21 Martin Jambor <mjambor@suse.cz>
910
911 * ipa-cp.c (good_cloning_opportunity_p): Dump the real threshold
912 instead of hard-wired defaults.
913
c0da9c37
MR
9142013-02-21 Maciej W. Rozycki <macro@codesourcery.com>
915
916 * doc/invoke.texi (MIPS Options): Update documentation of the
917 floating-point multiply-accumulate instruction restrictions.
918
d247ea0c 9192013-02-21 Kostya Serebryany <kcc@google.com>
7df59255
KS
920
921 * config/i386/i386.c (ix86_asan_shadow_offset): Use 0x7fff8000 as
922 asan_shadow_offset on x86_64 linux.
923
22deefcb
RB
9242013-02-21 Richard Biener <rguenther@suse.de>
925
926 PR tree-optimization/56415
927 Revert
928 2013-02-11 Richard Biener <rguenther@suse.de>
929
930 PR tree-optimization/56273
931 * tree-vrp.c (simplify_cond_using_ranges): Disable for the
932 first VRP run.
933
7bcc6e75
JJ
9342013-02-21 Jakub Jelinek <jakub@redhat.com>
935
a0ad148f
JJ
936 PR bootstrap/56258
937 * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item
938 instead of @itemx.
939
7bcc6e75
JJ
940 PR inline-asm/56405
941 * expr.c (expand_expr_real_1) <case TARGET_MEM_REF, MEM_REF>: Don't
942 use movmisalign or extract_bit_field for EXPAND_MEMORY modifier.
943
a0a7b611
JH
9442013-02-20 Jan Hubicka <jh@suse.cz>
945
946 PR tree-optimization/56265
947 * ipa-prop.c (ipa_make_edge_direct_to_target): Fixup callgraph when target is
948 referenced for firs ttime.
949
c0e50f72
RB
9502013-02-20 Richard Biener <rguenther@suse.de>
951
952 * tree-call-cdce.c (tree_call_cdce): Do not remove unused locals.
953 * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise.
954 * tree-ssa-dce.c (perform_tree_ssa_dce): Likewise.
955 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do
956 not return anything.
957 (rename_ssa_copies): Do not remove unused locals.
958 * tree-ssa-ccp.c (do_ssa_ccp): Likewise.
959 * tree-ssanames.c (pass_release_ssa_names): Remove unused
960 locals first.
961 * passes.c (execute_function_todo): Do not schedule unused locals
962 removal if cleanup_tree_cfg did something.
963 * tree-ssa-live.c (remove_unused_locals): Dump statistics
964 about the number of removed locals.
965
a52ca739
RB
9662013-02-20 Richard Biener <rguenther@suse.de>
967
968 PR tree-optimization/56398
969 * tree-vect-loop-manip.c (adjust_debug_stmts): Skip
970 SSA default defs.
971
ec9c9d1b
MJ
9722013-02-20 Martin Jambor <mjambor@suse.cz>
973
974 PR tree-optimization/55334
975 * ipa-cp.c (initialize_node_lattices): Disable IPA-CP through and to
976 restricted pointers to arrays.
977
e91c8ed6
RB
9782013-02-20 Richard Biener <rguenther@suse.de>
979 Jakub Jelinek <jakub@redhat.com>
980
981 PR tree-optimization/56396
982 * tree-ssa-ccp.c (n_const_val): New static variable.
983 (get_value): Return NULL for SSA names we don't have a lattice
984 entry for.
985 (ccp_initialize): Initialize n_const_val.
986 * tree-ssa-copy.c (n_copy_of): New static variable.
987 (init_copy_prop): Initialize n_copy_of.
988 (get_value): Return NULL_TREE for SSA names we don't have a
989 lattice entry for.
990
3d916479
MJ
9912013-02-20 Martin Jambor <mjambor@suse.cz>
992
993 * ipa-cp.c (initialize_node_lattices): Fix dumping condition.
994
71a86758
RB
9952013-02-20 Richard Biener <rguenther@suse.de>
996
997 * genpreds.c (write_lookup_constraint): Do not compare first
998 letter of the constraint again.
999
79836a12
RB
10002013-02-20 Richard Biener <rguenther@suse.de>
1001
1002 * tree-ssa-loop-ivopts.c (alloc_use_cost_map): Use bitmap_count_bits
1003 and ceil_log2.
1004 (get_use_iv_cost): Terminate hashtable walk when coming across
1005 an empty entry.
1006
bbe4fb2c
IZ
10072013-02-20 Igor Zamyatin <igor.zamyatin@intel.com>
1008
1009 * config/i386/i386.c (initial_ix86_tune_features): Turn on fp
1010 reassociation for avx2 targets.
1011
c77f83d5 10122012-02-19 Edgar E. Iglesias <edgar.iglesias@gmail.com>
79836a12 1013
c77f83d5
EI
1014 * config/microblaze/microblaze.c: microblaze_has_clz = 0
1015 Add version check for v8.10.a to enable microblaze_has_clz
1016 * config/microblaze/microblaze.h: Add TARGET_HAS_CLZ as combined
1017 version and TARGET_PATTERN_COMPARE check
1018 * config/microblaze/microblaze.md: New clzsi2 instruction
3fdb53c1 1019
959434e6
EI
10202012-02-19 Edgar E. Iglesias <edgar.iglesias@gmail.com>
1021
1022 * config/microblaze/microblaze.md (call_value_intern): Check symbol is
1023 function before branching.
1024
242387fa
AB
10252012-02-19 Andrey Belevantsev <abel@ispras.ru>
1026
1027 * sel-sched-dump.c (dump_insn_rtx_flags): Explicitly set
1028 DUMP_INSN_RTX_UID.
1029 (dump_insn_rtx_1): Pass PATTERN (insn) to str_pattern_slim.
1030
b4979ab9
AB
10312012-02-19 Andrey Belevantsev <abel@ispras.ru>
1032
1033 PR middle-end/55889
1034
1035 * sel-sched.c: Include ira.h.
1036 (implicit_clobber_conflict_p): New function.
1037 (moveup_expr): Use it.
1038 * Makefile.in (sel-sched.o): Depend on ira.h.
1039
24d63016
RB
10402013-02-19 Richard Biener <rguenther@suse.de>
1041
1042 PR tree-optimization/56384
1043 * tree-ssa-sccvn.h (struct vn_phi_s): Add type member.
1044 (vn_hash_type): Split out from ...
1045 (vn_hash_constant_with_type): ... here.
1046 * tree-ssa-sccvn.c (vn_phi_compute_hash): Use vn_hash_type.
1047 (vn_phi_eq): Compare types from vn_phi_s structure.
1048 (vn_phi_lookup): Populate vn_phi_s type.
1049 (vn_phi_insert): Likewise.
1050
a475fd3d
JJ
10512013-02-19 Jakub Jelinek <jakub@redhat.com>
1052
47cc28f5
JJ
1053 PR tree-optimization/56350
1054 * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
1055 if haven't found reduction or nested cycle operand, rather than
1056 asserting we must find it.
1057
a475fd3d
JJ
1058 PR tree-optimization/56381
1059 * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
1060 to fold_build3.
1061
10622013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
1063 Jakub Jelinek <jakub@redhat.com>
1064
1065 PR target/52555
1066 * genopinit.c (raw_optab_handler): Use this_fn_optabs.
1067 (swap_optab_enable): Same.
1068 (init_all_optabs): Use argument instead of global.
1069 * tree.h (struct tree_optimization_option): New field
1070 target_optabs.
1071 * expr.h (init_all_optabs): Add argument to prototype.
1072 (TREE_OPTIMIZATION_OPTABS): New.
1073 (save_optabs_if_changed): Protoize.
1074 * optabs.h: Declare this_fn_optabs.
1075 * optabs.c (save_optabs_if_changed): New.
1076 Declare this_fn_optabs.
1077 (init_optabs): Add argument to init_all_optabs() call.
1078 * function.c (invoke_set_current_function_hook): Handle per
1079 function optabs.
1080 * function.h (struct function): New field optabs.
1081 * config/mips/mips.c (mips_set_mips16_mode): Handle when
1082 optimization_current_node has changed.
1083 * target-globals.h (save_target_globals_default_opts): Protoize.
1084 * target-globals.c (save_target_globals_default_opts): New.
1085
3f587ca3
JDA
10862013-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1087
1088 PR target/56347
1089 * config/pa/pa.c (pa_conditional_register_usage): On HP-UX, mark
1090 registers %fr12 and %fr12R as call used.
ceaca33e
JDA
1091
1092 PR target/56214
1093 * config/pa/predicates.md (base14_operand): Except for BLKmode, QImode
1094 and HImode, require all displacements to be an integer multiple of their
1095 mode size.
1096 * config/pa/pa.c (pa_legitimate_address_p): For REG+BASE addresses,
1097 only allow QImode and HImode when reload is in progress and strict is
1098 true. Likewise for symbolic addresses. Use base14_operand to check
1099 displacements in REG+BASE addresses.
1100
fe0b4796
RB
11012013-02-18 Richard Biener <rguenther@suse.de>
1102
1103 PR tree-optimization/56366
1104 * tree-vect-loop.c (get_initial_def_for_induction): Properly
1105 handle sign-conversion of outer-loop initial induction value.
1106
6aaf596b
RB
11072013-02-18 Richard Biener <rguenther@suse.de>
1108
73db8ff1 1109 PR middle-end/56349
6aaf596b
RB
1110 * cfghooks.c (merge_blocks): If we merge a latch into another
1111 block adjust references to it.
1112 * cfgloop.c (flow_loops_find): Reset latch before recomputing it.
1113 (verify_loop_structure): Verify that a recorded latch is in fact
1114 a latch.
1115
5e97dfb6
RB
11162013-02-18 Richard Biener <rguenther@suse.de>
1117
1118 PR tree-optimization/56321
1119 * tree-ssa-reassoc.c (propagate_op_to_single_use): Properly
1120 order SSA name release and virtual operand unlinking.
1121
825527e8
EI
11222013-02-17 Edgar E. Iglesias <edgar.iglesias@gmail.com>
1123
1124 * config/microblaze/microblaze.md (save_stack_block): Define.
1125 (restore_stack_block): Likewise.
1126
debd11d9
EI
11272013-02-16 Edgar E. Iglesias <edgar.iglesias@gmail.com>
1128
1129 * config/microblaze/linux.h (TARGET_SUPPORTS_PIC): Define as 1.
1130 * config/microblaze/microblaze.h (TARGET_SUPPORTS_PIC): Define as 1.
1131 * config/microblaze/microblaze.c (microblaze_option_override):
1132 Bail out early for PIC modes when target does not support PIC.
1133
8ec77be0
EI
11342013-02-16 Edgar E. Iglesias <edgar.iglesias@gmail.com>
1135
1136 * config/microblaze/microblaze.c (microblaze_asm_trampoline_template):
1137 Replace with a microblaze version.
1138 (microblaze_trampoline_init): Adapt for microblaze.
1139 * gcc/config/microblaze/microblaze.h (TRAMPOLINE_SIZE): Adapt for
1140 microblaze.
1141
b41288b3
JJ
11422013-02-16 Jakub Jelinek <jakub@redhat.com>
1143 Dodji Seketeli <dodji@redhat.com>
1144
1145 PR asan/56330
1146 * asan.c (get_mem_refs_of_builtin_call): White space and style
1147 cleanup.
1148 (instrument_mem_region_access): Do not forget to always put
1149 instrumentation of the of 'base' and 'base + len' in a "if (len !=
1150 0) statement, even for cases where either 'base' or 'base + len'
1151 are not instrumented -- because they have been previously
1152 instrumented. Simplify the logic by putting all the statements
1153 instrument 'base + len' inside a sequence, and then insert that
1154 sequence right before the current insertion point. Then, to
1155 instrument 'base + len', just get an iterator on that statement.
1156 And do not forget to update the pointer to iterator the function
1157 received as argument.
1158
47918951
VM
11592013-02-15 Vladimir Makarov <vmakarov@redhat.com>
1160
1161 PR rtl-optimization/56348
1162 * lra-assigns.c (reload_pseudo_compare_func): Prefer bigger pseudos.
1163
3fb7c699
SB
11642013-02-15 Steven Bosscher <steven@gcc.gnu.org>
1165
1166 * graph.c (start_graph_dump): Print dumpfile base as digraph label.
1167 (clean_graph_dump_file): Pass base to start_graph_dump.
1168
576fe41a
RH
11692013-02-14 Richard Henderson <rth@redhat.com>
1170
1171 PR target/55941
1172 * lower-subreg.c (simple_move): Check dest mode instead of src mode.
1173
bb3accfa
SB
11742013-02-14 Steven Bosscher <steven@gcc.gnu.org>
1175
1176 * collect2-aix.h: Define F_LOADONLY.
1177
03143140
RB
11782013-02-14 Richard Biener <rguenther@suse.de>
1179
1180 PR lto/50494
1181 * varasm.c (output_constant_def_1): Get the decl representing
1182 the constant as argument.
1183 (output_constant_def): Wrap output_constant_def_1.
1184 (make_decl_rtl): Use output_constant_def_1 with the decl
1185 representing the constant.
1186 (build_constant_desc): Optionally re-use a decl already
1187 representing the constant.
1188 (tree_output_constant_def): Adjust.
1189
8fb06726
DS
11902013-02-14 Dodji Seketeli <dodji@redhat.com>
1191
1192 Fix an asan crash
1193 * asan.c (instrument_builtin_call): Really put the length of the
1194 second source argument into src1_len.
1195
c4bfe8bf
JJ
11962013-02-13 Jakub Jelinek <jakub@redhat.com>
1197
1198 * asan.c (create_cond_insert_point): Add create_then_fallthru_edge
1199 argument. If it is false, don't create edge from then_bb to
1200 fallthru_bb.
1201 (insert_if_then_before_iter): Pass true to it.
1202 (build_check_stmt): Pass false to it.
1203 (transform_statements): Flush hash table only on extended basic
1204 block boundaries, rather than at the beginning of every bb.
1205 Don't flush hash table on nonfreeing_call_p calls.
1206 * tree-flow.h (nonfreeing_call_p): New prototype.
1207 * tree-ssa-phiopt.c (nonfreeing_call_p): No longer static.
1208
7afe2801
DM
12092013-02-13 David S. Miller <davem@davemloft.net>
1210
1211 * expmed.c (expand_shift_1): Only strip scalar integer subregs.
1212
70cc3288
VM
12132013-02-13 Vladimir Makarov <vmakarov@redhat.com>
1214
1215 PR target/56184
1216 * ira.c (max_regno_before_ira): Move from ...
1217 (ira): ... here.
1218 (fix_reg_equiv_init): Use max_regno_before_ira instead of
1219 vec_safe_length.
1220
6422242b
JJ
12212013-02-13 Jakub Jelinek <jakub@redhat.com>
1222
1223 * config/i386/i386.c (ix86_asan_shadow_offset): Revert last change.
1224
976a81ee
RB
12252013-02-13 Richard Biener <rguenther@suse.de>
1226
1227 PR lto/56295
1228 * gimple-streamer-out.c (output_gimple_stmt): Undo wrapping
1229 globals in MEM_REFs.
1230
c1874a87
RB
12312013-02-13 Richard Biener <rguenther@suse.de>
1232
1233 * loop-init.c (loop_optimizer_init): Clear loop state when
1234 re-initializing preserved loops.
1235 * loop-unswitch.c (unswitch_single_loop): Return whether
1236 we unswitched the loop. Do not verify loop state here.
1237 (unswitch_loops): When we unswitched a loop discover new
1238 loops.
1239
b4ab7d34
KS
12402013-02-13 Kostya Serebryany <kcc@google.com>
1241
1242 * config/i386/i386.c: Use 0x7fff8000 as asan_shadow_offset on x86_64
1243 linux.
1244 * sanitizer.def: Rename __asan_init to __asan_init_v1.
1245
bdcbe80c
DS
12462013-02-12 Dodji Seketeli <dodji@redhat.com>
1247
1248 Avoid instrumenting duplicated memory access in the same basic block
1249 * Makefile.in (asan.o): Add new dependency on hash-table.h
1250 * asan.c (struct asan_mem_ref, struct mem_ref_hasher): New types.
1251 (asan_mem_ref_init, asan_mem_ref_get_end, get_mem_ref_hash_table)
1252 (has_stmt_been_instrumented_p, empty_mem_ref_hash_table)
1253 (free_mem_ref_resources, has_mem_ref_been_instrumented)
1254 (has_stmt_been_instrumented_p, update_mem_ref_hash_table)
1255 (get_mem_ref_of_assignment): New functions.
1256 (get_mem_refs_of_builtin_call): Extract from
1257 instrument_builtin_call and tweak a little bit to make it fit with
1258 the new signature.
1259 (instrument_builtin_call): Use the new
1260 get_mem_refs_of_builtin_call. Use gimple_call_builtin_p instead
1261 of is_gimple_builtin_call.
1262 (instrument_derefs, instrument_mem_region_access): Insert the
1263 instrumented memory reference into the hash table.
1264 (maybe_instrument_assignment): Renamed instrument_assignment into
1265 this, and change it to advance the iterator when instrumentation
1266 actually happened and return true in that case. This makes it
1267 homogeneous with maybe_instrument_assignment, and thus give a
1268 chance to callers to be more 'regular'.
1269 (transform_statements): Clear the memory reference hash table
1270 whenever we enter a new BB, when we cross a function call, or when
1271 we are done transforming statements. Use
1272 maybe_instrument_assignment instead of instrumentation. No more
1273 need to special case maybe_instrument_assignment and advance the
1274 iterator after calling it; it's now handled just like
1275 maybe_instrument_call. Update comment.
1276
4861a1f7
RB
12772013-02-13 Richard Biener <rguenther@suse.de>
1278
1279 * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc):
1280 Fix loop discovery code.
1281
1c86bd80
VM
12822013-02-12 Vladimir Makarov <vmakarov@redhat.com>
1283
1284 PR inline-asm/56148
1285 * lra-constraints.c (process_alt_operands): Match early clobber
70cc3288 1286 operand with itself. Check conflicts with earlyclobber only if
1c86bd80
VM
1287 the operand is not reloaded. Prefer to reload conflicting operand
1288 if earlyclobber and matching operands are the same.
1289
7cbda518
RB
12902013-02-12 Richard Biener <rguenther@suse.de>
1291
1292 PR lto/56297
1293 * lto-streamer-out.c (write_symbol): Do not output symbols
1294 for hard register variables.
1295
e68a4ef6
GJL
12962013-02-12 Georg-Johann Lay <avr@gjlay.de>
1297
1298 PR target/54222
1299 * config/avr/avr-dimode.md (umulsidi3, mulsidi3): New expanders.
1300 (umulsidi3_insn, mulsidi3_insn): New insns.
1301
2597da22
CL
13022013-02-12 Christophe Lyon <christophe.lyon@linaro.org>
1303
1304 * config/arm/arm-protos.h (struct cpu_vec_costs): New struct type.
1305 (struct tune_params): Add vec_costs field.
1306 * config/arm/arm.c (arm_builtin_vectorization_cost)
1307 (arm_add_stmt_cost): New functions.
1308 (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST)
1309 (TARGET_VECTORIZE_ADD_STMT_COST): Define.
1310 (arm_default_vec_cost): New struct of type cpu_vec_costs.
1311 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
1312 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune)
1313 (arm_cortex_a15_tune, arm_cortex_a5_tune, arm_cortex_a9_tune)
1314 (arm_v6m_tune, arm_fa726te_tune): Define new vec_costs field.
1315
43320568
RB
13162013-02-12 Richard Biener <rguenther@suse.de>
1317
1318 PR lto/56295
1319 * gimple-streamer-in.c (input_gimple_stmt): Strip MEM_REFs off
1320 decls again if possible.
1321
a011aa39
RB
13222013-02-12 Richard Biener <rguenther@suse.de>
1323
1324 PR middle-end/56288
1325 * tree-ssa.c (verify_ssa_name): Fix check, move
1326 SSA_NAME_IN_FREE_LIST check up.
1327
6da26889
JJ
13282013-02-12 Jakub Jelinek <jakub@redhat.com>
1329 Steven Bosscher <steven@gcc.gnu.org>
1330
1331 PR rtl-optimization/56151
1332 * optabs.c (add_equal_note): Don't return 0 if target is a MEM,
1333 equal to op0 or op1, and last_insn pattern is CODE operation
1334 with MEM dest and one of the operands matches that MEM.
1335
f80e0faf
ST
13362013-02-11 Sriraman Tallam <tmsriramgoogle.com>
1337
1338 * doc/extend.texi: Document Function Multiversioning and "default"
1339 parameter string to target attribute.
1340 * config/i386/i386.c (get_builtin_code_for_version): Return 0 if
1341 target attribute parameter is "default".
1342 (ix86_compare_version_priority): Remove checks for target attribute.
1343 (ix86_mangle_function_version_assembler_name): Change error to sorry.
1344 Remove check for target attribute equal to NULL. Add assert.
1345 (ix86_generate_version_dispatcher_body): Change error to sorry.
1346
6c59ffd1
IS
13472013-02-11 Iain Sandoe <iain@codesourcery.com>
1348 Jack Howarth <howarth@bromo.med.uc.edu>
1349 Patrick Marlier <patrick.marlier@gmail.com>
1350
1351 PR libitm/55693
1352 * config/darwin.h: Replace ENDFILE_SPEC with TM_DESTRUCTOR and
1353 define ENDFILE_SPEC as TM_DESTRUCTOR.
1354 * config/i386/darwin.h (ENDFILE_SPEC): Use TM_DESTRUCTOR.
1355
6a52ccb3
AP
13562013-02-11 Alexander Potapenko <glider@google.com>
1357 Jack Howarth <howarth@bromo.med.uc.edu>
1358 Jakub Jelinek <jakub@redhat.com>
1359
1360 PR sanitizer/55617
1361 * config/darwin.c (cdtor_record): Rename ctor_record.
1362 (sort_cdtor_records): Rename sort_ctor_records.
1363 (finalize_dtors): New routine to sort destructors by
1364 priority before use in assemble_integer.
1365 (machopic_asm_out_destructor): Use finalize_dtors if needed.
1366
b63fe007
UB
13672013-02-11 Uros Bizjak <ubizjak@gmail.com>
1368
1369 PR rtl-optimization/56275
1370 * simplify-rtx.c (avoid_constant_pool_reference): Check that
1371 offset is non-negative and less than cmode size before
1372 calling simplify_subreg.
1373
8e89b5b5
RB
13742013-02-11 Richard Biener <rguenther@suse.de>
1375
1376 PR tree-optimization/56264
1377 * cfgloop.h (fix_loop_structure): Adjust prototype.
1378 * loop-init.c (fix_loop_structure): Return the number of
1379 newly discovered loops.
1380 * tree-cfgcleanup.c (repair_loop_structures): When new loops
1381 are discovered, do a full loop-closed SSA rewrite.
1382
b4a4b56d
RB
13832013-02-11 Richard Biener <rguenther@suse.de>
1384
1385 PR tree-optimization/56273
1386 * tree-vrp.c (simplify_cond_using_ranges): Disable for the
1387 first VRP run.
1388 (check_array_ref): Fix missing newline in dumps.
1389 (search_for_addr_array): Likewise.
1390
0c885229
DE
13912013-02-09 David Edelsohn <dje.gcc@gmail.com>
1392
1393 * config/rs6000/aix61.h (OS_MISSING_ALTIVEC): Undefine.
1394
59ac9a55
JJ
13952013-02-09 Jakub Jelinek <jakub@redhat.com>
1396
1397 PR target/56256
1398 * config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Define.
1399
25bb0bb5
VM
14002013-02-08 Vladimir Makarov <vmakarov@redhat.com>
1401
1402 PR rtl-optimization/56246
0c885229 1403 * lra-constraints.c (simplify_operand_subreg): Try to reuse
25bb0bb5
VM
1404 reload pseudo.
1405 * lra.c (lra): Clear lra_optional_reload_pseudos only when all
1406 constraints are satisfied.
1407
a698cc03
JL
14082013-02-08 Jeff Law <law@redhat.com>
1409
1410 PR debug/53948
1411 * emit-rtl.c (reg_is_parm_p): New function.
1412 * regs.h (reg_is_parm_p): New prototype.
1413 * ira-conflicts.c (ira_build_conflicts): Allow parameters in
1414 callee-clobbered registers.
1415
e1122ddd
MM
14162013-02-08 Michael Meissner <meissner@linux.vnet.ibm.com>
1417
1418 PR target/56043
1419 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
1420 If there is no implicit builtin declaration, just return NULL.
1421
19c5f6e6
UB
14222013-02-08 Uros Bizjak <ubizjak@gmail.com>
1423
1424 * config/i386/sse.md (FMAMODEM): New mode iterator.
1425 (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
1426 mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
1427
2480f2ca 14282013-02-08 Uros Bizjak <ubizjak@gmail.com>
76ef61fb 1429
2480f2ca
UB
1430 * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
1431 when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
1432 * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
1433
14342013-02-08 Edgar E. Iglesias <edgar.iglesias@gmail.com>
1435
1436 * config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT.
1437 (microblaze*-*-elf): Likewise.
1438 * config/microblaze/linux.h: Add -mbig-endian / -mlittle-endian to
1439 LINK_SPEC.
1440 * config/microblaze/microblaze-c.c: Add builtin defines for
1441 _LITTLE_ENDIAN and _BIG_ENDIAN.
1442 * config/microblaze/microblaze.h: Add TARGET_ENDIAN_DEFAULT and
1443 add to TARGET_DEFAULT flags.
76ef61fb 1444 Expand ASM_SPEC and LINK_SPEC.
2480f2ca
UB
1445 Update BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN.
1446 * config/microblaze/microblaze.md: Update extendsidi2 and
1447 movdi_internal instructions to use low-order / high-order reg
1448 print_operands.
1449 * config/microblaze/microblaze.opt: Add mbig-endian and mlittle-endian
1450 options and inversemask / mask of LITTLE_ENDIAN.
1451 * config/microblaze/t-microblaze: Expand multilib options to
1452 include mlittle-endian (le) and update exceptions patterns.
1453
600a5961
JJ
14542013-02-08 Jakub Jelinek <jakub@redhat.com>
1455
5df81313
JJ
1456 PR rtl-optimization/56195
1457 * lra-constraints.c (get_reload_reg): Don't reuse regs
1458 if they have smaller mode than requested, if they have
1459 wider mode than requested, try to return a SUBREG.
1460
600a5961
JJ
1461 PR tree-optimization/56250
1462 * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
1463 if type is unsigned and code isn't MULT_EXPR.
1464
ff544649
GJL
14652013-02-08 Georg-Johann Lay <avr@gjlay.de>
1466
1467 PR tree-optimization/56064
1468 * fixed-value.c (fixed_from_double_int): Sign/zero extend payload
1469 bits according to mode.
1470 * fixed-value.h (fixed_from_double_int)
1471 (const_fixed_from_double_int): Adjust comments.
1472
e45cde98
RB
14732013-02-08 Richard Biener <rguenther@suse.de>
1474
1475 PR lto/56231
1476 * lto-streamer.h (struct data_in): Remove current_file, current_line
1477 and current_col members.
1478 * lto-streamer-out.c (lto_output_location): Stream changed bits
1479 en-block for efficiency.
1480 * lto-streamer-in.c (clear_line_info): Remove.
1481 (lto_input_location): Cache current file, line and column
1482 globally via local statics. Read changed bits en-block.
1483 (input_function): Do not call clear_line_info.
1484 (lto_read_body): Likewise.
1485 (lto_input_toplevel_asms): Likewise.
1486
c1ca73d8
MM
14872013-02-08 Michael Matz <matz@suse.de>
1488
1489 PR tree-optimization/52448
1490 * tree-ssa-phiopt.c (struct name_to_bb): Add phase member.
1491 (nt_call_phase): New static.
1492 (add_or_mark_expr): Only mark accesses with newer phase than any
1493 call seen.
1494 (nonfreeing_call_p): New.
1495 (nt_init_block): Update nt_call_phase, mark blocks as visited.
1496 (nt_fini_block): Keep blocks marked as visited.
1497 (get_non_trapping): Initialize nt_call_phase, and reset aux pointer.
1498
57548aa2
RB
14992013-02-08 Richard Biener <rguenther@suse.de>
1500
1501 * ira.c (ira): Free broken dominator information.
1502
8e10366f
UB
15032013-02-08 Uros Bizjak <ubizjak@gmail.com>
1504
1505 * config/i386/i386.c (ix86_spill_class): Use INTEGER_CLASS_P macro.
1506
f64fb0fa
MP
15072013-02-08 Marek Polacek <polacek@redhat.com>
1508
8e10366f 1509 * cfgloop.c (verify_loop_structure): Add more checking of headers.
f64fb0fa 1510
0375167b
RB
15112013-02-08 Richard Biener <rguenther@suse.de>
1512
1513 PR middle-end/56181
1514 * cfgloop.h (flow_loops_find): Adjust.
1515 (bb_loop_header_p): Declare.
1516 * cfgloop.c (bb_loop_header_p): New function split out from ...
1517 (flow_loops_find): ... here. Adjust function signature,
1518 support incremental loop structure update.
1519 (verify_loop_structure): Cleanup. Verify a loop is a loop.
1520 * cfgloopmanip.c (fix_loop_structure): Move ...
1521 * loop-init.c (fix_loop_structure): ... here.
1522 (apply_loop_flags): Split out from ...
1523 (loop_optimizer_init): ... here.
1524 (fix_loop_structure): Use apply_loop_flags. Use flow_loops_find
1525 in incremental mode, only remove dead loops here.
1526
85d768f3
GJL
15272013-02-08 Georg-Johann Lay <avr@gjlay.de>
1528
1529 PR target/54222
1530 * config/avr/avr.md (unspec) <UNSPEC_ROUND>: Add.
1531 * config/avr/avr-fixed.md (ALL4QA, ALL124QA): New mode iterators.
1532 (round<mode>3, round<mode>3_const): New expanders for fixed-mode.
1533 (*round<mode>3.libgcc): New insns for fixed-modes.
1534 * config/avr/builtins.def (ABSxx): Use a non-NULL LIBNAME.
1535 (ROUNDxx, COUNTLSxx, BITSxx, xxBITS): New DEF_BUILTINs.
1536 (ROUNDFX, COUNTLSFX, ABSFX): New DEF_BUILTINs.
1537 * config/avr/stdfix.h (absFX, bitsFX, FXbits): Remove inline
1538 implementations. Define to __builtin_avr_absFX,
1539 __builtin_avr_bitsFX, __builtin_avr_FXbits, respectively.
1540 (roundFX, countlsFX): Define to __builtin_avr_roundFX,
1541 __builtin_avr_countlsFX, respectively.
1542 * config/avr/avr-c.c (target.h): Include it.
1543 (enum avr_builtin_id): New enum.
1544 (avr_resolve_overloaded_builtin): New static function.
1545 (avr_register_target_pragmas): Use it to set
1546 targetm.resolve_overloaded_builtin.
1547 * config/avr/avr.c (avr_init_builtins): Supply myriads of local
1548 tree nodes used by DEF_BUILTIN.
1549 (avr_expand_builtin) <AVR_BUILTIN_ROUNDxx>: Sanity-check them.
1550 (avr_fold_builtin) <AVR_BUILTIN_BITSxx>: Fold to VIEW_COVERT_EXPR.
1551 <AVR_BUILTIN_xxBITS>: Same.
1552
661bc682
RB
15532013-02-08 Richard Biener <rguenther@suse.de>
1554
1555 * cfgloop.c (verify_loop_structure): Properly handle
1556 a loop exiting to another loop header.
1557 * ira-int.h (ira_loops): Remove.
1558 * ira.c (ira_loops): Remove.
1559 (ira): Use loop_optimizer_init and loop_optimizer_finalize.
1560 (do_reload): Use loop_optimizer_finalize.
1561 * ira-build.c (create_loop_tree_nodes): Use get_loops and
1562 number_of_loops to access the loop tree.
1563 (more_one_region_p): Likewise.
1564 (finish_loop_tree_nodes): Likewise.
1565 (rebuild_regno_allocno_maps): Likewise.
1566 (mark_loops_for_removal): Likewise.
1567 (mark_all_loops_for_removal): Likewise.
1568 (remove_unnecessary_regions): Likewise.
1569 (ira_build): Likewise.
1570 * ira-emit.c (setup_entered_from_non_parent_p): Likewise.
1571
0d5049b2
RB
15722013-02-08 Richard Biener <rguenther@suse.de>
1573
1574 * Makefile.in (tree-tailcall.o): Add $(CFGLOOP_H) dependency.
1575 * ipa-pure-const.c (analyze_function): Avoid calling
1576 mark_irreducible_loops twice.
8e10366f 1577 * tree-tailcall.c (tree_optimize_tail_calls_1): Mark loops for fixup.
0d5049b2 1578
499f32e8
DM
15792013-02-07 David S. Miller <davem@davemloft.net>
1580
1581 * dwarf2out.c (based_loc_descr): Perform leaf register remapping
1582 on 'reg'.
1583 * var-tracking.c (vt_add_function_parameter): Test the presence of
1584 HAVE_window_save properly and do not remap argument registers when
1585 we have a leaf function.
1586
6edc3e32
UB
15872013-02-07 Uros Bizjak <ubizjak@gmail.com>
1588
1589 PR bootstrap/56227
1590 * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
1591 instead of "ll".
1592 * config/i386/i386.c (ix86_print_operand): Ditto.
1593
5306401f
VM
15942013-02-07 Vladimir Makarov <vmakarov@redhat.com>
1595
6edc3e32 1596 * lra-constraints.c (process_alt_operands): Fix recently added comment.
5306401f 1597
027ece11
VM
15982013-02-07 Vladimir Makarov <vmakarov@redhat.com>
1599
1600 PR rtl-optimization/56225
1601 * lra-constraints.c (process_alt_operands): Check that reload hard
1602 reg can hold value for strict_low_part.
1603
f980dfdb
JJ
16042013-02-07 Jakub Jelinek <jakub@redhat.com>
1605
1606 PR debug/56154
1607 * dwarf2out.c (dwarf2_debug_hooks): Set end_function hook to
1608 dwarf2out_end_function.
1609 (in_first_function_p, maybe_at_text_label_p,
1610 first_loclabel_num_not_at_text_label): New variables.
1611 (dwarf2out_var_location): In the first function find out
6edc3e32 1612 lowest loclabel_num N where .LVLN is known not to be equal to .Ltext0.
f980dfdb
JJ
1613 (find_empty_loc_ranges_at_text_label, dwarf2out_end_function): New
1614 functions.
1615
73dd3123
EB
16162013-02-07 Eric Botcazou <ebotcazou@adacore.com>
1617
1618 PR rtl-optimization/56178
1619 * cse.c (cse_insn): Do not create a REG_EQUAL note if the source is a
1620 SUBREG of a register. Tidy up related block of code.
1621 * fwprop.c (forward_propagate_and_simplify): Do not create a REG_EQUAL
1622 note if the source is a register or a SUBREG of a register.
1623
e3936f47
JJ
16242013-02-07 Jakub Jelinek <jakub@redhat.com>
1625
1626 PR target/56228
1627 * config/rs6000/rs6000.md (ptrm): New mode attr.
1628 (call_indirect_aix<ptrsize>, call_indirect_aix<ptrsize>_nor11,
1629 call_value_indirect_aix<pttrsize>,
1630 call_value_indirect_aix<pttrsize>_nor11): Use <ptrm> instead of
1631 m in constraints.
1632
d96d674b
MH
16332013-02-07 Michael Haubenwallner <michael.haubenwallner@salomon.at>
1634
1635 * collect2.c (main): Set aix64_flag for -G and -bsvr4 too, disable
1636 if -bnortl. Convert to strcmp and strncmp.
1637
921f2dee
AM
16382013-02-07 Alan Modra <amodra@gmail.com>
1639
1640 PR target/54009
1641 * config/rs6000/rs6000.c (mem_operand_gpr): Check that LO_SUM
1642 addresses won't wrap when offsetting.
1643 (rs6000_secondary_reload): Provide secondary reloads needed for
1644 wrapping LO_SUM addresses.
1645
d09c7dba
TS
16462013-02-06 Thomas Schwinge <thomas@codesourcery.com>
1647
1648 * config/gnu.h (GNU_USER_TARGET_OS_CPP_BUILTINS): Never define
1649 MACH, just __MACH__.
1650
a44bbd48
RB
16512013-02-06 Richard Biener <rguenther@suse.de>
1652
1653 * tracer.c (tracer): Mark loops with LOOPS_NEED_FIXUP
1654 instead of calling fix_loop_structure.
1655
6d840d99
JJ
16562013-02-06 Jakub Jelinek <jakub@redhat.com>
1657
1658 PR middle-end/56217
1659 * omp-low.c (use_pointer_for_field): Return false if
1660 lower_send_shared_vars doesn't generate any copy-out code.
1661
0f33baa9
TV
16622013-02-06 Tom de Vries <tom@codesourcery.com>
1663
1664 PR rtl-optimization/56131
1665 * cfgrtl.c (delete_insn): Use NOTE_BASIC_BLOCK instead of BLOCK_FOR_INSN
1666 to get the bb of a NOTE_INSN_BASIC_BLOCK. Handle the case that the bb
1667 of the label is NULL. Add comment.
1668
11f1e3ab
JJ
16692013-02-05 Jakub Jelinek <jakub@redhat.com>
1670
31502f9f
JJ
1671 * tree.h (struct tree_decl_with_vis): Remove thread_local field.
1672
a74db9bd
JJ
1673 PR sanitizer/55374
1674 * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Define.
1675 (STATIC_LIBTSAN_LIBS): Likewise.
1676 * gcc.c (ADD_STATIC_LIBTSAN_LIBS, LIBTSAN_EARLY_SPEC): Define.
1677 (LIBTSAN_SPEC): Add ADD_STATIC_LIBTSAN_LIBS, if LIBTSAN_EARLY_SPEC
1678 is defined, don't add anything else beyond that.
1679 (SANITIZER_EARLY_SPEC, SANITIZER_SPEC): Define.
1680 (LINK_COMMAND_SPEC): Use them.
1681
11f1e3ab
JJ
1682 PR tree-optimization/56205
1683 * tree-stdarg.c (check_all_va_list_escapes): Return true if
1684 there are any PHI nodes that set non-va_list_escape_vars SSA_NAME
1685 and some va_list_escape_vars SSA_NAME appears in some PHI argument.
1686
14ac6aa2
RB
16872013-02-05 Richard Biener <rguenther@suse.de>
1688
1689 PR tree-optimization/53342
1690 PR tree-optimization/53185
1691 * tree-vectorizer.h (vect_check_strided_load): Remove.
1692 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do
1693 not disallow peeling for vectorized strided loads.
1694 (vect_check_strided_load): Make static and simplify.
1695 (vect_analyze_data_refs): Adjust.
1696 * tree-vect-stmts.c (vectorizable_load): Handle peeled loops
1697 correctly when vectorizing strided loads.
1698
6f22445a
RB
16992013-02-05 Richard Biener <rguenther@suse.de>
1700
1701 * doc/install.texi: Refer to ISL, not PPL.
1702
39f9719e
JH
17032013-02-05 Jan Hubicka <jh@suse.cz>
1704
ec4224ac
JH
1705 PR tree-optimization/55789
1706 * params.def (PARAM_EARLY_INLINER_MAX_ITERATIONS): Drop to 1.
1707
17082013-02-05 Jan Hubicka <jh@suse.cz>
1709
1710 PR tree-optimization/55789
39f9719e
JH
1711 * cgraphclones.c (cgraph_remove_node_and_inline_clones): Remove
1712 the dead call anyway.
1713
956d3b33
EB
17142013-02-05 Eric Botcazou <ebotcazou@adacore.com>
1715
1716 PR sanitizer/55374
1717 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Add missing guard.
1718
17192013-02-04 Alexander Potapenko <glider@google.com>
1720 Jack Howarth <howarth@bromo.med.uc.edu>
ae526fe5
AP
1721 Jakub Jelinek <jakub@redhat.com>
1722
1723 PR sanitizer/55617
1724 * config/darwin.c (sort_ctor_records): Stabilized qsort
1725 on constructor priority by using original position.
1726 (finalize_ctors): New routine to sort constructors by
1727 priority before use in assemble_integer.
1728 (machopic_asm_out_constructor): Use finalize_ctors if needed.
1729
7ac3af38
JJ
17302013-02-04 Jakub Jelinek <jakub@redhat.com>
1731
1732 PR libstdc++/54314
1733 * config/i386/winnt.c (i386_pe_assemble_visibility): Don't warn
1734 about visibility on artificial decls.
1735 * config/sol2.c (solaris_assemble_visibility): Likewise.
1736
152689dc
KT
17372013-02-04 Kai Tietz <ktietz@redhat.com>
1738
1739 PR target/56186
1740 * config/i386/i386.c (function_value_ms_64): Add additional valtype
1741 argument and improve checking of return-argument types for 16-byte
1742 modes.
1743 (ix86_function_value_1): Add additional valtype argument on call
1744 of function_value_64.
1745 (return_in_memory_ms_64): Sync 16-byte sized mode handling with
1746 handling infunction_value_64 function.
1747
2b5987b5
MGD
17482013-02-04 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1749
7ac3af38 1750 * reload.c (subst_reloads): Fix DEBUG_RELOAD build issue.
2b5987b5 1751
14597080
RB
17522013-02-04 Richard Biener <rguenther@suse.de>
1753
1754 PR tree-optimization/56188
1755 * tree-ssa-structalias.c (label_visit): Consider case with
1756 initially non-empty points-to set.
1757 (perform_var_substitution): Dump node mapping and clean up.
1758
ed73881e
RG
17592013-02-04 Richard Guenther <rguenther@suse.de>
1760
1761 PR lto/56168
1762 * lto-symtab.c (lto_symtab_merge_decls_1): Make non-builtin
1763 node prevail as last resort.
1764 (lto_symtab_merge_decls): Remove guard on LTRANS here.
6edc3e32 1765 (lto_symtab_prevailing_decl): Builtins are their own prevailing decl.
ed73881e 1766
139a0707
RB
17672013-02-04 Richard Biener <rguenther@suse.de>
1768
1769 PR tree-optimization/56113
1770 * tree-ssa-structalias.c (equiv_class_lookup, equiv_class_add):
1771 Merge into ...
1772 (equiv_class_lookup_or_add): ... this.
1773 (label_visit): Adjust and fix error in previous patch.
1774 (perform_var_substitution): Adjust.
1775
50fe8924
OE
17762013-02-03 Oleg Endo <olegendo@gcc.gnu.org>
1777
1778 * config/sh/divtab.c: Fix formatting and comments throughout the file.
1779 * config/sh/sh4-300.md: Likewise.
1780 * config/sh/sh4a.md: Likewise.
1781 * config/sh/constraints.md: Likewise.
1782 * config/sh/sh.md: Likewise.
1783 * config/sh/netbsd-elf.h: Likewise.
1784 * config/sh/predicates.md: Likewise.
1785 * config/sh/sh-protos.h: Likewise.
1786 * config/sh/ushmedia.h: Likewise.
1787 * config/sh/linux.h: Likewise.
1788 * config/sh/sh.c: Likewise.
1789 * config/sh/superh.h: Likewise.
1790 * config/sh/elf.h: Likewise.
1791 * config/sh/sh4.md: Likewise.
1792 * config/sh/sh.h: Likewise.
1793
1a04ac2b
JDA
17942013-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1795
1796 * config/pa/constraints.md: Adjust unused letters. Change "T"
1797 constraint to match_test floating_point_store_memory_operand().
1798 * config/pa/predicates.md (reg_plus_base_memory_operand): New.
1799 (base14_operand): New.
1800 (floating_point_store_memory_operand): New.
1801 (integer_store_memory_operand): Revise to use base14_operand and
1802 reg_plus_base_memory_operand.
1803 (move_dest_operand): Allow symbolic_memory_operands.
1804 (symbolic_memory_operand): Check for LO_SOM.
1805 (symbolic_operand): Change default case to break.
1806 * config/pa/pa.md: Remove unamed DFmode and SFmode patterns to force
1807 CONST_DOUBLE values to be reloaded by putting them into memory when
1808 the destination is a floating point register.
1809 (movdf): Remove code to handle CONST_DOUBLE.
1810 (movsf): Likewise.
1811 (reload_indf_r1): New.
1812 (reload_insf_r1): New.
1813 Consistently use "Q" and "T" constraints with integer and floating
1814 point move instructions, respectively.
1815 (movdi): Remove FAIL.
1816 Change predicate for source operand unamed DImode move from
1817 general_operand to move_src_operand.
1818 (umulsidi3): Change predicate for destination operand to
1819 register_operand.
1820 Likewise for similar unamed patterns.
1821 * config/pa/pa-protos.h (pa_legitimize_reload_address): Declare.
1822 * config/pa/pa.c (pa_symbolic_expression_p): Remove extra parenthesis.
1823 (hppa_legitimize_address): Simplify mask calculation.
1824 (pa_emit_move_sequence): Revised handling of secondary reloads from
1825 REG+D addresses for floating point loads and stores. Directly handle
1826 loading CONST0_RTX (mode) to a floating point register.
1827 (pa_secondary_reload): Handle reloading DF and SFmode constant values
1828 to floating point registers. Don't restrict secondary reloads to
1829 floating point registers to integer modes. Revise some comments and
1830 cleanup some code.
1831 (TARGET_LEGITIMATE_ADDRESS_P): Define.
1832 (pa_legitimate_address_p): New.
1833 (pa_legitimize_reload_address): New.
1834 * config/pa/pa.h (STRICT_REG_OK_FOR_INDEX_P): New.
1835 (STRICT_REG_OK_FOR_BASE_P): New.
1836 (GO_IF_LEGITIMATE_ADDRESS): Delete. Update some related comments.
1837 (LEGITIMIZE_RELOAD_ADDRESS): Revise to use pa_legitimize_reload_address.
1838
3bf65591
DE
18392013-02-03 David Edelsohn <dje.gcc@gmail.com>
1840 Andrew Dixie <andrewd@gentrack.com>
1841
1842 * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
1843 flag set.
1844
c0a8a3e6
RS
18452013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
1846
1847 * expmed.c (extract_bit_field_1): Pass the full width of the
1848 structure to get_best_reg_extraction_insn.
1849
99113dff
DE
18502013-02-01 David Edelsohn <dje.gcc@gmail.com>
1851
1852 PR target/54601
1853 * configure.ac (use_cxa_atexit): Add AIX.
1854 * configure: Regenerate.
1855
1856 * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtcxa.o.
1857
ddd84654
JJ
18582013-02-01 Jakub Jelinek <jakub@redhat.com>
1859
1860 PR debug/54793
1861 * final.c (need_profile_function): New variable.
1862 (final_start_function): Drop ATTRIBUTE_UNUSED from first argument.
1863 If first of NOTE_INSN_BASIC_BLOCK or NOTE_INSN_FUNCTION_BEG
1864 is only preceeded by NOTE_INSN_VAR_LOCATION or NOTE_INSN_DELETED
1865 notes, targetm.asm_out.function_prologue doesn't emit anything,
1866 HAVE_prologue and profiler should be emitted before prologue,
1867 set need_profile_function instead of emitting it.
1868 (final_scan_insn): If need_profile_function, emit
1869 profile_function on the first NOTE_INSN_BASIC_BLOCK or
1870 NOTE_INSN_FUNCTION_BEG note.
1871
18722013-02-01 Richard Henderson <rth@redhat.com>
749af8ee
RH
1873
1874 * config/rs6000/rs6000.md (smulditi3): New.
1875 (umulditi3): New.
1876
ff2a9d88
RH
1877 * config/alpha/alpha.md (umulditi3): New.
1878
14d52b90
DE
18792013-02-01 David Edelsohn <dje.gcc@gmail.com>
1880
1881 * config/rs6000/xcoff.h (ASM_OUTPUT_ALIGNED_COMMON): Use floor_log2.
1882 (ASM_OUTPUT_ALIGNED_LOCAL): New.
1883
8c7ca45c
RB
18842013-02-01 Richard Biener <rguenther@suse.de>
1885
1886 PR tree-optimization/56113
1887 * tree-ssa-structalias.c (label_visit): Reduce work for
1888 single-predecessor nodes.
1889
9f419393
EB
18902013-02-01 Eric Botcazou <ebotcazou@adacore.com>
1891
1892 * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
1893 range isn't testing for zero.
1894
c5f4be84
SB
18952013-01-31 Steven Bosscher <steven@gcc.gnu.org>
1896
1897 PR middle-end/56113
1898 * fwprop.c (fwprop_init): Set up loops without CFG modifications.
1899
dbdbd982
NC
19002013-01-31 Hiroyuki Ono <hiroyuki.ono.jc@renesas.com>
1901 Nick Clifton <nickc@redhat.com>
1902
1903 * config/v850/constraints.md (Q): Define as a memory constraint.
1904 * config/v850/predicates.md (label_ref_operand): New predicate.
1905 (e3v5_shift_operand): New predicate.
1906 (ior_operator): New predicate.
1907 * config/v850/t-v850: Add e3v5 multilib.
1908 * config/v850/v850-protos.h (v850_adjust_insn_length): Prototype.
1909 (v850_gen_movdi): Prototype.
1910 * config/v850/v850.c: Add support for e3v5 architecture.
1911 Rename all uses of TARGET_V850E || TARGET_V850E2_ALL to
1912 TARGET_V850E_UP.
1913 (construct_save_jarl): Add e3v5 long JARL support.
1914 (v850_adjust_insn_length): New function. Adjust length of call
1915 insns when using e3v5 instructions.
1916 (v850_gen_movdi): New function: Generate instructions to move a
1917 DImode value.
1918 * config/v850/v850.h (TARGET_CPU_v850e3v5): Define.
1919 (CPP_SPEC): Define __v850e3v5__ as appropriate.
1920 (TARGET_USE_FPU): Enable for e3v5.
1921 (CONST_OK_FOR_W): New macro.
1922 (ADJUST_INSN_LENGTH): Define.
1923 * config/v850/v850.md (UNSPEC_LOOP): Define.
1924 (attr cpu): Add v850e3v5.
1925 Rename all uses of TARGET_V850E2 to TARGET_V850E2V3_UP.
1926 (movdi): New pattern.
1927 (movdi_internal): New pattern.
1928 (cbranchsf4): Conditionalize on TARGET_USE_FPU.
1929 (cbranchdf4): Conditionalize on TARGET_USE_FPU.
1930 (cstoresf4): Likewise.
1931 (cstoredf4): Likewise.
1932 (insv): New pattern.
1933 (rotlso3_a): New pattern.
1934 (rotlsi3_b): New pattern
1935 (rotlsi3_v850e3v5): New pattern.
1936 (doloop_begin): New pattern.
1937 (fix_loop_counter): New pattern.
1938 (doloop_end): New pattern.
1939 (branch_normal): Add e3v5 long branch support.
1940 (branch_invert): Likewise.
1941 (branch_z_normal): Likewise.
1942 (branch_z_invert): Likewise.
1943 (branch_nz_normal): Likewise.
1944 (branch_nz_invert): Likewise.
1945 (call_internal_short): Add e3v5 register-indirect JARL support.
1946 (call_internal_long): Likewise.
1947 (call_value_internal_short): Likewise.
1948 (call_value_internal_long): Likewise.
1949 * config/v850/v850.opt (mv850e3v5, mv850e2v4): New options.
1950 (mloop): New option.
1951 * config.gcc: Add support for configuring v840e3v5 target.
6edc3e32 1952 * doc/invoke.texi: Document new v850 specific command line options.
dbdbd982 1953
73861a41
PK
19542013-01-31 Paul Koning <ni1d@arrl.net>
1955
1956 PR debug/55059
1957 PR debug/54508
1958 * dwarf2out.c (prune_unused_types_mark): Mark all of parent's
1959 children if parent is a class.
1960 (prune_unused_types_prune): Don't add DW_AT_declaration.
1961
e44978dc
RB
19622013-01-31 Richard Biener <rguenther@suse.de>
1963
1964 PR tree-optimization/56157
1965 * tree-vect-slp.c (vect_get_slp_defs): More thoroughly try to
1966 match up operand with SLP child.
1967
90b10dec
JM
19682013-01-31 Jason Merrill <jason@redhat.com>
1969
04d2dadd 1970 PR debug/54410
90b10dec
JM
1971 * dwarf2out.c (gen_struct_or_union_type_die): Always schedule template
1972 parameters the first time.
1973 (gen_scheduled_generic_parms_dies): Check completeness here.
1974
6e616110
RB
19752013-01-31 Richard Biener <rguenther@suse.de>
1976
1977 PR middle-end/53073
1978 * common.opt (faggressive-loop-optimizations): New flag,
1979 enabled by default.
1980 * doc/invoke.texi (faggressive-loop-optimizations): Document.
1981 * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Guard
1982 infer_loop_bounds_from_undefined by it.
1983
636f59cf
RB
19842013-01-31 Richard Biener <rguenther@suse.de>
1985
1986 PR tree-optimization/56150
1987 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Do not
1988 visit virtual operands.
1989 (find_uses_to_rename_bb): Likewise.
1990
19912013-01-31 Richard Biener <rguenther@suse.de>
fcfa87ac
RB
1992
1993 PR tree-optimization/56150
1994 * tree-ssa-tail-merge.c (gimple_equal_p): Properly handle
1995 mixed store non-store stmts.
1996
32887460
JJ
19972013-01-30 Jakub Jelinek <jakub@redhat.com>
1998
e60e09a0
JJ
1999 PR sanitizer/55374
2000 * gcc.c (LIBASAN_SPEC): Define just to ADD_STATIC_LIBASAN_LIBS if
2001 LIBASAN_EARLY_SPEC is defined.
2002 (LIBASAN_EARLY_SPEC): Define to empty string if not already defined.
2003 (LINK_COMMAND_SPEC): Add LIBASAN_EARLY_SPEC for -fsanitize=address,
2004 before %o.
2005 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Define.
2006
32887460
JJ
2007 PR c++/55742
2008 * config/i386/i386.c (ix86_valid_target_attribute_inner_p): Diagnose
2009 invalid args instead of ICEing on it.
2010 (ix86_valid_target_attribute_tree): Return error_mark_node if
2011 ix86_valid_target_attribute_inner_p failed.
2012 (ix86_valid_target_attribute_p): Return false only if
2013 ix86_valid_target_attribute_tree returned error_mark_node. Allow
2014 target("default") attribute.
2015 (sorted_attr_string): Change argument from const char * to tree,
2016 merge in all target attribute arguments rather than just one.
2017 Formatting fix. Use XNEWVEC instead of xmalloc and XDELETEVEC
2018 instead of free. Avoid using strcat.
2019 (ix86_mangle_function_version_assembler_name): Mangle
2020 target("default") as if no target attribute is present. Adjust
2021 sorted_attr_string caller. Avoid leaking memory. Use XNEWVEC
2022 instead of xmalloc and XDELETEVEC instead of free.
2023 (ix86_function_versions): Don't return true if one of the decls
2024 doesn't have target attribute. If they don't and one of the decls
2025 is DECL_FUNCTION_VERSIONED, report an error. Adjust
2026 sorted_attr_string caller. Use XDELETEVEC instead of free.
2027 (ix86_supports_function_versions): Remove.
2028 (make_name): Fix up formatting.
2029 (make_dispatcher_decl): Remove resolver_name and its initialization.
2030 Avoid leaking memory.
2031 (is_function_default_version): Return true if there is
2032 target("default") attribute rather than no target attribute at all.
2033 (make_resolver_func): Avoid leaking memory.
2034 (ix86_generate_version_dispatcher_body): Likewise.
2035 (TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS): Remove.
2036 * target.def (supports_function_versions): Remove.
2037 * doc/tm.texi.in (SUPPORTS_FUNCTION_VERSIONS): Remove.
2038 * doc/tm.texi: Regenerated.
2039
73cca0cc
VM
20402013-01-30 Vladimir Makarov <vmakarov@redhat.com>
2041
2042 PR rtl-optimization/56144
2043 * lra-constraints.c (get_reload_reg): Don't reuse reload pseudo
2044 for values with side effects.
2045
11452e7b
RB
20462013-01-30 Richard Biener <rguenther@suse.de>
2047
2048 * sparseset.h (sparseset_bit_p): Use gcc_checking_assert.
2049 (sparseset_pop): Likewise.
2050 * cfganal.c (compute_idf): Likewise. Increase work-stack size
2051 to be able to use quick_push in the worker loop.
2052
01cb1ef5
MP
20532013-01-30 Marek Polacek <polacek@redhat.com>
2054
2055 * cfgcleanup.c (cleanup_cfg): Don't mark affected BBs.
2056
e892936e
RB
20572013-01-30 Richard Biener <rguenther@suse.de>
2058
2059 PR lto/56147
6edc3e32 2060 * lto-symtab.c (lto_symtab_merge_decls_1): Guard DECL_BUILT_IN check.
e892936e 2061
cc06c01d
GJL
20622013-01-30 Georg-Johann Lay <avr@gjlay.de>
2063
2064 PR tree-optimization/56064
2065 * fixed-value.c (fixed_from_double_int): New function.
2066 * fixed-value.h (fixed_from_double_int): New prototype.
2067 (const_fixed_from_double_int): New static inline function.
2068 * fold-const.c (native_interpret_fixed): New static function.
2069 (native_interpret_expr) <FIXED_POINT_TYPE>: Use it.
2070 (can_native_interpret_type_p) <FIXED_POINT_TYPE>: Return true.
2071 (native_encode_fixed): New static function.
2072 (native_encode_expr) <FIXED_CST>: Use it.
2073 (native_interpret_int): Move double_int worker code to...
2074 * double-int.c (double_int::from_buffer): ...this new static method.
2075 * double-int.h (double_int::from_buffer): Prototype it.
2076
d394a308
RB
20772013-01-30 Richard Biener <rguenther@suse.de>
2078
2079 * tree-ssa-structalias.c (final_solutions, final_solutions_obstack):
2080 New pointer-map and obstack.
2081 (init_alias_vars): Allocate pointer-map and obstack.
2082 (delete_points_to_sets): Free them.
2083 (find_what_var_points_to): Cache result.
2084 (find_what_p_points_to): Adjust for changed interface of
2085 find_what_var_points_to.
2086 (compute_points_to_sets): Likewise.
2087 (ipa_pta_execute): Likewise.
2088
20804d96
RO
20892013-01-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2090
2091 * configure.ac (HAVE_AS_SPARC_NOBITS): New test.
2092 * configure: Regenerate.
2093 * config.in: Regenerate.
2094 * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Emit
2095 #nobits/#progbits if supported.
2096
a7ad88a2
OE
20972013-01-29 Oleg Endo <olegendo@gcc.gnu.org>
2098
2099 PR target/56121
2100 * config/sh/sh.md (bclr_m2a, bset_m2a, bst_m2a, bld_m2a, bldsign_m2a,
2101 bld_reg, *bld_regqi, band_m2a, bandreg_m2a, bor_m2a, borreg_m2a,
2102 bxor_m2a, bxorreg_m2a): Add satisfies_constraint_K03 condition.
2103
7af79f92
GY
21042013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
2105
91bfca59
OE
2106 * config/arm/cortex-a7.md (cortex_a7_neon, cortex_a7_all): Remove.
2107 (cortex_a7_idiv): Use cortex_a7_both instead of cortex_a7_all.
7af79f92 2108
753bcf7b
GY
21092013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
2110
91bfca59
OE
2111 * config/arm/arm.c (cortexa7_younger): Return true for TYPE_CALL.
2112 * config/arm/cortex-a7.md (cortex_a7_call): Update required units.
753bcf7b 2113
8cbc2ea8
GY
21142013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
2115
91bfca59
OE
2116 * config/arm/arm-protos.h (arm_mac_accumulator_is_result): New
2117 declaration.
2118 * config/arm/arm.c (arm_mac_accumulator_is_result): New function.
2119 * config/arm/cortex-a7.md: New bypasses using
2120 arm_mac_accumulator_is_result.
8cbc2ea8 2121
697a3325
GY
21222013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
2123
91bfca59 2124 * config/arm/cortex-a7.md (cortex_a7_neon_mul): New reservation.
697a3325 2125 (cortex_a7_neon_mla): Likewise.
91bfca59
OE
2126 (cortex_a7_fpfmad): New reservation.
2127 (cortex_a7_fpmacs): Use ffmas and update required units.
2128 (cortex_a7_fpmuld): Update required units and latency.
2129 (cortex_a7_fpmacd): Likewise.
2130 (cortex_a7_fdivs, cortex_a7_fdivd): Likewise.
2131 (cortex_a7_neon). Likewise.
2132 (bypass) Update participating units.
697a3325 2133
29637783
GY
21342013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
2135
91bfca59
OE
2136 * config/arm/arm.md (type): Add ffmas and ffmad to "type" attribute.
2137 * config/arm/vfp.md (fma,fmsub,fnmsub,fnmadd): Change type
2138 from fmac to ffma.
2139 * config/arm/vfp11.md (vfp_farith): Use ffmas.
2140 (vfp_fmul): Use ffmad.
2141 * config/arm/cortex-r4f.md (cortex_r4_fmacs): Use ffmas.
2142 (cortex_r4_fmacd): Use ffmad.
2143 * config/arm/cortex-m4-fpu.md (cortex_m4_fmacs): Use ffmas.
2144 * config/arm/cortex-a9.md (cortex_a9_fmacs): Use ffmas.
2145 (cortex_a9_fmacd): Use ffmad.
2146 * config/arm/cortex-a8-neon.md (cortex_a8_vfp_macs): Use ffmas.
2147 (cortex_a8_vfp_macd): Use ffmad.
2148 * config/arm/cortex-a5.md (cortex_a5_fpmacs): Use ffmas.
2149 (cortex_a5_fpmacd): Use ffmad.
2150 * config/arm/cortex-a15-neon.md (cortex_a15_vfp_macs) Use ffmas.
2151 (cortex_a15_vfp_macd): Use ffmad.
2152 * config/arm/arm1020e.md (v10_fmul): Use ffmas and ffmad.
29637783 2153
2ee8a2d5
JM
21542013-01-29 Jason Merrill <jason@redhat.com>
2155
2156 PR libstdc++/54314
2157 * varasm.c (default_assemble_visibility): Don't warn about
2158 visibility on artificial decls.
2159
78d087bc
RB
21602013-01-29 Richard Biener <rguenther@suse.de>
2161
2162 PR tree-optimization/56113
2163 * tree-ssa-structalias.c (equiv_class_lookup): Also return
2164 the bitmap leader.
2165 (label_visit): Free duplicate bitmaps and record the leader instead.
2166 (perform_var_substitution): Adjust.
2167
83ba4d6f
RB
21682013-01-29 Richard Biener <rguenther@suse.de>
2169
2170 PR tree-optimization/55270
2171 * tree-ssa-dom.c (eliminate_degenerate_phis): If we changed
2172 the CFG, schedule loops for fixup.
2173
66dfe13f
NC
21742013-01-29 Nick Clifton <nickc@redhat.com>
2175
2176 * config/rl78/rl78.c (rl78_regno_mode_code_ok_for_base_p): Allow
2177 SP_REG.
2178
5a579c3b
LE
21792013-01-28 Leif Ekblad <leif@rdos.net>
2180
2181 * config.gcc (i[34567]86-*-rdos*, x86_64-*-rdos*): New targets.
2182 * config/i386/i386.h (TARGET_RDOS): New macro.
2183 (DEFAULT_LARGE_SECTION_THRESHOLD): New macro.
2184 * config/i386/i386.c (ix86_option_override_internal): For 64bit
2185 TARGET_RDOS, set ix86_cmodel to CM_MEDIUM_PIC and flag_pic to 1.
2186 * config/i386/i386.opt (mlarge-data-threshold): Initialize to
2187 DEFAULT_LARGE_SECTION_THRESHOLD.
2188 * config/i386/i386.md (R14_REG, R15_REG): New constants.
2189 * config/i386/rdos.h: New file.
2190 * config/i386/rdos64.h: New file.
2191
51e44392
BS
21922013-01-28 Bernd Schmidt <bernds@codesourcery.com>
2193
2194 PR other/54814
2195 * reload.c (find_valid_class_1): Use in_hard_reg_set_p instead of
2196 TEST_HARD_REG_BIT.
2197
db1fb332
JJ
21982013-01-28 Jakub Jelinek <jakub@redhat.com>
2199
2200 PR rtl-optimization/56117
2201 * sched-deps.c (sched_analyze_2) <case PREFETCH>: For use_cselib
2202 call cselib_lookup_from_insn on the MEM before calling
2203 add_insn_mem_dependence.
2204
16917761
RB
22052013-01-28 Richard Biener <rguenther@suse.de>
2206
2207 * tree-inline.c (remap_gimple_stmt): Do not assing a BLOCK
2208 to a stmt that didn't have one.
2209 (copy_phis_for_bb): Likewise for PHI arguments.
2210 (copy_debug_stmt): Likewise for debug stmts.
2211
b9fc0497
RB
22122013-01-28 Richard Biener <rguenther@suse.de>
2213
2214 PR tree-optimization/56034
6edc3e32 2215 * tree-loop-distribution.c (enum partition_kind): Add PKIND_REDUCTION.
b9fc0497
RB
2216 (partition_builtin_p): Adjust.
2217 (generate_code_for_partition): Handle PKIND_REDUCTION. Assert
2218 it is the last partition.
2219 (rdg_flag_uses): Check SSA_NAME_IS_DEFAULT_DEF before looking
2220 up the vertex for the definition.
2221 (classify_partition): Classify whether a partition is a
2222 PKIND_REDUCTION, thus has uses outside of the loop.
2223 (ldist_gen): Inherit PKIND_REDUCTION when merging partitions.
2224 Merge all PKIND_REDUCTION partitions into the last partition.
2225 (tree_loop_distribution): Seed partitions from reductions as well.
2226
aa710d25
JJ
22272013-01-28 Jakub Jelinek <jakub@redhat.com>
2228
0bfbca58
JJ
2229 PR tree-optimization/56125
2230 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
2231 pow(x,c) into sqrt(x) * powi(x, n/2) or
2232 1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
2233 optimizing for size.
2234 Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
2235 1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
2236 integer.
2237
aa710d25
JJ
2238 PR tree-optimization/56094
2239 * gimplify.c (force_gimple_operand_1): Temporarily set input_location
2240 to UNKNOWN_LOCATION while gimplifying expr.
2241
77dc5297
UB
22422013-01-27 Uros Bizjak <ubizjak@gmail.com>
2243
2244 PR target/56114
2245 * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
2246 operand 0 in movabs insn template for -masm=intel asm alternative.
2247 (*movabs<mode>_2): Ditto for operand 1.
2248
0bfbca58 22492013-01-26 David Holsgrove <david.holsgrove@xilinx.com>
fbf0cf90
DH
2250
2251 PR target/54663
2252 * config.gcc (microblaze*-linux*): Add tmake_file to allow building
2253 of microblaze-c.o
2254
0bfbca58 22552013-01-26 Edgar E. Iglesias <edgar.iglesias@gmail.com>
6f14eef2
EI
2256
2257 * config.gcc (microblaze*-*-*): Rename microblaze*-*-elf, update
2258 tm_file.
2259
0bfbca58 22602013-01-25 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
706b2314
N
2261
2262 * config/aarch64/aarch64.c (TARGET_FIXED_CONDITION_CODE_REGS):
2263 Undef to avoid warning.
2264
478f60f9
MH
22652013-01-25 Michael Haubenwallner <michael.haubenwallner@salomon.at>
2266
2267 * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
2268 * configure: Regenerate.
2269
d7fa6ee2
JJ
22702013-01-25 Jakub Jelinek <jakub@redhat.com>
2271
2272 PR tree-optimization/56098
2273 * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
2274 for stmts with volatile ops.
2275 (cond_store_replacement): Don't optimize if assign has volatile ops.
2276 (cond_if_else_store_replacement_1): Don't optimize if either
2277 then_assign or else_assign have volatile ops.
2278 (hoist_adjacent_loads): Don't optimize if either def1 or def2 have
2279 volatile ops.
2280
f8fe87bd
GJL
22812013-01-25 Georg-Johann Lay <avr@gjlay.de>
2282
2283 * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
2284
28398d0d
GJL
22852013-01-25 Georg-Johann Lay <avr@gjlay.de>
2286
2287 * doc/extend.texi (Example of asm with clobbered asm reg): Fix
2288 missing ':' in asm example.
2289
b7d7d917
TB
22902013-01-25 Tejas Belagod <tejas.belagod@arm.com>
2291
2292 * config/aarch64/aarch64-simd-builtins.def: Separate sq<r>dmulh_lane
2293 entries into lane and laneq entries.
77dc5297
UB
2294 * config/aarch64/aarch64-simd.md (aarch64_sq<r>dmulh_lane<mode>):
2295 Remove AdvSIMD scalar modes.
b7d7d917
TB
2296 (aarch64_sq<r>dmulh_laneq<mode>): New.
2297 (aarch64_sq<r>dmulh_lane<mode>): New RTL pattern for Scalar AdvSIMD
2298 modes.
2299 * config/aarch64/arm_neon.h: Fix all the vq<r>dmulh_lane* intrinsics'
2300 builtin implementations to relfect changes in RTL in aarch64-simd.md.
2301 * config/aarch64/iterators.md (VCOND): New.
2302 (VCONQ): New.
2303
556f9906
GJL
23042013-01-25 Georg-Johann Lay <avr@gjlay.de>
2305
2306 PR target/54222
2307 * config/avr/builtins.def (DEF_BUILTIN): Add LIBNAME argument.
2308 Add NULL LIBNAME argument to existing definitions.
2309 (ABSHR, ABSR, ABSLR, ABSLLR, ABSHK, ABSK, ABSLK, ABSLLK): New.
2310 * config/avr/avr-c.c (DEF_BUILTIN): Add LIBNAME argument.
2311 * config/avr/avr.c (DEF_BUILTIN): Same.
2312 (avr_init_builtins): Pass down LIBNAME to add_builtin_function.
2313 (avr_expand_builtin): Expand to a vanilla call if a libgcc
2314 implementation is available (DECL_ASSEMBLER_NAME is set).
2315 (avr_fold_absfx): New static function.
2316 (avr_fold_builtin): Use it to handle: AVR_BUILTIN_ABSHR,
2317 AVR_BUILTIN_ABSR, AVR_BUILTIN_ABSLR, AVR_BUILTIN_ABSLLR,
2318 AVR_BUILTIN_ABSHK, AVR_BUILTIN_ABSK, AVR_BUILTIN_ABSLK,
2319 AVR_BUILTIN_ABSLLK.
2320 * config/avr/stdfix.h (abshr, absr, abslr, absllr)
2321 (abshk, absk, abslk, absllk): Provide as static inline functions.
2322
1f546bbb
MP
23232013-01-25 Marek Polacek <polacek@redhat.com>
2324
2325 PR tree-optimization/56035
2326 * cfgloopmanip.c (fix_loop_structure): Remove redundant condition.
2327
7e184bd7
UB
23282012-01-24 Uros Bizjak <ubizjak@gmail.com>
2329
2330 * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
2331 (*movtf_internal_rex64): Add (!o,C) alternative
2332 (*movxf_internal_rex64): Ditto.
2333 (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
2334
f5ba49ac
SM
23352013-01-24 Shenghou Ma <minux.ma@gmail.com>
2336
2337 * doc/invoke.texi: fix typo.
2338 * doc/objc.texi: fix typo.
2339
a6343728
RS
23402013-01-24 Richard Sandiford <rdsandiford@googlemail.com>
2341
2342 * config/mips/mips.md (*and<mode>3_mips16): Use the "W" constraint
2343 for the first two alternatives.
2344
cd030c07
DN
23452013-01-24 Diego Novillo <dnovillo@google.com>
2346
77dc5297 2347 * Makefile.in (GGC): Remove. Replace all instances with ggc-page.o.
cd030c07
DN
2348 (ggc-zone.o): Remove.
2349 * configure.ac: Remove option --with-gc.
2350 * configure: Re-generate.
2351 * doc/install.texi: Remove documentation for --with-gc.
2352 * gengtype.c (write_enum_defn): Remove. Update all users.
2353 (write_Types_process_field): Remove generation of gt_e_* argument.
2354 (output_type_enum): Remove. Update all users.
2355 (write_enum_defn): Remove. Update all users.
2356 (enum alloc_zone): Remove. Update all users.
77dc5297 2357 (write_splay_tree_allocator_def): Remove generation of gt_e_* argument.
cd030c07
DN
2358 * ggc-common.c (ggc_splay_alloc): Remove first argument.
2359 Update all callers.
2360 (struct ptr_data): Remove field TYPE. Update all users.
77dc5297 2361 (gt_pch_note_object): Remove argument TYPE. Update all users.
cd030c07
DN
2362 * ggc-internal.h (ggc_pch_alloc_object): Remove last argument.
2363 Update all users.
aaf1e810 2364 * ggc-none.c (ggc_alloc_typed_stat): Remove.
cd030c07
DN
2365 (struct alloc_zone): Remove.
2366 (ggc_internal_alloc_zone_stat): Remove.
2367 (ggc_internal_cleared_alloc_zone_stat): Remove.
2368 * ggc-page.c (ggc_alloc_typed_stat): Remove.
77dc5297
UB
2369 (ggc_pch_count_object): Remove last argument. Update all users.
2370 (ggc_pch_alloc_object): Remove last argument. Update all users.
cd030c07
DN
2371 (struct alloc_zone): Remove.
2372 * ggc-zone.c: Remove.
77dc5297 2373 * ggc.h (gt_pch_note_object): Remove last argument. Update all users.
cd030c07
DN
2374 (struct alloc_zone): Remove.
2375 (ggc_alloc_typed_stat): Remove.
2376 (ggc_alloc_typed): Remove.
2377 (ggc_splay_alloc): Remove first argument.
2378 (rtl_zone): Remove. Update all users.
2379 (tree_zone): Remove. Update all users.
2380 (tree_id_zone): Remove. Update all users.
2381 (ggc_internal_zone_alloc_stat): Remove. Update all users.
77dc5297 2382 (ggc_internal_zone_cleared_alloc_stat): Remove. Update all users.
cd030c07 2383 (ggc_internal_zone_vec_alloc_stat): Remove. Update all users.
77dc5297 2384 * tree-ssanames.c: Remove references to zone allocator in comments.
cd030c07 2385
a861ffa4
GJL
23862013-01-24 Georg-Johann Lay <avr@gjlay.de>
2387
2388 * config/avr/avr.c (avr_out_fract): Make register numbers that
2389 might be outside of source operand signed.
2390
593c0ddd
UB
23912013-01-24 Uros Bizjak <ubizjak@gmail.com>
2392
2393 * config/i386/constraints.md (Yf): New constraint.
2394 * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
2395 of f constraint to conditionaly disable x87 register preferences.
2396 (*movdf_internal): Ditto.
2397 (*movsf_internal): Ditto.
2398
e86c0101
SB
23992013-01-24 Steven Bosscher <steven@gcc.gnu.org>
2400
2401 PR inline-asm/55934
2402 * lra-assigns.c (assign_by_spills): Throw away the pattern of asms
2403 that have operands with impossible constraints.
2404 Add a FIXME for a speed-up opportunity.
2405 * lra-constraints.c (process_alt_operands): Verify that a class
2406 selected from constraints on asms is valid for the operand mode.
2407 (curr_insn_transform): Remove incorrect comment.
2408
f6fee35f
DE
24092013-01-23 David Edelsohn <dje.gcc@gmail.com>
2410
2411 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Check that
2412 TOC operand is a valid symbol ref in the constant pool.
2413
24142013-01-23 Edgar E. Iglesias <edgar.iglesias@gmail.com>
c7729184 2415
aaf1e810 2416 * config/microblaze/linux.h: Add TARGET_OS_CPP_BUILTINS
c7729184 2417
dc62d7d1
GJL
24182013-01-23 Georg-Johann Lay <avr@gjlay.de>
2419
2420 PR target/54222
2421 * config/avr/stdfix.h: New file.
2422 * t-avr (stdfix-gcc.h): New rule to build it.
2423 (EXTRA_HEADERS): Set it to install stdfix.h, stdfix-gcc.h.
2424
2660d12d
KS
24252013-01-23 Kostya Serebryany <kcc@google.com>
2426
77dc5297
UB
2427 * config/darwin.h: remove dependency on
2428 CoreFoundation (asan on Mac OS).
2660d12d 2429
a70418fc
JJ
24302013-01-23 Jakub Jelinek <jakub@redhat.com>
2431
2432 PR target/49069
2433 * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
2434 instead of cmpdi_operand for first comparison operand.
2435 Don't assert that comparison operands aren't both constants.
2436
47876a2a
JW
24372013-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
2438
2439 * doc/install.texi (Downloading the Source): Update references to
2440 downloading separate components.
2441
24422013-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
4ebd56a5
JW
2443
2444 * doc/extend.texi (__int128): Improve grammar.
2445
47876a2a 24462013-01-22 Uros Bizjak <ubizjak@gmail.com>
32fc5b8a
UB
2447
2448 PR target/56028
2449 * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
2450 alternative to (o,r).
2451 (*movdi_internal_rex64): Remove (!o,n) alternative.
2452 (DImode immediate->memory splitter): Remove.
2453 (DImode immediate->memory peephole2): Remove.
2454 (movtf): Enable for TARGET_64BIT || TARGET_SSE.
2455 (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
2456 alternative to (!o,*r).
2457 (*movtf_internal_sse): New pattern.
2458 (*movxf_internal_rex64): New pattern.
2459 (*movxf_internal): Disable for TARGET_64BIT.
2460 (*movdf_internal_rex64): Remove (!o,F) alternative.
2461
3a984f10
JJ
24622013-01-22 Jakub Jelinek <jakub@redhat.com>
2463
502498d5
JJ
2464 PR middle-end/56074
2465 * dumpfile.c (dump_loc): Only print loc if LOCATION_LOCUS (loc)
2466 isn't UNKNOWN_LOCATION nor BUILTINS_LOCATION.
2467 * tree-vect-loop-manip.c (find_loop_location): Also ignore
2468 stmt locations where LOCATION_LOCUS of the stmt location is
2469 UNKNOWN_LOCATION or BUILTINS_LOCATION.
2470
3a984f10
JJ
2471 PR target/55686
2472 * config/i386/i386.md (UNSPEC_STOS): New.
2473 (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
2474 *strsetqi_1): Add UNSPEC_STOS.
2475
fa817f7f
PC
24762013-01-22 Paolo Carlini <paolo.carlini@oracle.com>
2477
2478 PR c++/56067
2479 * doc/invoke.texi: Remove left over -Wsynth example.
2480
8f498c1b
JJ
24812013-01-21 Jakub Jelinek <jakub@redhat.com>
2482
2483 PR tree-optimization/56051
2484 * fold-const.c (fold_binary_loc): Don't fold
2485 X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
2486 a narrowing conversion, or widening conversion from signed
2487 to unsigned.
2488
47876a2a 24892013-01-21 Uros Bizjak <ubizjak@gmail.com>
35d59da7
UB
2490
2491 PR rtl-optimization/56023
2492 * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
2493 dependent on debug instruction.
2494
5b9db1bc
MJ
24952013-01-21 Martin Jambor <mjambor@suse.cz>
2496
2497 PR middle-end/56022
2498 * function.c (allocate_struct_function): Call
2499 invoke_set_current_function_hook earlier.
2500
e8bb7d68
JJ
25012013-01-21 Jakub Jelinek <jakub@redhat.com>
2502
2503 * reload1.c (init_reload): Only initialize reload_obstack
2504 during the first call.
2505
616a4e32
MP
25062013-01-21 Marek Polacek <polacek@redhat.com>
2507
2508 * cfgloop.c (verify_loop_structure): Fix up grammar.
2509
4401981b
YHH
25102013-01-21 Yi-Hsiu Hsu <ahsu@marvell.com>
2511
2512 * config/arm/marvell-pj4.md (pj4_shift_conds, pj4_alu_shift,
2513 pj4_alu_shift_conds, pj4_shift): Handle simple_alu_shift.
2514
8e87740b
RR
25152013-01-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2516
2517 PR target/56058
2518 * config/arm/marvell-pj4.md: Update copyright year.
2519 Fix up use of alu to alu_reg and simple_alu_imm.
2520
47876a2a 25212013-01-21 Uros Bizjak <ubizjak@gmail.com>
1f6bc337
UB
2522
2523 * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
2524
89d56d79
VM
25252013-01-20 Vladimir Makarov <vmakarov@redhat.com>
2526
2527 PR target/55433
2528 * lra-constraints.c (curr_insn_transform): Don't reuse original
1f6bc337 2529 insn for secondary memory move when memory mode should be different.
89d56d79 2530
fe603553
JDA
25312013-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2532
2533 * config/pa/pa.md (atomic_loaddi, atomic_loaddi_1, atomic_storedi,
2534 atomic_storedi_1): New patterns.
2535
01284895
VK
25362013-01-20 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
2537
2538 btver2 pipeline descriptions.
2539 * config/i386/i386.c: Enable CPU_BTVER2 to use btver2 pipeline
2540 descriptions.
2541 * config/i386/i386.md (btver2_decode): New type attributes.
1f6bc337 2542 * config/i386/sse.md (btver2_decode, btver2_sse_attr): New
01284895
VK
2543 type attributes.
2544 * config/i386/btver2.md: New file describing btver2 pipelines.
2545
5630e3e1
JL
25462013-01-19 Andrew Pinski <apinski@cavium.com>
2547
2548 PR tree-optimization/52631
2549 * tree-ssa-sccvn (visit_use): Before looking up the original
2550 statement, try looking up the simplified expression.
2551
650ae806
AG
25522013-01-19 Anthony Green <green@moxielogic.com>
2553
2554 * config/moxie/moxie.c (moxie_expand_prologue): Set
2555 current_function_static_stack_size.
2556
e300ec2d
JJ
25572013-01-18 Jakub Jelinek <jakub@redhat.com>
2558
2559 PR tree-optimization/56029
2560 * tree-phinodes.c (reserve_phi_args_for_new_edge): Set
2561 gimple_phi_arg_location for the new arg to UNKNOWN_LOCATION.
2562
a3d7af04
SS
25632013-01-18 Sharad Singhai <singhai@google.com>
2564
2565 PR tree-optimization/55995
2566 * dumpfile.c (dump_loc): Print location only if available.
2567 * tree-vectorizer.c (increase_alignment): Intialize vect_location.
2568
66aa7879
VM
25692013-01-18 Vladimir Makarov <vmakarov@redhat.com>
2570
2571 PR target/55433
2572 * lra-constraints.c (curr_insn_transform): Reuse original insn for
2573 secondary memory move.
2574 (inherit_reload_reg): Use rclass instead of cl for
2575 check_secondary_memory_needed_p.
2576
3f0fee7b
JJ
25772013-01-18 Jakub Jelinek <jakub@redhat.com>
2578
2579 PR middle-end/56015
2580 * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
1f6bc337 2581 the case where writing real complex part of target modifies op1.
3f0fee7b 2582
70c67693
JG
25832013-01-18 James Greenhalgh <james.greenhalgh@arm.com>
2584
2585 * config/aarch64/aarch64-simd.md
2586 (aarch64_vcond_internal<mode>): Handle unordered cases.
2587 * config/aarch64/iterators.md (v_cmp_result): New.
2588
df8de9b3
YHH
25892013-01-18 Yi-Hsiu Hsu <ahsu@marvell.com>
2590 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2591
2592 * config/arm/marvell-pj4.md: New file.
2593 * config/arm/arm.c (arm_issue_rate): Add marvell_pj4.
2594 * config/arm/arm.md (generic_sched): Add marvell_pj4.
2595 (generic_vfp): Likewise.
2596 * config/arm/arm-cores.def: Add marvell-pj4.
2597 * config/arm/arm-tune.md: Regenerate.
2598 * config/arm/arm-tables.opt: Regenerate.
2599 * config/arm/bpabi.h (BE8_LINK_SPEC): Add marvell_pj4.
2600 * doc/invoke.texi: Document marvell-pj4.
2601
be30c356
TB
26022013-01-18 Tejas Belagod <tejas.belagod@arm.com>
2603
2604 * config/aarch64/arm_neon.h: Map scalar types to standard types.
2605
0bfbca58 26062013-01-18 Alexandre Oliva <aoliva@redhat.com>
af6236c1
AO
2607
2608 PR debug/54114
2609 PR debug/54402
2610 PR debug/49888
2611 * var-tracking.c (negative_power_of_two_p): New.
2612 (global_get_addr_cache, local_get_addr_cache): New.
2613 (get_addr_from_global_cache, get_addr_from_local_cache): New.
2614 (vt_canonicalize_addr): Rewrite using the above. Adjust the
2615 heading comment.
2616 (vt_stack_offset_p): Remove.
2617 (vt_canon_true_dep): Always canonicalize loc's address.
2618 (clobber_overlapping_mems): Make sure we have a MEM.
2619 (local_get_addr_clear_given_value): New.
2620 (val_reset): Clear local cached entries.
2621 (compute_bb_dataflow): Create and release the local cache.
2622 Disable duplicate MEMs clobbering.
2623 (emit_notes_in_bb): Clobber MEMs likewise.
2624 (vt_emit_notes): Create and release the local cache.
2625 (vt_initialize, vt_finalize): Create and release the global
2626 cache, respectively.
1f6bc337 2627 * alias.c (rtx_equal_for_memref_p): Compare operands of ENTRY_VALUEs.
af6236c1 2628
0bfbca58 26292013-01-18 Alexandre Oliva <aoliva@redhat.com>
7ff37ffa
AO
2630
2631 PR libmudflap/53359
2632 * tree-mudflap.c (mudflap_finish_file): Skip deferred decls
2633 not found in the symtab.
2634
0bfbca58 26352013-01-18 Alexandre Oliva <aoliva@redhat.com>
3aa03517 2636
c350ba53 2637 PR debug/56006
3aa03517
AO
2638 PR rtl-optimization/55547
2639 PR rtl-optimization/53827
2640 PR debug/53671
2641 PR debug/49888
2642 * alias.c (offset_overlap_p): New, factored out of...
2643 (memrefs_conflict_p): ... this. Use absolute sizes. Retain
2644 the conservative special case for symbolic constants. Don't
2645 adjust zero sizes on alignment.
2646
c664546f
JL
26472013-01-18 Bernd Schmidt <bernds@codesourcery.com>
2648
2649 PR rtl-optimization/52573
2650 * regrename.c (build_def_use): Ignore REG_DEAD notes if there is a
2651 REG_UNUSED for the same register.
2652
1bd3f750
MP
26532013-01-17 Richard Biener <rguenther@suse.de>
2654 Marek Polacek <polacek@redhat.com>
2655
2656 PR rtl-optimization/55833
2657 * loop-unswitch.c (unswitch_loops): Move loop verification...
2658 (unswitch_single_loop): ...here. Call mark_irreducible_loops.
2659 * cfgloopmanip.c (fix_loop_placement): Add IRRED_INVALIDATED parameter.
2660 Set it to true when we're removing a loop from hierarchy tree in
2661 an irreducible region.
2662 (fix_bb_placements): Adjust caller.
2663 (fix_loop_placements): Likewise.
2664
e52a8b71
GJL
26652013-01-17 Georg-Johann Lay <avr@gjlay.de>
2666
2667 * config/avr/builtins.def (DEF_BUILTIN): Factor out
2668 "__builtin_avr_" from NAME, turn NAME to an uppercase identifier.
2669 Factor out 'CODE_FOR_' from ICODE, use 'nothing' instead of '-1'.
2670 Remove ID. Adjust comments.
2671 * config/avr/avr-c.c (avr_builtin_name): Remove.
2672 (avr_cpu_cpp_builtins): Use DEF_BUILTIN instead of for-loop.
2673 * config/avr/avr.c (avr_tolower): New static function.
2674 (DEF_BUILTIN): Remove parameter ID. Prefix ICODE by 'CODE_FOR_'.
2675 Stringify NAME, prefix it with "__builtin_avr_" and lowercase it.
2676 (avr_expand_builtin): Assert insn_code != CODE_FOR_nothing for
2677 default expansion.
2678
8386a7ea
JH
26792013-01-17 Jan Hubicka <jh@suse.cz>
2680
610fb637 2681 PR tree-optimization/55273
8386a7ea
JH
2682 * loop-iv.c (iv_number_of_iterations): Consider zero iteration case.
2683
47876a2a 26842013-01-17 Uros Bizjak <ubizjak@gmail.com>
8abaebcd
UB
2685
2686 PR target/55981
2687 * config/i386/sync.md (atomic_store<mode>): Always generate SWImode
2688 store through atomic_store<mode>_1.
2689 (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
2690
8222c37e
MJ
26912013-01-17 Martin Jambor <mjambor@suse.cz>
2692
2693 PR tree-optimizations/55264
2694 * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
2695 for virtual methods.
2696 * ipa.c (symtab_remove_unreachable_nodes): Never return true for
2697 virtual methods before inlining is over.
2698 * cgraph.h (cgraph_only_called_directly_or_aliased_p): Return false for
2699 virtual functions.
2700 * cgraphclones.c (cgraph_create_virtual_clone): Mark clones as
2701 non-virtual.
2702
79f01c76
VM
27032013-01-16 Vladimir Makarov <vmakarov@redhat.com>
2704
2705 PR rtl-optimization/56005
2706 * sched-deps.c (sched_analyze_2): Check deps->readonly for adding
2707 pending reads for prefetch.
2708
d0b6bb1b
IB
27092013-01-16 Ian Bolton <ian.bolton@arm.com>
2710
aaf1e810 2711 * config/aarch64/aarch64.md
d0b6bb1b
IB
2712 (*cstoresi_neg_uxtw): New pattern.
2713 (*cmovsi_insn_uxtw): New pattern.
2714 (*<optab>si3_uxtw): New pattern.
2715 (*<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): New pattern.
2716 (*<optab>si3_insn_uxtw): New pattern.
2717 (*bswapsi2_uxtw): New pattern.
2718
cb9cf03b
RB
27192013-01-16 Richard Biener <rguenther@suse.de>
2720
2721 * tree-inline.c (tree_function_versioning): Remove set but
2722 never used variable.
2723
2cfc56b9
RB
27242013-01-16 Richard Biener <rguenther@suse.de>
2725
2726 PR tree-optimization/55964
2727 * tree-flow.h (rename_variables_in_loop): Remove.
2728 (rename_variables_in_bb): Likewise.
2729 * tree-loop-distribution.c (update_phis_for_loop_copy): Remove.
2730 (copy_loop_before): Adjust and delete update-ssa status.
2731 * tree-vect-loop-manip.c (rename_variables_in_bb): Make static.
8abaebcd 2732 (rename_variables_in_bb): Likewise. Properly walk over predecessors.
2cfc56b9
RB
2733 (rename_variables_in_loop): Remove.
2734 (slpeel_update_phis_for_duplicate_loop): Likewise.
2735 (slpeel_tree_duplicate_loop_to_edge_cfg): Handle nested loops,
2736 use available cfg machinery instead of duplicating it.
2737 Update PHI nodes and perform poor-mans SSA update here.
2738 (slpeel_tree_peel_loop_to_edge): Adjust.
2739
c25a0c60
RB
27402013-01-16 Richard Biener <rguenther@suse.de>
2741
2742 PR tree-optimization/54767
2743 PR tree-optimization/53465
2744 * tree-vrp.c (vrp_meet_1): Revert original fix for PR53465.
2745 (vrp_visit_phi_node): For PHI arguments coming via backedges
2746 drop all symbolical range information.
2747 (execute_vrp): Compute backedges.
2748
04b535af
RB
27492013-01-16 Richard Biener <rguenther@suse.de>
2750
2751 * doc/install.texi: Update CLooG and ISL requirements to
2752 0.18.0 and 0.11.1.
2753
8b0a1e0b
CB
27542013-01-16 Christian Bruel <christian.bruel@st.com>
2755
2756 PR target/55301
2757 * config/sh/sh.c (sh_expand_prologue): Postpone new_stack mem symbol.
2758 (broken_move): Handle UNSPECV_SP_SWITCH_B.
2759 * config/sh/sh.md (sp_switch_1): Use set (reg:SI SP_REG).
2760
27612013-01-16 DJ Delorie <dj@redhat.com>
2762
2763 * config/sh/sh.md (UNSPECV_SP_SWITCH_B): New.
2764 (UNSPECV_SP_SWITCH_E): New.
2765 (sp_switch_1): Change to an unspec.
2766 (sp_switch_2): Change to an unspec. Don't use post-inc when we
2767 replace $r15.
2768
27692013-01-16 Uros Bizjak <ubizjak@gmail.com>
88e784e6
UB
2770
2771 * emit-rtl.c (need_atomic_barrier_p): Mask memory model argument
2772 with MEMMODEL_MASK before comparing with MEMMODEL_* memory types.
2773 * optabs.c (maybe_emit_sync_lock_test_and_set): Ditto.
2774 (expand_mem_thread_fence): Ditto.
2775 (expand_mem_signal_fence): Ditto.
2776 (expand_atomic_load): Ditto.
2777 (expand_atomic_store): Ditto.
2778
0bfbca58 27792013-01-16 Alexandre Oliva <aoliva@redhat.com>
5147bf6a
AO
2780
2781 PR rtl-optimization/55547
2782 PR rtl-optimization/53827
2783 PR debug/53671
2784 PR debug/49888
2785 * alias.c (memrefs_conflict_p): Set sizes to negative after
2786 AND adjustments.
2787
305e3ac1
JJ
27882013-01-15 Jakub Jelinek <jakub@redhat.com>
2789
2790 PR target/55940
2791 * function.c (thread_prologue_and_epilogue_insns): Always
2792 add crtl->drap_reg to set_up_by_prologue.set, even if
2793 stack_realign_drap is false.
2794
f78ac4f2
JBG
27952013-01-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
2796
2797 * config/vax/vax.md (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3,
2798 and<mode>3, *and<mode>_const_int, ior<mode>3, xor<mode>3, ashrsi3,
2799 *call): Fix indention.
2800
a78a8cc4
TV
28012013-01-15 Tom de Vries <tom@codesourcery.com>
2802
2803 PR target/55876
2804 * optabs.c (widen_operand): Use gen_lowpart instead of gen_rtx_SUBREG.
2805 Update comment.
2806
0e80383f
VM
28072013-01-15 Vladimir Makarov <vmakarov@redhat.com>
2808
305e3ac1 2809 PR rtl-optimization/55153
0e80383f
VM
2810 * sched-deps.c (sched_analyze_2): Add pending reads for prefetch.
2811
207b5956
MJ
28122013-01-15 Martin Jambor <mjambor@suse.cz>
2813
2814 PR tree-optimization/55920
2815 * tree-sra.c (analyze_access_subtree): Do not mark non-removable
2816 accesses as grp_to_be_debug_replaced.
2817
a7818b54
JJ
28182013-01-15 Jakub Jelinek <jakub@redhat.com>
2819
2820 PR tree-optimization/55920
2821 * tree-sra.c (sra_modify_assign): If for lacc->grp_to_be_debug_replaced
2822 there is non-useless type conversion needed from debug rhs to lhs,
2823 use build_debug_ref_for_model and/or VIEW_CONVERT_EXPR.
2824
b0fe107e
JM
28252013-01-15 Joseph Myers <joseph@codesourcery.com>
2826 Mikael Pettersson <mikpe@it.uu.se>
2827
2828 PR target/43961
2829 * config/arm/arm.h (ADDR_VEC_ALIGN): Align SImode jump tables for
2830 Thumb.
2831 (ASM_OUTPUT_CASE_LABEL): Remove.
2832 (ASM_OUTPUT_BEFORE_CASE_LABEL): Define to empty.
2833 * final.c (shorten_branches): Update alignment of labels before
2834 jump tables if CASE_VECTOR_SHORTEN_MODE.
2835
34ab62ee
RB
28362013-01-15 Richard Biener <rguenther@suse.de>
2837
2838 PR bootstrap/55961
2839 * system.h: Do not include gmp.h for building host tools.
2840
783a3a05
RB
28412013-01-15 Richard Biener <rguenther@suse.de>
2842
2843 PR middle-end/55882
2844 * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
2845 account for bitpos when computing alignment.
2846
3a579e09
VY
28472013-01-15 Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
2848
2849 * config/i386/i386-c.c (ix86_target_macros_internal): New case.
2850 (ix86_target_macros_internal): Likewise.
2851
2852 * config/i386/i386.c (m_CORE2I7): Removed.
2853 (m_CORE_HASWELL): New macro.
2854 (m_CORE_ALL): Likewise.
2855 (initial_ix86_tune_features): m_CORE2I7 is replaced by m_CORE_ALL.
2856 (initial_ix86_arch_features): Likewise.
2857 (processor_target_table): Initializations for Core avx2.
2858 (cpu_names): New names "core-avx2".
2859 (ix86_option_override_internal): Changed PROCESSOR_COREI7 by
2860 PROCESSOR_CORE_HASWELL.
2861 (ix86_issue_rate): New case.
2862 (ia32_multipass_dfa_lookahead): Likewise.
2863 (ix86_sched_init_global): Likewise.
2864
2865 * config/i386/i386.h (TARGET_HASWELL): New macro.
2866 (target_cpu_default): New TARGET_CPU_DEFAULT_haswell.
2867 (processor_type): New PROCESSOR_HASWELL.
2868
955f5a07
JJ
28692013-01-15 Jakub Jelinek <jakub@redhat.com>
2870
ff784829
JJ
2871 PR tree-optimization/55955
2872 * tree-vect-loop.c (vectorizable_reduction): Give up early on
2873 *SHIFT_EXPR and *ROTATE_EXPR codes.
2874
955f5a07
JJ
2875 PR tree-optimization/48766
2876 * opts.c (common_handle_option): For -fwrapv disable -ftrapv, for
2877 -ftrapv disable -fwrapv.
2878
aeb8b4e9
GJL
28792013-01-14 Georg-Johann Lay <avr@gjlay.de>
2880
2881 PR target/55974
2882 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
2883 etc. to 1 and not to __flash.
2884 Use LL suffix for __INT24_MAX__ with -mint8.
2885 Use ULL suffix for __UINT24_MAX__ with -mint8.
2886
1c494c6a
GJL
28872013-01-14 Georg-Johann Lay <avr@gjlay.de>
2888
2889 * config/avr/avr-arch.h
2890 (struct base_arch_s): Use typedef avr_arch_t instead.
2891 (struct arch_info_s): Use typedef avr_arch_info_t instead.
2892 (struct mcu_type_s): Use typedef avr_mcu_t instead.
2893 * config/avr/avr.c: Same.
2894 * config/avr/avr-devices.c: Same.
2895 * config/avr/driver-avr.c: Same.
2896 * config/avr/gen-avr-mmcu-texi.c: Same.
2897 * config/avr/avr-mcus.def: Adjust comment.
2898
a50344cb
TB
28992013-01-14 Tejas Belagod <tejas.belagod@arm.com>
2900
88e784e6
UB
2901 * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): New.
2902 * config/aarch64/iterators.md (VALLDI): New.
a50344cb 2903
47876a2a 29042013-01-14 Uros Bizjak <ubizjak@gmail.com>
e6f0e052
UB
2905 Andi Kleen <ak@linux.intel.com>
2906
2907 PR target/55948
2908 * config/i386/sync.md (atomic_store<mode>_1): New pattern.
2909 (atomic_store<mode>): Call atomic_store<mode>_1 for IX86_HLE_RELEASE
2910 memmodel flag.
2911
00892272
GJL
29122013-01-14 Georg-Johann Lay <avr@gjlay.de>
2913
2914 * config/avr/avr-stdint.h: Remove trailing blanks.
2915 * config/avr/avr-log.h: Same.
2916 * config/avr/avr-arch.h: Same.
2917 * config/avr/avr-devices.c: Same.
2918 * config/avr/avr-dimode.md: Same.
2919 * config/avr/predicates.md: Same.
2920 * config/avr/avr-c.c: Same. And fix typo.
e6f0e052 2921
00892272
GJL
2922 * config/avr/avr-protos.h: Same. And:
2923 (function_arg_regno_p): Rename to avr_function_arg_regno_p.
2924 (init_cumulative_args): Rename to avr_init_cumulative_args.
2925 (expand_prologue): Rename to avr_expand_prologue.
2926 (expand_epilogue): Rename to avr_expand_epilogue.
2927 (adjust_insn_length): Rename to avr_adjust_insn_length.
2928 (notice_update_cc): Rename to avr_notice_update_cc.
2929 (final_prescan_insn): Rename to avr_final_prescan_insn.
2930 * config/avr/avr.c: Same.
2931 * config/avr/avr.h: Same.
2932 * config/avr/avr.md: Remove trailing blanks.
2933 (prologue): Use avr_expand_prologue.
2934 (epilogue, sibcall_epilogue): Use avr_expand_epilogue.
2935
7bb01996
RB
29362013-01-14 Richard Biener <rguenther@suse.de>
2937
2938 * tree-cfg.c (verify_expr_location, verify_expr_location_1,
2939 verify_location, collect_subblocks): New functions.
2940 (verify_gimple_in_cfg): Verify that locations only reference
2941 BLOCKs in the functions BLOCK tree.
2942
2724573f
RB
29432013-01-14 Richard Biener <rguenther@suse.de>
2944
2945 * tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated
2946 PHI argument.
2947 * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Properly
2948 unshare reference.
2949 (insert_out_of_ssa_copy_on_edge): Likewise.
2950 (rewrite_close_phi_out_of_ssa): Likewise.
2951 * tree-ssa.c (insert_debug_temp_for_var_def): Properly unshare
2952 debug expressions.
2953 * tree-ssa-pre.c (insert_into_preds_of_block): Properly unshare
2954 propagated constants.
2955 * tree-cfg.c (tree_node_can_be_shared): Handled component-refs
2956 can not be shared.
2957
9a0bbab6
GJL
29582013-01-14 Georg-Johann Lay <avr@gjlay.de>
2959
2960 * config/avr/avr-modes.def: Add GPL copyright notice.
2961
45805f17
UB
29622013-01-13 Uros Bizjak <ubizjak@gmail.com>
2963
2964 * config/i386/sync.md (mem_thread_fence): Mask operands[0] with
2965 MEMMODEL_MASK to determine memory model.
2966 (atomic_store<mode>): Ditto from operands[2].
2967 * config/i386/i386.c (ix86_memmodel_check): Declare "strong" as bool.
2968
9d60be38
JJ
29692013-01-13 Jakub Jelinek <jakub@redhat.com>
2970
2971 PR fortran/55935
45805f17 2972 * gimple-fold.c (get_symbol_constant_value): Call unshare_expr.
9d60be38
JJ
2973 (fold_gimple_assign): Don't call unshare_expr here.
2974 (fold_ctor_reference): Call unshare_expr.
2975
e7f49d92
TG
29762013-01-13 Terry Guo <terry.guo@arm.com>
2977
aaf1e810
EB
2978 * Makefile.in (s-mlib): New argument MULTILIB_REUSE.
2979 * doc/fragments.texi: Document MULTILIB_REUSE.
2980 * gcc.c (multilib_reuse): New internal spec.
e7f49d92 2981 (set_multilib_dir): Also search multilib from multilib_reuse.
aaf1e810 2982 * genmultilib (tmpmultilib3): Refactor code.
e7f49d92
TG
2983 (tmpmultilib4): Ditto.
2984 (multilib_reuse): New multilib argument.
2985
fbd03a27
RS
29862013-01-13 Richard Sandiford <rdsandiford@googlemail.com>
2987
2988 * Makefile.in: Update copyright.
2989
b3681f13
TV
29902013-01-12 Tom de Vries <tom@codesourcery.com>
2991
2992 PR middle-end/55890
2993 * calls.c (expand_call): Check if arg_nr is valid.
2994
3f287e4b
MM
29952013-01-11 Michael Meissner <meissner@linux.vnet.ibm.com>
2996
2997 * doc/extend.texi (X86 Built-in Functions): Add whitespace in
2998 __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
5bc35113
MM
2999 documentation. Add missing '__' in front of
3000 __builtin_ia32_packssdw256.
3f287e4b 3001
1abcd5eb
AK
30022013-01-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3003
3004 PR target/55719
3005 * config/s390/s390.c (s390_preferred_reload_class): Do not return
3006 NO_REGS for larl operands.
3007 (s390_reload_larl_operand): Use s390_load_address instead of
3008 emit_move_insn.
3009
980d0812
RB
30102013-01-11 Richard Biener <rguenther@suse.de>
3011
3012 * tree-cfg.c (verify_node_sharing_1): Split out from ...
3013 (verify_node_sharing): ... here.
3014 (verify_gimple_in_cfg): Use verify_node_sharing_1 for walk_tree.
3015
7cb9fd07
EB
30162013-01-11 Eric Botcazou <ebotcazou@adacore.com>
3017
3018 * configure.ac (Tree checking): Set TREECHECKING to yes if enabled.
3019 Substitute TREECHECKING.
3020 * configure: Regenerate.
3021 * Makefile.in (TREECHECKING): New.
3022
47876a2a 30232013-01-11 Richard Guenther <rguenther@suse.de>
c7ab2530
RG
3024
3025 PR tree-optimization/44061
3026 * tree-vrp.c (extract_range_basic): Compute zero as
3027 value-range for __builtin_constant_p of function parameters.
3028
d1e082c2
RS
30292013-01-10 Richard Sandiford <rdsandiford@googlemail.com>
3030
45805f17 3031 Update copyright years.
d1e082c2 3032
f85021b0
VM
30332013-01-10 Vladimir Makarov <vmakarov@redhat.com>
3034
9d60be38 3035 PR rtl-optimization/55672
0160442c
VM
3036 * lra-eliminations.c (mark_not_eliminable): Permit addition with
3037 const to be eliminable.
f85021b0 3038
7a8b1ec4
DE
30392013-01-10 David Edelsohn <dje.gcc@gmail.com>
3040
3041 * configure.ac (HAVE_AS_TLS): Add check for powerpc-ibm-aix.
3042 * configure: Regenerate.
3043
ad2e5b71
RB
30442013-01-10 Richard Biener <rguenther@suse.de>
3045
ddf9322d 3046 * builtins.c (expand_builtin_init_trampoline): Use set_mem_attributes.
ad2e5b71 3047
ffc5b2bb
RB
30482013-01-10 Richard Biener <rguenther@suse.de>
3049
3050 PR bootstrap/55792
3051 * tree-into-ssa.c (rewrite_add_phi_arguments): Do not set
3052 locations for virtual PHI arguments.
3053 (rewrite_update_phi_arguments): Likewise.
3054
e1f674e4
JS
30552013-01-10 Joel Sherrill <joel.sherrill@OARcorp.com>
3056
3057 * config/v850/rtems.h (ASM_SPEC): Pass -m8byte-align and -mgcc-abi
3058 on to assembler.
3059
a57fc743
JJ
30602013-01-10 Jakub Jelinek <jakub@redhat.com>
3061
3062 PR tree-optimization/55921
3063 * tree-complex.c (expand_complex_asm): New function.
3064 (expand_complex_operations_1): Call it for GIMPLE_ASM.
3065
0ff4390d
AK
30662013-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3067
3068 PR target/55718
3069 * config/s390/s390.c (s390_symref_operand_p)
3070 (s390_loadrelative_operand_p): Merge the two functions.
3071 (s390_check_qrst_address, print_operand_address): Add parameters
3072 to s390_loadrelative_operand_p invokation.
3073 (s390_check_symref_alignment): Use s390_loadrelative_operand_p.
3074 (s390_reload_larl_operand, s390_secondary_reload): Use
3075 s390_loadrelative_operand_p instead of s390_symref_operand_p.
3076 (legitimize_pic_address): Handle @GOTENT and @PLT + addend.
3077
6f557e0e
MS
30782013-01-09 Mike Stump <mikestump@comcast.net>
3079
3080 * dse.c (record_store): Remove unnecessary assert.
3081
7770c9e9
JH
30822013-01-09 Jan Hubicka <jh@suse.cz>
3083
3084 PR tree-optimization/55569
3085 * cfgloopmanip.c (scale_loop_profile): Make ITERATION_BOUND gcov_type.
3086 * cfgloop.h (scale_loop_profile): Likewise.
3087
a19b1432
JH
30882013-01-09 Jan Hubicka <jh@suse.cz>
3089
3090 PR lto/45375
ddf9322d
UB
3091 * ipa-inline.c (ipa_inline): Remove extern inlines and virtual
3092 functions.
a19b1432
JH
3093 * cgraphclones.c (cgraph_clone_node): Cpoy also LTO file data.
3094
9a002da8
RS
30952013-01-09 Richard Sandiford <rdsandiford@googlemail.com>
3096
3097 PR middle-end/55114
3098 * expr.h (maybe_emit_group_store): Declare.
3099 * expr.c (maybe_emit_group_store): New function.
3100 * builtins.c (expand_builtin_int_roundingfn): Call it.
3101 (expand_builtin_int_roundingfn_2): Likewise.
3102
511dcace
VM
31032013-01-09 Vladimir Makarov <vmakarov@redhat.com>
3104
e1f2b729 3105 PR rtl-optimization/55829
511dcace
VM
3106 * lra-constraints.c (match_reload): Add code for absent output.
3107 (curr_insn_transform): Add code for reloads of matched inputs
3108 without output.
3109
7b0fe4f4
UB
31102013-01-09 Uros Bizjak <ubizjak@gmail.com>
3111
3112 * config/i386/sse.md (*vec_interleave_highv2df): Change mode
3113 attribute of movddup insn to DF.
3114 (*vec_interleave_lowv2df): Ditto.
3115 (vec_dupv2df): Ditto.
3116
870ca331
JH
31172013-01-09 Jan Hubicka <jh@suse.cz>
3118
3119 PR tree-optimiation/55875
3120 * tree-ssa-loop-niter.c (number_of_iterations_cond): Add
3121 EVERY_ITERATION parameter.
7b0fe4f4 3122 (number_of_iterations_exit): Check if exit is executed every iteration.
870ca331
JH
3123 (idx_infer_loop_bounds): Similarly here.
3124 (n_of_executions_at_most): Simplify
3125 to only test for cases where statement is dominated by the
7b0fe4f4 3126 particular bound; handle correctly the "postdominance" test.
870ca331
JH
3127 (scev_probably_wraps_p): Use max loop iterations info
3128 as a global bound first.
3129
6f575fe4 31302013-01-09 Nguyen Duy Dat <dat.nguyen.yn@rvc.renesas.com>
3cd232b5
NDD
3131 Nick Clifton <nickc@redhat.com>
3132
3133 * config/v850/v850.md (cbranchsf4): New pattern.
3134 (cstoresf4): New pattern.
3135 (cbranchdf4): New pattern.
3136 (cstoredf4): New pattern.
3137 (movsicc): Disallow floating point comparisons.
3138 (cmpsf_le_insn): Fix order of operators.
3139 (cmpsf_lt_insn): Likewise.
3140 (cmpsf_eq_insn): Likewise.
3141 (cmpdf_le_insn): Likewise.
3142 (cmpdf_lt_insn): Likewise.
3143 (cmpdf_eq_insn): Likewise.
3144 (cmpsf_ge_insn): Use LE comparison.
3145 (cmpdf_ge_insn): Likewise.
3146 (cmpsf_gt_insn): Use LT comparison.
3147 (cmpdf_gt_insn): Likewise.
3148 (cmpsf_ne_insn): Delete pattern.
3149 (cmpdf_ne_insn): Delete pattern.
3150 * config/v850/v850.c (v850_gen_float_compare): Use
3151 gen_cmpdf_eq_insn for NE comparison.
3152 (v850_float_z_comparison_operator)
3153 (v850_float_nz_comparison_operator): Move from here ...
3154 * config/v850/predicates.md: ... to here. Move GT and GE
3155 comparisons into v850_float_z_comparison_operator.
3156 * config/v850/v850-protos.h (v850_float_z_comparison_operator):
3157 Delete prototype.
3158 (v850_float_nz_comparison_operator): Likewise.
3159
f0d54148
JDA
31602013-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3161
3162 * config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv
3163 with calls to gen_insvsi/gen_insvdi.
3164
8f01beca
VK
31652013-01-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
3166
3167 * config/i386/i386.c (initial_ix86_tune_features): Set up
3168 X86_TUNE_AVX128_OPTIMAL for m_BTVER2.
3169
2aa579ad
JJ
31702013-01-09 Steven Bosscher <steven@gcc.gnu.org>
3171 Jakub Jelinek <jakub@redhat.com>
3172
3173 PR tree-optimization/48189
3174 * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
3175 If nitercst is 0, don't predict the exit edge.
3176
6edc3e32 31772013-01-08 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
01a3a324
N
3178
3179 * config/aarch64/aarch64.c (aarch64_print_operand): Replace %r
3180 in asm_fprintf with reg_names.
3181 (aarch64_print_operand_address): Likewise.
3182 (aarch64_return_addr): Likewise.
3183 * config/aarch64/aarch64.h (ASM_FPRINTF_EXTENSIONS): Remove.
3184
f6f94d94
JDA
31852013-01-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3186
3187 * config/pa/pa.h (VAL_U6_BITS_P): Define.
3188 (INT_U6_BITS): Likewise.
3189 * config/pa/predicates.md (uint6_operand): New predicate.
3190 (shift5_operand, shift6_operand): Likewise.
3191 * config/pa/pa.md (lshrsi3, rotrsi3): Use shift5_operand instead of
3192 arith32_operand.
3193 (lshrdi3): Use shift6_operand.
3194 (shrpsi4, shrpdi4): New insn patterns.
3195 (extzv): Delete expander.
3196 (extzvsi, extzvdi): New expanders. Use uint5_operand and uint6_operand
3197 predicates in unamed zero extract patterns. Tighten common constraint.
3198 (extv): Delete expander.
3199 (extvsi, extvdi): New expanders. Use uint5_operand and uint6_operand
3200 predicates in unamed sign extract patterns. Tighten common constraint.
3201 (insv): Delete expander.
3202 (insvsi, insvdi): New expanders. Use uint5_operand and uint6_operand
3203 predicates in unamed insert patterns. Tighten common constraint.
3204 Change uint32_operand predicate to uint6_operand predicate in unamed
3205 DImode pattern to insert constant values of type 1...1xxxx.
3206
36b72910
JH
32072013-01-04 Jan Hubicka <jh@suse.cz>
3208
3209 PR tree-optimization/55823
7b0fe4f4
UB
3210 * ipa-prop.c (update_indirect_edges_after_inlining): Fix ordering
3211 issue.
36b72910 3212
47876a2a 32132013-01-08 Jakub Jelinek <jakub@redhat.com>
c6d851b9
JJ
3214 Uros Bizjak <ubizjak@gmail.com>
3215
3216 PR rtl-optimization/55845
3217 * df-problems.c (can_move_insns_across): Stop scanning at
3218 volatile_insn_p source instruction or give up if
3219 across_from .. across_to range contains any volatile_insn_p
3220 instructions.
3221
4369c11e
TB
32222013-01-08 Tejas Belagod <tejas.belagod@arm.com>
3223
7b0fe4f4
UB
3224 * config/aarch64/aarch64-simd.md (vec_init<mode>): New.
3225 * config/aarch64/aarch64-protos.h (aarch64_expand_vector_init):
3226 Declare.
4369c11e 3227 * config/aarch64/aarch64.c (aarch64_simd_dup_constant,
7b0fe4f4 3228 aarch64_simd_make_constant, aarch64_expand_vector_init): New.
4369c11e 3229
aeb7e7c1
JJ
32302013-01-08 Jakub Jelinek <jakub@redhat.com>
3231
3232 PR fortran/55341
3233 * asan.c (asan_clear_shadow): New function.
3234 (asan_emit_stack_protection): Use it.
3235
a02ad1aa
TB
32362013-01-08 Tejas Belagod <tejas.belagod@arm.com>
3237
3238 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_<su>mult_lo_<mode>,
3239 aarch64_simd_vec_<su>mult_hi_<mode>): Separate instruction and operand
3240 with tab instead of space.
3241
f90d87f5
NC
32422013-01-08 Nick Clifton <nickc@redhat.com>
3243
3244 * config/rl78/rl78.c (rl78_expand_prologue): Always select
3245 register bank 0 at the start of an interrupt handler.
83ffd964
NC
3246 * config/rl78/rl78.md (mulsi3_g13): Correct values for MDBL and
3247 MDBH registers.
f90d87f5 3248
385eb93d
JG
32492013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
3250
3251 * config/aarch64/aarch64-simd.md
3252 (aarch64_simd_bsl<mode>_internal): Add floating-point modes.
3253 (aarch64_simd_bsl): Likewise.
3254 (aarch64_vcond_internal<mode>): Likewise.
3255 (vcond<mode><mode>): Likewise.
3256 (aarch64_cm<cmp><mode>): Fix constraints, add new modes.
3257 * config/aarch64/iterators.md (V_cmp_result): Add V2DF.
3258
4dcd1054
JG
32592013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
3260
3261 * config/aarch64/aarch64-builtins.c
3262 (aarch64_builtin_vectorized_function): Handle sqrt, sqrtf.
3263
4267a4a6
MJ
32642013-01-08 Martin Jambor <mjambor@suse.cz>
3265
3266 PR debug/55579
3267 * tree-sra.c (analyze_access_subtree): Return true also after
3268 potentially creating a debug-only replacement.
3269
5f4e6de3
JJ
32702013-01-08 Jakub Jelinek <jakub@redhat.com>
3271
3138f224
JJ
3272 PR middle-end/55890
3273 * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_p.
3274
5f4e6de3
JJ
3275 PR tree-optimization/54120
3276 * tree-vrp.c (range_fits_type_p): Don't allow
3277 src_precision < precision from signed vr to unsigned_p
3278 if vr->min or vr->max is negative.
3279 (simplify_float_conversion_using_ranges): Test can_float_p
3280 against CODE_FOR_nothing.
3281
f3ef18ff
JJ
32822013-01-08 Jakub Jelinek <jakub@redhat.com>
3283 Richard Biener <rguenther@suse.de>
3284
3285 PR middle-end/55851
3286 * fold-const.c (int_binop_types_match_p): Allow all INTEGRAL_TYPE_P
3287 types instead of just INTEGER_TYPE types.
3288
25c210f9
MK
32892013-01-07 Mark Kettenis <kettenis@openbsd.org>
3290
3291 * config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT,
3292 TF_SIZE): Define.
f90d87f5 3293
81826a7b
SE
32942013-01-07 Steve Ellcey <sellcey@mips.com>
3295
3296 PR target/42661
3297 * config/mips/mips.opt: Change mad to mmad to match documentation.
3298
35678514
GJL
32992013-01-07 Georg-Johann Lay <avr@gjlay.de>
3300
3301 PR target/55897
3302 * doc/extend.texi (AVR Named Address Spaces): __memx goes into
3303 .progmemx.data now.
3304
e5669488
GJL
33052013-01-07 Georg-Johann Lay <avr@gjlay.de>
3306
3307 PR target/55897
3308 * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
3309 (avr_addrspace_t): Add .section_name field.
3310 * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
3311 array size.
3312 (avr_addrspace): Same. Initialize .section_name. Remove last
3313 NULL entry. Put __memx into .progmemx.data.
3314 (progmem_section_prefix): Remove.
3315 (avr_asm_init_sections): No need to initialize progmem_section.
3316 (avr_asm_named_section): Use avr_addrspace[].section_name to get
3317 section name prefix.
3318 (avr_asm_select_section): Ditto. And use get_unnamed_section to
3319 retrieve the progmem section.
3320 * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
3321 boundary to run over avr_addrspace[].
3322 (avr_register_target_pragmas): Ditto.
3323
656e6f37
JJ
33242013-01-06 Jakub Jelinek <jakub@redhat.com>
3325
3326 * varasm.c (output_constant_def_contents): For asan_protect_global
3327 protected strings, adjust DECL_ALIGN if needed, before testing for
3328 anchored symbols.
3329 (place_block_symbol): Adjust size for asan protected STRING_CSTs if
3330 TREE_CONSTANT_POOL_ADDRESS_P. Increase alignment for asan protected
3331 normal decls.
3332 (output_object_block): For asan protected decls, emit asan padding
3333 after their contents.
3334 * asan.c (asan_protect_global): Don't check TREE_ASM_WRITTEN here.
3335 (asan_finish_file): Test it here instead.
3336
6edc3e32
UB
33372013-01-07 Nick Clifton <nickc@redhat.com>
3338 Matthias Klose <doko@debian.org>
3339 Doug Kwan <dougkwan@google.com>
3340 H.J. Lu <hongjiu.lu@intel.com>
b352afba
NC
3341
3342 PR driver/55470
3343 * collect2.c (main): Support -fuse-ld=bfd and -fuse-ld=gold.
3344
3345 * common.opt: Add fuse-ld=bfd and fuse-ld=gold.
3346
3347 * gcc.c (LINK_COMMAND_SPEC): Pass -fuse-ld=* to collect2.
3348
7b0fe4f4 3349 * opts.c (comman_handle_option): Ignore -fuse-ld=bfd and -fuse-ld=gold.
b352afba
NC
3350
3351 * doc/invoke.texi: Document -fuse-ld=bfd and -fuse-ld=gold.
3352
2a095093
GJL
33532013-01-07 Georg-Johann Lay <avr@gjlay.de>
3354
f3b503f4 3355 PR target/54461
2a095093
GJL
3356 * doc/install.texi (Cross-Compiler-Specific Options): Document
3357 --with-avrlibc.
3358
383f9b34
TB
33592013-01-07 Tejas Belagod <tejas.belagod@arm.com>
3360
3361 * config/aarch64/arm_neon.h (vmovn_high_is16, vmovn_high_s32,
3362 vmovn_high_s64, vmovn_high_u16, vmovn_high_u32, vmovn_high_u64,
3363 vqmovn_high_s16, vqmovn_high_s32, vqmovn_high_s64, vqmovn_high_u16,
3364 vqmovn_high_u32, vqmovn_high_u64, vqmovun_high_s16, vqmovun_high_s32,
3365 vqmovun_high_s64): Fix source operand number and update copyright.
3366
3626621a
RB
33672013-01-07 Richard Biener <rguenther@suse.de>
3368
3369 PR middle-end/55890
3370 * gimple.h (gimple_call_builtin_p): New overload.
3371 * gimple.c (validate_call): New function.
3372 (gimple_call_builtin_p): Likewise.
3373 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
3374 Use gimple_call_builtin_p.
3375 (find_func_clobbers): Likewise.
3376 * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
3377 (strlen_optimize_stmt): Likewise.
3378
8b2ea410
JG
33792013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
3380
3381 * config/aarch64/arm_neon.h (vld1_dup_*): Make argument const.
3382 (vld1q_dup_*): Likewise.
3383 (vld1_*): Likewise.
3384 (vld1q_*): Likewise.
3385 (vld1_lane_*): Likewise.
3386 (vld1q_lane_*): Likewise.
3387
9713d329
RB
33882013-01-07 Richard Biener <rguenther@suse.de>
3389
3390 * lto-streamer.h (LTO_minor_version): Bump to 2.
3391
3520f7cc
JG
33922013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
3393
3394 * config/aarch64/aarch64-protos.h
3395 (aarch64_const_double_zero_rtx_p): Rename to...
3396 (aarch64_float_const_zero_rtx_p): ...this.
3397 (aarch64_float_const_representable_p): New.
3398 (aarch64_output_simd_mov_immediate): Likewise.
3399 * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Refactor
3400 move immediate case.
3401 * config/aarch64/aarch64.c
3402 (aarch64_const_double_zero_rtx_p): Rename to...
3403 (aarch64_float_const_zero_rtx_p): ...this.
3404 (aarch64_print_operand): Allow printing of new constants.
3405 (aarch64_valid_floating_const): New.
3406 (aarch64_legitimate_constant_p): Check for valid floating-point
3407 constants.
3408 (aarch64_simd_valid_immediate): Likewise.
3409 (aarch64_vect_float_const_representable_p): New.
3410 (aarch64_float_const_representable_p): Likewise.
3411 (aarch64_simd_imm_zero_p): Also allow for floating-point 0.0.
3412 (aarch64_output_simd_mov_immediate): New.
3413 * config/aarch64/aarch64.md (*movsf_aarch64): Add new alternative.
3414 (*movdf_aarch64): Likewise.
3415 * config/aarch64/constraints.md (Ufc): New.
3416 (Y): call aarch64_float_const_zero_rtx.
3417 * config/aarch64/predicates.md (aarch64_fp_compare_operand): New.
3418
e167c04d
RB
34192013-01-07 Richard Biener <rguenther@suse.de>
3420
3421 PR tree-optimization/55888
3422 PR tree-optimization/55862
3423 * tree-ssa-pre.c (phi_translate_1): Revert previous change.
3424 (valid_in_sets): Check if a NAME has a leader in AVAIL_OUT,
3425 not if it is contained therein.
3426
0139aaab
GJL
34272013-01-07 Georg-Johann Lay <avr@gjlay.de>
3428
3429 * config/avr/t-avr: Typo.
3430
4a176b23
GJL
34312013-01-07 Georg-Johann Lay <avr@gjlay.de>
3432
3433 PR55243
3434 * config/avr/t-avr: Don't automatically rebuild
3435 $(srcdir)/config/avr/t-multilib
3436 $(srcdir)/config/avr/avr-tables.opt
3437 $(srcdir)/doc/avr-mmcu.texi
3438 (avr-mcus): New phony target to build them on request.
3439 (s-avr-mlib, s-avr-mmcu-texi): Remove.
3440 * avr/avr-mcus.def: Adjust comments.
3441
c7afdc98
UB
34422013-01-07 Uros Bizjak <ubizjak@gmail.com>
3443
3444 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.
3445
1ab05c31
RS
34462013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
3447
3448 * file-find.c, file-find.h, realmpfr.c: Add FSF as copyright holder.
3449
488e3acc
RS
34502013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
3451
3452 * config/tilepro/gen-mul-tables.cc: Put copyright on one line.
3453
a89599d2
DE
34542013-01-05 David Edelsohn <dje.gcc@gmail.com>
3455
3456 * config/rs6000/aix53.h (LIB_SPEC): Add -lpthreads when compiling
3457 to generate profiling.
3458 * config/rs6000/aix64.h (LIB_SPEC): Same.
3459
70f09188
AP
34602013-01-04 Andrew Pinski <apinski@cavium.com>
3461
3462 * config/aarch64/aarch64.c (aarch64_fixed_condition_code_regs):
3463 New function.
3464 (TARGET_FIXED_CONDITION_CODE_REGS): Define.
3465
918d445f
UB
34662013-01-04 Uros Bizjak <ubizjak@gmail.com>
3467
3468 * config/i386/i386.c (ix86_legitimize_address): Call convert_to_mode
3469 unconditionally.
3470 (ix86_expand_move): Ditto.
3471 (ix86_zero_extend_to_Pmode): Ditto.
3472 (ix86_expand_call): Ditto.
3473 (ix86_expand_special_args_builtin): Ditto.
3474 (ix86_expand_builtin): Ditto.
3475
361618ec
RB
34762013-01-04 Richard Biener <rguenther@suse.de>
3477
3478 PR tree-optimization/55862
3479 * tree-ssa-pre.c (phi_translate_1): Valueize SSA names after
3480 translating them through PHI nodes.
3481
87eab554
MJ
34822013-01-04 Martin Jambor <mjambor@suse.cz>
3483
3484 PR tree-optimization/55755
3485 * tree-sra.c (sra_modify_assign): Do not check that an access has no
3486 children when trying to avoid producing a VIEW_CONVERT_EXPR.
3487
33879b9f
MP
34882013-01-04 Marek Polacek <polacek@redhat.com>
3489
3490 PR middle-end/55859
3491 * opts.c (default_options_optimization): Clarify error message.
3492
3068819a
RB
34932013-01-04 Richard Biener <rguenther@suse.de>
3494
3495 PR middle-end/55863
3496 * fold-const.c (split_tree): Undo -X - 1 to ~X folding for
3497 reassociation.
3498
0e4ae794
JDA
34992013-01-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3500
3501 PR target/53789
3502 * config/pa/pa.md (movsi): Revert previous change.
e58d2e48
JDA
3503 * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
3504 references.
0e4ae794 3505
65c88cef
RH
35062013-01-03 Richard Henderson <rth@redhat.com>
3507
3508 * config/i386/i386.c (ix86_expand_move): Always assign to op1
3509 after eliminating TLS symbols.
3510
8ac16127
MG
35112013-01-03 Marc Glisse <marc.glisse@inria.fr>
3512
3513 PR bootstrap/50167
3514 * graphite-interchange.c (pdr_stride_in_loop): Use gmp_fprintf.
3515 * graphite-poly.c (debug_gmp_value): Likewise.
3516
bb664f09
UB
35172013-01-03 Uros Bizjak <ubizjak@gmail.com>
3518
3519 PR target/55712
3520 * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
3521 selected code model, define __code_mode_small__, __code_model_medium__,
3522 __code_model_large__, __code_model_32__ or __code_model_kernel__.
3523 * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
3524 xchg temporary register with %k. Declare temporary register as
3525 early clobbered.
3526 [__x86_64__]: For medium and large code models, preserve %rbx register.
3527
bcf1ef00
RB
35282013-01-03 Richard Biener <rguenther@suse.de>
3529
0506634a 3530 * tree-data-ref.c (dump_conflict_function): Use less vertical spacing.
bcf1ef00
RB
3531 (dump_subscript): Adjust.
3532 (finalize_ddr_dependent): Do not dump redundant info.
3533 (analyze_siv_subscript): Adjust.
3534 (subscript_dependence_tester): Likewise.
3535 (compute_affine_dependence): Likewise.
3536
59fd17e3
RB
35372013-01-03 Richard Biener <rguenther@suse.de>
3538
3539 Revert
3540 2013-01-03 Richard Biener <rguenther@suse.de>
3541
3542 PR tree-optimization/55857
3543 * tree-vect-stmts.c (vectorizable_load): Do not setup
3544 re-alignment for invariant loads.
3545
3546 2013-01-02 Richard Biener <rguenther@suse.de>
3547
3548 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
0506634a 3549 invariant load do not generate a vector load from the scalar location.
59fd17e3 3550
595c2679
RB
35512013-01-03 Richard Biener <rguenther@suse.de>
3552
3553 * tree-vect-loop.c (vect_analyze_loop_form): Clarify reason
3554 for not vectorizing.
3555 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
3556 not build INDIRECT_REFs, call get_name once only.
3557 (vect_create_data_ref_ptr): Likewise. Dump base object kind
3558 based on DR_BASE_OBJECT, not DR_BASE_ADDRESS.
3559
90bb7d7a
RB
35602013-01-03 Richard Biener <rguenther@suse.de>
3561
3562 PR tree-optimization/55857
3563 * tree-vect-stmts.c (vectorizable_load): Do not setup
3564 re-alignment for invariant loads.
3565
f09b77ca
RB
35662013-01-03 Richard Biener <rguenther@suse.de>
3567
3568 PR lto/55848
3569 * lto-symtab.c (lto_symtab_merge_decls_1): As last resort, always
3570 prefer a built-in decl.
3571
3461a16e
JJ
35722013-01-03 Jakub Jelinek <jakub@redhat.com>
3573
df8e2b4f
JJ
3574 * gcc.c (process_command): Update copyright notice dates.
3575 * gcov.c (print_version): Likewise.
3576 * gcov-dump.c (print_version): Likewise.
3577
3461a16e
JJ
3578 PR rtl-optimization/55838
3579 * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
3580 iv0.step, iv1.step and step.
3581
8b5546d6
JJ
35822013-01-03 Jakub Jelinek <jakub@redhat.com>
3583 Marc Glisse <marc.glisse@inria.fr>
3584
3585 PR tree-optimization/55832
3586 * fold-const.c (fold_binary_loc): For ABS_EXPR<x> >= 0 and
3587 ABS_EXPR<x> < 0 folding use constant_boolean_node instead of
3588 integer_{one,zero}_node.
3589
8ab1d2e9
JJ
35902013-01-03 Jakub Jelinek <jakub@redhat.com>
3591
3592 PR debug/54402
3593 * params.def (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE): New param.
3594 * var-tracking.c (reverse_op): Don't add reverse ops to
3595 VALUEs that have already
0506634a 3596 PARAM_VALUE (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE) or longer locs list.
8ab1d2e9 3597
5b9ad1d4
GP
35982013-01-02 Gerald Pfeifer <gerald@pfeifer.com>
3599
3600 * doc/contrib.texi: Note years as release manager for Mark Mitchell.
3601
e25a6711
TJ
36022013-01-02 Teresa Johnson <tejohnson@google.com>
3603
3604 * dumpfile.c (dump_loc): Print filename with location.
3605 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Use
3606 new location_t parameter to emit complete unroll message with
3607 new dump framework.
3608 (canonicalize_loop_induction_variables): Compute loops location
3609 and pass to try_unroll_loop_completely.
3610 * loop-unroll.c (report_unroll_peel): New function.
3611 (peel_loops_completely): Use new dump format with location
3612 for main dumpfile message, and invoke report_unroll_peel on success.
3613 (decide_unrolling_and_peeling): Ditto.
3614 (decide_peel_once_rolling): Remove old dumpfile message subsumed
3615 by report_unroll_peel.
3616 (decide_peel_completely): Ditto.
3617 (decide_unroll_constant_iterations): Ditto.
3618 (decide_unroll_runtime_iterations): Ditto.
3619 (decide_peel_simple): Ditto.
3620 (decide_unroll_stupid): Ditto.
3621 * cfgloop.c (get_loop_location): New function.
3622 * cfgloop.h (get_loop_location): Declare.
3623
77878621
ST
36242013-01-02 Sriraman Tallam <tmsriram@google.com>
3625
3626 * config/i386/i386.c (fold_builtin_cpu): Remove unnecessary checks for
3627 NULL.
3628
9e65d03e
JDA
36292013-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3630
3631 PR middle-end/55198
3632 * expr.c (expand_expr_real_1): Don't use bitfield extraction for non
3633 BLKmode objects when EXPAND_MEMORY is specified.
3634
6a7da30f
ST
36352013-01-02 Sriraman Tallam <tmsriram@google.com>
3636
3637 * config/i386/i386.c (ix86_get_function_versions_dispatcher): Fix bug
3638 in loop predicate.
3639 (fold_builtin_cpu): Do not share cpu model decls across statements.
3640
e78167f2
JM
36412013-01-02 Jason Merrill <jason@redhat.com>
3642
3643 PR c++/55804
3644 * tree.c (build_array_type_1): Revert earlier change.
3645
8c075fb4
YZ
36462013-01-02 Yufeng Zhang <yufeng.zhang@arm.com>
3647
3648 * config/aarch64/aarch64-cores.def: Add entries for "cortex-a53" and
3649 "cortex-a57".
3650 * config/aarch64/aarch64-tune.md: Re-generate.
3651
0682ed3e
RB
36522013-01-02 Richard Biener <rguenther@suse.de>
3653
3654 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
0506634a 3655 invariant load do not generate a vector load from the scalar location.
0682ed3e 3656
b8f6a302
RB
36572013-01-02 Richard Biener <rguenther@suse.de>
3658
3659 PR bootstrap/55784
3660 * configure.ac: Add $GMPINC to CFLAGS/CXXFLAGS.
3661 * configure: Regenerate.
3662
04b80dbb
RS
36632013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3664
3665 * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2)
3666 (expand_builtin_mathfn_ternary, expand_builtin_mathfn_3)
3667 (expand_builtin_int_roundingfn_2): Keep the original target around
3668 for the fallback case.
3669
635b0b0c
RS
36702013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3671
3672 * tree-vrp.c (range_fits_type_p): Require the MSB of the double_int
3673 to be clear for sign changes.
3674
42d57399
JH
36752013-01-01 Jan Hubicka <jh@suse.cz>
3676
3677 * ipa-inline-analysis.c: Fix formatting.
3678
5bb6669d
JJ
36792013-01-01 Jakub Jelinek <jakub@redhat.com>
3680
3681 PR tree-optimization/55831
3682 * tree-vect-loop.c (get_initial_def_for_induction): Use
3683 gsi_after_labels instead of gsi_start_bb.
ad41bd84 3684\f
86a2db33 3685Copyright (C) 2013 Free Software Foundation, Inc.
ad41bd84
JM
3686
3687Copying and distribution of this file, with or without modification,
3688are permitted in any medium without royalty provided the copyright
3689notice and this notice are preserved.