]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
re PR middle-end/56461 (GCC is leaking lots of memory)
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
97785e52
JJ
12013-02-27 Jakub Jelinek <jakub@redhat.com>
2
f121ad02
JJ
3 PR middle-end/56461
4 * tree-vect-loop.c (vectorizable_reduction): Release vect_defs
5 vector.
6
307f83a3
JJ
7 PR middle-end/56461
8 * ipa-pure-const.c (propagate): Use FOR_EACH_FUNCTION instead of
9 FOR_EACH_DEFINED_FUNCTION when freeing state.
10
e19624ee
JJ
11 PR middle-end/56461
12 * df-scan.c (df_insn_delete): Use df_scan_free_mws_vec before
13 pool_free.
14 (df_insn_rescan_debug_internal): Use df_scan_free_mws_vec before
15 overwriting it.
16
90e709fd
JJ
17 PR middle-end/56461
18 * ipa-cp.c (decide_whether_version_node): Call vec_free on
19 known_aggs[i].items and release known_aggs vector.
20
97785e52
JJ
21 PR middle-end/56461
22 * ipa-reference.c (propagate): Free node_info even for alias nodes.
23
242013-02-27 Edgar E. Iglesias <edgar.iglesias@gmail.com>
bbb3a9e2 25
97785e52
JJ
26 * config/microblaze/microblaze.c (microblaze_emit_compare):
27 Use xor for EQ/NE comparisions.
28 * config/microblaze/microblaze.md (cstoresf4): Add constraints
29 (cbranchsf4): Adjust operator to comparison_operator.
bbb3a9e2 30
6fa5e0ed
JJ
312013-02-27 Jakub Jelinek <jakub@redhat.com>
32
33 PR middle-end/56461
34 * tree-flow.h (edge_var_map_vector): Change into va_heap, vl_embed
35 vector.
36 * tree-ssa.c (redirect_edge_var_map_add): Use vec_safe_reserve and
37 vec_safe_push, always update *slot.
38 (redirect_edge_var_map_clear): Use vec_free.
39 (redirect_edge_var_map_dup): Use vec_safe_copy and vec_safe_reserve.
40 (free_var_map_entry): Use vec_free.
41 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Use
42 FOR_EACH_VEC_SAFE_ELT instead of FOR_EACH_VEC_ELT.
43
436a956a
AB
442013-02-27 Andrey Belevantsev <abel@ispras.ru>
45
46 PR middle-end/45472
436a956a
AB
47 * sel-sched-ir.c (merge_expr): Also change vinsn of merged expr
48 when the may_trap_p bit of the exprs being merged differs.
436a956a
AB
49 Reorder tests for speculativeness in the logical and operator.
50
f5c2caca
JJ
512013-02-27 Jakub Jelinek <jakub@redhat.com>
52
0fcb564b
JJ
53 * incpath.c (add_standard_paths): Use reconcat instead of concat
54 where appropriate and avoid leaking memory.
55
dc357798
JJ
56 * opts.h: Include obstack.h.
57 (opts_concat): New prototype.
58 (opts_obstack): New declaration.
59 * opts.c (opts_concat): New function.
60 (opts_obstack): New variable.
61 (init_options_struct): Call gcc_init_obstack on opts_obstack.
62 (finish_options): Use opts_concat instead of concat
63 and XOBNEWVEC instead of XNEWVEC.
64 * opts-common.c (generate_canonical_option, decode_cmdline_option,
65 generate_option): Likewise.
66 * Makefile.in (OPTS_H): Depend on $(OBSTACK_H).
67 * lto-wrapper.c (main): Call gcc_init_obstack on opts_obstack.
68
f5c2caca
JJ
69 PR target/56455
70 * stmt.c (expand_switch_as_decision_tree_p): If flag_pic
71 and ASM_OUTPUT_ADDR_DIFF_ELT isn't defined, return true.
72
d0163673
JJ
732013-02-26 Jakub Jelinek <jakub@redhat.com>
74
75 PR middle-end/56461
76 * lra-spills.c (lra_spill): Free spill_hard_reg at the end.
77
b5ad2b8e
JR
782013-02-26 Joern Rennecke <joern.rennecke@embecosm.com>
79
80 * config/arm/arm.c (const_ok_for_dimode_op): Back out last change.
81 (arm_block_move_unaligned_straight): Likewise.
82 (arm_adjust_block_mem): Likewise.
83
9b639e2c
JR
842013-02-26 Joern Rennecke <joern.rennecke@embecosm.com>
85
86 PR target/48901
87 * config/lm32/lm32.c (gen_int_relational): Remove unused variables
88 temp, cond and label.
89 * config/lm32/lm32.md (ashlsi3): Remove unused variable one.
90
e13a0ccb
JR
91 PR target/52500
92 * config/c6x/c6x.c (dbx_register_map): Change to unsigned.
93 * config/c6x/c6x.h (dbx_register_map): Update declaration.
94
fbe4f171
JR
95 PR target/52501
96 * config/cr16/cr16-protos.h: Move end of RTX_CODE guard below end
97 of prologue/epilogue functions.
98
ae006543
JR
99 PR target/52550
100 * config/tilegx/tilegx.c (tilegx_expand_prologue):
101 Remove unused variable cfa_offset.
102 * config/tilepro/tilepro.c (tilepro_expand_prologue): Likewise.
103
c81369fa
JR
104 PR target/54639
105 * config/mn10300/mn10300.c (mn10300_expand_epilogue): Avoid offset
106 type promotion to unsigned.
107
f8a8fea7
JR
108 PR target/54640
109 * config/arm/arm.c (const_ok_for_dimode_op): Make code consistent
110 for HOST_WIDE_INT of 32 bit / same size as int.
111 (arm_block_move_unaligned_straight): Likewise.
112 (arm_adjust_block_mem): Likewise.
113
f8be5169
JR
114 PR target/54662
115 * config/mep/t-mep (mep-pragma.o): Use ALL_COMPILERFLAGS instead of
116 ALL_CFLAGS.
117
f1ad3354
MP
1182013-02-26 Marek Polacek <polacek@redhat.com>
119
120 PR tree-optimization/56426
121 * tree-ssa-loop.c (tree_ssa_loop_init): Always call
122 scev_initialize.
123
a6af0f42
RB
1242013-02-26 Richard Biener <rguenther@suse.de>
125
126 PR target/56444
127 * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc): Remove
128 unused variable loops.
129
aca43c6c
JJ
1302013-02-26 Jakub Jelinek <jakub@redhat.com>
131
cecbe5d9
JJ
132 PR tree-optimization/56448
133 * fold-const.c (operand_equal_p) <case tcc_reference>: Don't look at
134 TREE_SIDE_EFFECTS if flags contain OEP_CONSTANT_ADDRESS_OF.
135 Clear OEP_CONSTANT_ADDRESS_OF from flags before recursing on second or
136 later operands of the references, or even first operand for
137 INDIRECT_REF, TARGET_MEM_REF or MEM_REF.
138
aca43c6c
JJ
139 PR tree-optimization/56443
140 * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For
141 overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument
142 to type_for_mode langhook.
143
53e2e141
MT
1442013-02-25 Matt Turner <mattst88@gmail.com>
145
146 * doc/invoke.texi: Document r4700.
147
259ee451
RB
1482013-02-25 Richard Biener <rguenther@suse.de>
149
150 PR tree-optimization/56175
151 * tree-ssa-forwprop.c (hoist_conversion_for_bitop_p): New predicate,
152 split out from ...
153 (simplify_bitwise_binary): ... here. Also guard the conversion
154 of (type) X op CST to (type) (X op ((type-x) CST)) with it.
155
6d65e8f1
CM
1562013-02-25 Catherine Moore <clm@codesourcery.com>
157
158 Revert:
159 2013-02-24 Catherine Moore <clm@codesourcery.com>
160 Maciej W. Rozycki <macro@codesourcery.com>
161 Tom de Vries <tom@codesourcery.com>
162 Nathan Sidwell <nathan@codesourcery.com>
163 Iain Sandoe <iain@codesourcery.com>
164 Nathan Froyd <froydnj@codesourcery.com>
165 Chao-ying Fu <fu@mips.com>
166 * doc/extend.texi: (micromips, nomicromips, nocompression):
167 Document new function attributes.
168 * doc/invoke.texi (minterlink-compressed, mmicromips,
169 m14k, m14ke, m14kec): Document new options.
170 (minterlink-mips16): Update documentation.
171 * doc/md.texi (ZC, ZD): Document new constraints.
172 * configure.ac (gcc_cv_as_micromips): Check if linker
173 supports the .set micromips directive.
174 * configure: Regenerate.
175 * config.in: Regenerate.
176 * config/mips/mips-tables.opt: Regenerate.
177 * config/mips/micromips.md: New file.
178 * constraints.md (ZC, AD): New constraints.
179 * config/mips/predicates.md (movep_src_register): New predicate.
180 (movep_src_operand): New predicate.
181 (non_volatile_mem_operand): New predicate.
182 * config/mips/mips.md (multimem): New type.
183 (length): Differentiate between 17-bit and 18-bit branch offsets.
184 (MOVEP1, MOVEP2): New mode iterator.
185 (mov_<load>l): Use ZC constraint.
186 (mov_<load>r): Likewise.
187 (mov_<store>l): Likewise.
188 (mov_<store>r): Likewise.
189 (*branch_equality<mode>_inverted): Add microMIPS support.
190 (*branch_equality<mode>): Likewise.
191 (*jump_absolute): Likewise.
192 (indirect_jump_<mode>): Likewise.
193 (tablejump_<mode>): Likewise.
194 (<optab>_internal): Likewise.
195 (sibcall_internal): Likewise.
196 (sibcall_value_internal): Likewise.
197 (prefetch): Use constraint ZD.
198 * config/mips/mips.opt (minterlink-compressed): New option.
199 (minterlink-mips16): Now an alias for minterlink-compressed.
200 (mmicromips): New option.
201 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
202 (compare_and_swap_12): Likewise.
203 (sync_add<mode>): Likewise.
204 (sync_<optab>_12): Likewise.
205 (sync_old_<optab>_12): Likewise.
206 (sync_new_<optab>_12): Likewise.
207 (sync_nand_12): Likewise.
208 (sync_old_nand_12): Likewise.
209 (sync_new_nand_12): Likewise.
210 (sync_sub<mode>): Likewise.
211 (sync_old_add<mode>): Likewise.
212 (sync_old_sub<mode>): Likewise.
213 (sync_new_add<mode>): Likewise.
214 (sync_new_sub<mode>): Likewise.
215 (sync_<optab><mode>): Likewise.
216 (sync_old_<optab><mode>): Likewise.
217 (sync_new_<optab><mode>): Likewise.
218 (sync_nand<mode>): Likewise.
219 (sync_old_nand<mode>): Likewise.
220 (sync_new_nand<mode>): Likewise.
221 (sync_lock_test_and_set<mode>): Likewise.
222 (test_and_set_12): Likewise.
223 (atomic_compare_and_swap<mode>): Likewise.
224 (atomic_exchange<mode>_llsc): Likewise.
225 (atomic_fetch_add<mode>_llsc): Likewise.
226 * config/mips/mips-cpus.def (m14kc, m14k): New processors.
227 * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
228 (umips_save_restore_pattern_p): Likewise.
229 (umips_load_store_pair_p): Likewise.
230 (umips_output_load_store_pair): Likewise.
231 (umips_movep_target_p): Likewise.
232 (umips_12bit_offset_address_p): Likewise.
233 * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
234 (mips_base_mips16): Rename this...
235 (mips_base_compression_flags): ...to this. Update all uses.
236 (mips_attribute_table): Add micromips, nomicromips and nocompression.
237 (mips_mips16_decl_p): Delete.
238 (mips_nomips16_decl_p): Delete.
239 (mips_get_compress_on_flags): New function.
240 (mips_get_compress_off_flags): New function.
241 (mips_get_compress_mode): New function.
242 (mips_get_compress_on_name): New function.
243 (mips_get_compress_off_name): New function.
244 (mips_insert_attributes): Support multiple compression types.
245 (mips_merge_decl_attributes): Likewise.
246 (umips_12bit_offset_address_p): New function.
247 (mips_start_function_definition): Emit .set micromips directive.
248 (mips_call_may_need_jalx_p): New function.
249 (mips_function_ok_for_sibcall): Add microMIPS support.
250 (mips_print_operand_punctuation): Support short delay slots and
251 compact jumps.
252 (umips_swm_mask, umips_swm_encoding): New.
253 (umips_build_save_restore): New function.
254 (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
255 (was_mips16_p): Remove.
256 (old_compression_mode): New.
257 (mips_set_compression_mode): New function.
258 (mips_set_current_function): Add microMIPS support.
259 (mips_option_override): Likewise.
260 (umips_save_restore_pattern_p): New function.
261 (umips_output_save_restore): New function.
262 (umips_load_store_pair_p_1): New function.
263 (umips_load_store_pair_p): New function.
264 (umips_output_load_store_pair_1): New function.
265 (umips_output_load_store_pair): New function.
266 (umips_movep_target_p) New function.
267 (mips_prepare_pch_save): Add microMIPS support.
268 * config/mips/mips.h (TARGET_COMPRESSION): New.
269 (TARGET_CPU_CPP_BUILTINS): Update macro
270 to use new compression flags and to support microMIPS.
271 (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
272 (MIPS_ARCH_FLOAT_SPEC): Likewise.
273 (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
274 (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
275 (ASM_SPEC): Support mmicromips and mno-micromips.
276 (M16STORE_REG_P): New macro.
277 (MIPS_CALL): Support TARGET_MICROMIPS.
278 (MICROMIPS_J): New macro.
279 (mips_base_mips16): Rename this...
280 (mips_base_compression_flags): ...to this.
281 (UMIPS_12BIT_OFFSET_P): New macro.
282 * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
283 (MULTILIB_DIRNAMES): Likewise.
284
5e5df392
TV
2852013-02-25 Tom de Vries <tom@codesourcery.com>
286
287 PR rtl-optimization/56131
288 * insn-notes.def (INSN_NOTE_BASIC_BLOCK): Update comment.
289 * cfgrtl.c (delete_insn): Don't reorder NOTE_INSN_DELETED_LABEL and
290 NOTE_INSN_BASIC_BLOCK if BLOCK_FOR_INSN == NULL.
291
3fdb53c1
TB
2922013-02-25 Tobias Burnus <burnus@net-b.de>
293
294 * doc/invoke.texi (-fsanitize=): Move from optimization
295 to debugging options.
296
ed358aea
AB
2972013-02-25 Andrey Belevantsev <abel@ispras.ru>
298
299 * sched-deps.c (sched_analyze_insn): Fix typo in comment.
300
f45e9053
AB
3012013-02-25 Andrey Belevantsev <abel@ispras.ru>
302 Alexander Monakov <amonakov@ispras.ru>
303
304 PR middle-end/56077
305 * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
306 flush pending lists also on non-jumps. Adjust comment.
307
6941b508
CM
3082013-02-24 Catherine Moore <clm@codesourcery.com>
309 Maciej W. Rozycki <macro@codesourcery.com>
310 Tom de Vries <tom@codesourcery.com>
311 Nathan Sidwell <nathan@codesourcery.com>
312 Iain Sandoe <iain@codesourcery.com>
313 Nathan Froyd <froydnj@codesourcery.com>
314 Chao-ying Fu <fu@mips.com>
315
316 * doc/extend.texi: (micromips, nomicromips, nocompression):
317 Document new function attributes.
318 * doc/invoke.texi (minterlink-compressed, mmicromips,
319 m14k, m14ke, m14kec): Document new options.
320 (minterlink-mips16): Update documentation.
321 * doc/md.texi (ZC, ZD): Document new constraints.
322 * configure.ac (gcc_cv_as_micromips): Check if linker
323 supports the .set micromips directive.
324 * configure: Regenerate.
325 * config.in: Regenerate.
326 * config/mips/mips-tables.opt: Regenerate.
327 * config/mips/micromips.md: New file.
328 * constraints.md (ZC, AD): New constraints.
329 * config/mips/predicates.md (movep_src_register): New predicate.
330 (movep_src_operand): New predicate.
331 (non_volatile_mem_operand): New predicate.
332 * config/mips/mips.md (multimem): New type.
333 (length): Differentiate between 17-bit and 18-bit branch offsets.
334 (MOVEP1, MOVEP2): New mode iterator.
3fdb53c1 335 (mov_<load>l): Use ZC constraint.
6941b508
CM
336 (mov_<load>r): Likewise.
337 (mov_<store>l): Likewise.
338 (mov_<store>r): Likewise.
339 (*branch_equality<mode>_inverted): Add microMIPS support.
340 (*branch_equality<mode>): Likewise.
341 (*jump_absolute): Likewise.
342 (indirect_jump_<mode>): Likewise.
343 (tablejump_<mode>): Likewise.
344 (<optab>_internal): Likewise.
345 (sibcall_internal): Likewise.
346 (sibcall_value_internal): Likewise.
347 (prefetch): Use constraint ZD.
348 * config/mips/mips.opt (minterlink-compressed): New option.
349 (minterlink-mips16): Now an alias for minterlink-compressed.
350 (mmicromips): New option.
351 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
352 (compare_and_swap_12): Likewise.
353 (sync_add<mode>): Likewise.
354 (sync_<optab>_12): Likewise.
355 (sync_old_<optab>_12): Likewise.
356 (sync_new_<optab>_12): Likewise.
357 (sync_nand_12): Likewise.
358 (sync_old_nand_12): Likewise.
359 (sync_new_nand_12): Likewise.
360 (sync_sub<mode>): Likewise.
361 (sync_old_add<mode>): Likewise.
362 (sync_old_sub<mode>): Likewise.
363 (sync_new_add<mode>): Likewise.
364 (sync_new_sub<mode>): Likewise.
365 (sync_<optab><mode>): Likewise.
366 (sync_old_<optab><mode>): Likewise.
367 (sync_new_<optab><mode>): Likewise.
368 (sync_nand<mode>): Likewise.
369 (sync_old_nand<mode>): Likewise.
370 (sync_new_nand<mode>): Likewise.
371 (sync_lock_test_and_set<mode>): Likewise.
372 (test_and_set_12): Likewise.
373 (atomic_compare_and_swap<mode>): Likewise.
374 (atomic_exchange<mode>_llsc): Likewise.
375 (atomic_fetch_add<mode>_llsc): Likewise.
376 * config/mips/mips-cpus.def (m14kc, m14k): New processors.
377 * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
378 (umips_save_restore_pattern_p): Likewise.
379 (umips_load_store_pair_p): Likewise.
380 (umips_output_load_store_pair): Likewise.
381 (umips_movep_target_p): Likewise.
382 (umips_12bit_offset_address_p): Likewise.
383 * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
384 (mips_base_mips16): Rename this...
385 (mips_base_compression_flags): ...to this. Update all uses.
386 (mips_attribute_table): Add micromips, nomicromips and nocompression.
387 (mips_mips16_decl_p): Delete.
388 (mips_nomips16_decl_p): Delete.
3fdb53c1 389 (mips_get_compress_on_flags): New function.
6941b508
CM
390 (mips_get_compress_off_flags): New function.
391 (mips_get_compress_mode): New function.
392 (mips_get_compress_on_name): New function.
393 (mips_get_compress_off_name): New function.
394 (mips_insert_attributes): Support multiple compression types.
395 (mips_merge_decl_attributes): Likewise.
396 (umips_12bit_offset_address_p): New function.
397 (mips_start_function_definition): Emit .set micromips directive.
398 (mips_call_may_need_jalx_p): New function.
399 (mips_function_ok_for_sibcall): Add microMIPS support.
400 (mips_print_operand_punctuation): Support short delay slots and
401 compact jumps.
402 (umips_swm_mask, umips_swm_encoding): New.
403 (umips_build_save_restore): New function.
404 (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
405 (was_mips16_p): Remove.
406 (old_compression_mode): New.
407 (mips_set_compression_mode): New function.
408 (mips_set_current_function): Add microMIPS support.
409 (mips_option_override): Likewise.
410 (umips_save_restore_pattern_p): New function.
411 (umips_output_save_restore): New function.
412 (umips_load_store_pair_p_1): New function.
413 (umips_load_store_pair_p): New function.
414 (umips_output_load_store_pair_1): New function.
415 (umips_output_load_store_pair): New function.
416 (umips_movep_target_p) New function.
417 (mips_prepare_pch_save): Add microMIPS support.
418 * config/mips/mips.h (TARGET_COMPRESSION): New.
419 (TARGET_CPU_CPP_BUILTINS): Update macro
420 to use new compression flags and to support microMIPS.
421 (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
422 (MIPS_ARCH_FLOAT_SPEC): Likewise.
423 (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
424 (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
425 (ASM_SPEC): Support mmicromips and mno-micromips.
426 (M16STORE_REG_P): New macro.
427 (MIPS_CALL): Support TARGET_MICROMIPS.
428 (MICROMIPS_J): New macro.
429 (mips_base_mips16): Rename this...
430 (mips_base_compression_flags): ...to this.
431 (UMIPS_12BIT_OFFSET_P): New macro.
432 * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
433 (MULTILIB_DIRNAMES): Likewise.
434
cdebbc6d
JJ
4352013-02-24 Jakub Jelinek <jakub@redhat.com>
436
437 PR target/52555
438 * target-globals.c (save_target_globals): For init_reg_sets and
439 target_reinit remporarily set this_fn_optabs to this_target_optabs.
440
18c63565
JG
4412013-02-22 James Grennahlgh <james.greenhalgh@arm.com>
442
443 * config/aarch64/aarch64-simd-builtins.def: Add copyright header.
444 * config/aarch64/t-aarch64
445 (aarch64-builtins.o): Depend on aarch64-simd-builtins.def.
446
2194f7a2
VM
4472013-02-22 Vladimir Makarov <vmakarov@redhat.com>
448
449 PR inline-asm/56148
450 * lra-constraints.c (process_alt_operands): Reload operand
451 conflicting with earlier clobber only if no more other conflicting
452 operands.
453
7d613735
JJ
4542013-02-22 Jakub Jelinek <jakub@redhat.com>
455
456 PR sanitizer/56393
457 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Link in libasan_preinit.o
458 if not linking a shared library.
459
ac8d93a7
SL
4602013-02-22 Seth LaForge <sethml@google.com>
461
462 * config.gcc (arm*-*-eabi*): Treat arm*eb as big-endian.
463
e0237780
GY
4642013-02-22 Greta Yorsh <Greta.Yorsh@arm.com>
465
3fdb53c1
TB
466 * config/arm/arm.md (split for extendsidi): Update condition.
467 (zero_extend<mode>di2,extend<mode>di2): Add an alternative.
468 * config/arm/iterators.md (qhs_extenddi_cstr): Likewise.
469 (qhs_zextenddi_cstr): Likewise.
e0237780 470
d7fde18c
JJ
4712013-02-21 Jakub Jelinek <jakub@redhat.com>
472
be63b77d
JJ
473 PR middle-end/56420
474 * expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Do subtraction in uhwi, to
475 avoid signed wrapping.
476 (expand_mult): Handle properly multiplication by
477 ((dword_type) -1) << (BITS_PER_WORD - 1). Improve multiplication by
478 ((dword_type) 1) << (BITS_PER_WORD - 1). Avoid undefined behavior
479 in the compiler if coeff is HOST_WIDE_INT_MIN.
480 (expand_divmod): Don't make ext_op1 static, change it's type to
481 uhwi. Avoid undefined behavior in -INTVAL (op1).
482
d7fde18c
JJ
483 PR rtl-optimization/50339
484 * lower-subreg.h (struct lower_subreg_choices): Add splitting_ashiftrt
485 field.
486 * lower-subreg.c (compute_splitting_shift): Handle ASHIFTRT.
487 (compute_costs): Call compute_splitting_shift also for ASHIFTRT
488 into splitting_ashiftrt field.
489 (find_decomposable_shift_zext, resolve_shift_zext): Handle also
490 ASHIFTRT.
491 (dump_choices): Fix up printing LSHIFTRT choices, print ASHIFTRT
492 choices.
493
6aad4455
AH
4942013-02-20 Aldy Hernandez <aldyh@redhat.com>
495
496 PR middle-end/56108
497 * trans-mem.c (execute_tm_mark): Do not expand transactions that
498 are sure to go irrevocable.
499
38fe784d
HPN
5002013-02-21 Hans-Peter Nilsson <hp@axis.com>
501
502 * doc/rtl.texi (vec_concat, vec_duplicate): Mention that
503 scalars are valid operands.
504
0fd44da3
MJ
5052013-02-21 Martin Jambor <mjambor@suse.cz>
506
507 PR tree-optimization/56310
508 * ipa-cp.c (agg_replacements_to_vector): New parameter index, copy
509 only matching indices and non-negative final offsets.
510 (intersect_aggregates_with_edge): Pass src_idx to
511 agg_replacements_to_vector. Pass src_idx insstead of index to
512 intersect_with_agg_replacements.
513
7a92038b
MJ
5142013-02-21 Martin Jambor <mjambor@suse.cz>
515
516 * ipa-cp.c (good_cloning_opportunity_p): Dump the real threshold
517 instead of hard-wired defaults.
518
c0da9c37
MR
5192013-02-21 Maciej W. Rozycki <macro@codesourcery.com>
520
521 * doc/invoke.texi (MIPS Options): Update documentation of the
522 floating-point multiply-accumulate instruction restrictions.
523
d247ea0c 5242013-02-21 Kostya Serebryany <kcc@google.com>
7df59255
KS
525
526 * config/i386/i386.c (ix86_asan_shadow_offset): Use 0x7fff8000 as
527 asan_shadow_offset on x86_64 linux.
528
22deefcb
RB
5292013-02-21 Richard Biener <rguenther@suse.de>
530
531 PR tree-optimization/56415
532 Revert
533 2013-02-11 Richard Biener <rguenther@suse.de>
534
535 PR tree-optimization/56273
536 * tree-vrp.c (simplify_cond_using_ranges): Disable for the
537 first VRP run.
538
7bcc6e75
JJ
5392013-02-21 Jakub Jelinek <jakub@redhat.com>
540
a0ad148f
JJ
541 PR bootstrap/56258
542 * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item
543 instead of @itemx.
544
7bcc6e75
JJ
545 PR inline-asm/56405
546 * expr.c (expand_expr_real_1) <case TARGET_MEM_REF, MEM_REF>: Don't
547 use movmisalign or extract_bit_field for EXPAND_MEMORY modifier.
548
a0a7b611
JH
5492013-02-20 Jan Hubicka <jh@suse.cz>
550
551 PR tree-optimization/56265
552 * ipa-prop.c (ipa_make_edge_direct_to_target): Fixup callgraph when target is
553 referenced for firs ttime.
554
c0e50f72
RB
5552013-02-20 Richard Biener <rguenther@suse.de>
556
557 * tree-call-cdce.c (tree_call_cdce): Do not remove unused locals.
558 * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise.
559 * tree-ssa-dce.c (perform_tree_ssa_dce): Likewise.
560 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do
561 not return anything.
562 (rename_ssa_copies): Do not remove unused locals.
563 * tree-ssa-ccp.c (do_ssa_ccp): Likewise.
564 * tree-ssanames.c (pass_release_ssa_names): Remove unused
565 locals first.
566 * passes.c (execute_function_todo): Do not schedule unused locals
567 removal if cleanup_tree_cfg did something.
568 * tree-ssa-live.c (remove_unused_locals): Dump statistics
569 about the number of removed locals.
570
a52ca739
RB
5712013-02-20 Richard Biener <rguenther@suse.de>
572
573 PR tree-optimization/56398
574 * tree-vect-loop-manip.c (adjust_debug_stmts): Skip
575 SSA default defs.
576
ec9c9d1b
MJ
5772013-02-20 Martin Jambor <mjambor@suse.cz>
578
579 PR tree-optimization/55334
580 * ipa-cp.c (initialize_node_lattices): Disable IPA-CP through and to
581 restricted pointers to arrays.
582
e91c8ed6
RB
5832013-02-20 Richard Biener <rguenther@suse.de>
584 Jakub Jelinek <jakub@redhat.com>
585
586 PR tree-optimization/56396
587 * tree-ssa-ccp.c (n_const_val): New static variable.
588 (get_value): Return NULL for SSA names we don't have a lattice
589 entry for.
590 (ccp_initialize): Initialize n_const_val.
591 * tree-ssa-copy.c (n_copy_of): New static variable.
592 (init_copy_prop): Initialize n_copy_of.
593 (get_value): Return NULL_TREE for SSA names we don't have a
594 lattice entry for.
595
3d916479
MJ
5962013-02-20 Martin Jambor <mjambor@suse.cz>
597
598 * ipa-cp.c (initialize_node_lattices): Fix dumping condition.
599
71a86758
RB
6002013-02-20 Richard Biener <rguenther@suse.de>
601
602 * genpreds.c (write_lookup_constraint): Do not compare first
603 letter of the constraint again.
604
79836a12
RB
6052013-02-20 Richard Biener <rguenther@suse.de>
606
607 * tree-ssa-loop-ivopts.c (alloc_use_cost_map): Use bitmap_count_bits
608 and ceil_log2.
609 (get_use_iv_cost): Terminate hashtable walk when coming across
610 an empty entry.
611
bbe4fb2c
IZ
6122013-02-20 Igor Zamyatin <igor.zamyatin@intel.com>
613
614 * config/i386/i386.c (initial_ix86_tune_features): Turn on fp
615 reassociation for avx2 targets.
616
c77f83d5 6172012-02-19 Edgar E. Iglesias <edgar.iglesias@gmail.com>
79836a12 618
c77f83d5
EI
619 * config/microblaze/microblaze.c: microblaze_has_clz = 0
620 Add version check for v8.10.a to enable microblaze_has_clz
621 * config/microblaze/microblaze.h: Add TARGET_HAS_CLZ as combined
622 version and TARGET_PATTERN_COMPARE check
623 * config/microblaze/microblaze.md: New clzsi2 instruction
3fdb53c1 624
959434e6
EI
6252012-02-19 Edgar E. Iglesias <edgar.iglesias@gmail.com>
626
627 * config/microblaze/microblaze.md (call_value_intern): Check symbol is
628 function before branching.
629
242387fa
AB
6302012-02-19 Andrey Belevantsev <abel@ispras.ru>
631
632 * sel-sched-dump.c (dump_insn_rtx_flags): Explicitly set
633 DUMP_INSN_RTX_UID.
634 (dump_insn_rtx_1): Pass PATTERN (insn) to str_pattern_slim.
635
b4979ab9
AB
6362012-02-19 Andrey Belevantsev <abel@ispras.ru>
637
638 PR middle-end/55889
639
640 * sel-sched.c: Include ira.h.
641 (implicit_clobber_conflict_p): New function.
642 (moveup_expr): Use it.
643 * Makefile.in (sel-sched.o): Depend on ira.h.
644
24d63016
RB
6452013-02-19 Richard Biener <rguenther@suse.de>
646
647 PR tree-optimization/56384
648 * tree-ssa-sccvn.h (struct vn_phi_s): Add type member.
649 (vn_hash_type): Split out from ...
650 (vn_hash_constant_with_type): ... here.
651 * tree-ssa-sccvn.c (vn_phi_compute_hash): Use vn_hash_type.
652 (vn_phi_eq): Compare types from vn_phi_s structure.
653 (vn_phi_lookup): Populate vn_phi_s type.
654 (vn_phi_insert): Likewise.
655
a475fd3d
JJ
6562013-02-19 Jakub Jelinek <jakub@redhat.com>
657
47cc28f5
JJ
658 PR tree-optimization/56350
659 * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
660 if haven't found reduction or nested cycle operand, rather than
661 asserting we must find it.
662
a475fd3d
JJ
663 PR tree-optimization/56381
664 * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
665 to fold_build3.
666
6672013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
668 Jakub Jelinek <jakub@redhat.com>
669
670 PR target/52555
671 * genopinit.c (raw_optab_handler): Use this_fn_optabs.
672 (swap_optab_enable): Same.
673 (init_all_optabs): Use argument instead of global.
674 * tree.h (struct tree_optimization_option): New field
675 target_optabs.
676 * expr.h (init_all_optabs): Add argument to prototype.
677 (TREE_OPTIMIZATION_OPTABS): New.
678 (save_optabs_if_changed): Protoize.
679 * optabs.h: Declare this_fn_optabs.
680 * optabs.c (save_optabs_if_changed): New.
681 Declare this_fn_optabs.
682 (init_optabs): Add argument to init_all_optabs() call.
683 * function.c (invoke_set_current_function_hook): Handle per
684 function optabs.
685 * function.h (struct function): New field optabs.
686 * config/mips/mips.c (mips_set_mips16_mode): Handle when
687 optimization_current_node has changed.
688 * target-globals.h (save_target_globals_default_opts): Protoize.
689 * target-globals.c (save_target_globals_default_opts): New.
690
3f587ca3
JDA
6912013-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
692
693 PR target/56347
694 * config/pa/pa.c (pa_conditional_register_usage): On HP-UX, mark
695 registers %fr12 and %fr12R as call used.
ceaca33e
JDA
696
697 PR target/56214
698 * config/pa/predicates.md (base14_operand): Except for BLKmode, QImode
699 and HImode, require all displacements to be an integer multiple of their
700 mode size.
701 * config/pa/pa.c (pa_legitimate_address_p): For REG+BASE addresses,
702 only allow QImode and HImode when reload is in progress and strict is
703 true. Likewise for symbolic addresses. Use base14_operand to check
704 displacements in REG+BASE addresses.
705
fe0b4796
RB
7062013-02-18 Richard Biener <rguenther@suse.de>
707
708 PR tree-optimization/56366
709 * tree-vect-loop.c (get_initial_def_for_induction): Properly
710 handle sign-conversion of outer-loop initial induction value.
711
6aaf596b
RB
7122013-02-18 Richard Biener <rguenther@suse.de>
713
73db8ff1 714 PR middle-end/56349
6aaf596b
RB
715 * cfghooks.c (merge_blocks): If we merge a latch into another
716 block adjust references to it.
717 * cfgloop.c (flow_loops_find): Reset latch before recomputing it.
718 (verify_loop_structure): Verify that a recorded latch is in fact
719 a latch.
720
5e97dfb6
RB
7212013-02-18 Richard Biener <rguenther@suse.de>
722
723 PR tree-optimization/56321
724 * tree-ssa-reassoc.c (propagate_op_to_single_use): Properly
725 order SSA name release and virtual operand unlinking.
726
825527e8
EI
7272013-02-17 Edgar E. Iglesias <edgar.iglesias@gmail.com>
728
729 * config/microblaze/microblaze.md (save_stack_block): Define.
730 (restore_stack_block): Likewise.
731
debd11d9
EI
7322013-02-16 Edgar E. Iglesias <edgar.iglesias@gmail.com>
733
734 * config/microblaze/linux.h (TARGET_SUPPORTS_PIC): Define as 1.
735 * config/microblaze/microblaze.h (TARGET_SUPPORTS_PIC): Define as 1.
736 * config/microblaze/microblaze.c (microblaze_option_override):
737 Bail out early for PIC modes when target does not support PIC.
738
8ec77be0
EI
7392013-02-16 Edgar E. Iglesias <edgar.iglesias@gmail.com>
740
741 * config/microblaze/microblaze.c (microblaze_asm_trampoline_template):
742 Replace with a microblaze version.
743 (microblaze_trampoline_init): Adapt for microblaze.
744 * gcc/config/microblaze/microblaze.h (TRAMPOLINE_SIZE): Adapt for
745 microblaze.
746
b41288b3
JJ
7472013-02-16 Jakub Jelinek <jakub@redhat.com>
748 Dodji Seketeli <dodji@redhat.com>
749
750 PR asan/56330
751 * asan.c (get_mem_refs_of_builtin_call): White space and style
752 cleanup.
753 (instrument_mem_region_access): Do not forget to always put
754 instrumentation of the of 'base' and 'base + len' in a "if (len !=
755 0) statement, even for cases where either 'base' or 'base + len'
756 are not instrumented -- because they have been previously
757 instrumented. Simplify the logic by putting all the statements
758 instrument 'base + len' inside a sequence, and then insert that
759 sequence right before the current insertion point. Then, to
760 instrument 'base + len', just get an iterator on that statement.
761 And do not forget to update the pointer to iterator the function
762 received as argument.
763
47918951
VM
7642013-02-15 Vladimir Makarov <vmakarov@redhat.com>
765
766 PR rtl-optimization/56348
767 * lra-assigns.c (reload_pseudo_compare_func): Prefer bigger pseudos.
768
3fb7c699
SB
7692013-02-15 Steven Bosscher <steven@gcc.gnu.org>
770
771 * graph.c (start_graph_dump): Print dumpfile base as digraph label.
772 (clean_graph_dump_file): Pass base to start_graph_dump.
773
576fe41a
RH
7742013-02-14 Richard Henderson <rth@redhat.com>
775
776 PR target/55941
777 * lower-subreg.c (simple_move): Check dest mode instead of src mode.
778
bb3accfa
SB
7792013-02-14 Steven Bosscher <steven@gcc.gnu.org>
780
781 * collect2-aix.h: Define F_LOADONLY.
782
03143140
RB
7832013-02-14 Richard Biener <rguenther@suse.de>
784
785 PR lto/50494
786 * varasm.c (output_constant_def_1): Get the decl representing
787 the constant as argument.
788 (output_constant_def): Wrap output_constant_def_1.
789 (make_decl_rtl): Use output_constant_def_1 with the decl
790 representing the constant.
791 (build_constant_desc): Optionally re-use a decl already
792 representing the constant.
793 (tree_output_constant_def): Adjust.
794
8fb06726
DS
7952013-02-14 Dodji Seketeli <dodji@redhat.com>
796
797 Fix an asan crash
798 * asan.c (instrument_builtin_call): Really put the length of the
799 second source argument into src1_len.
800
c4bfe8bf
JJ
8012013-02-13 Jakub Jelinek <jakub@redhat.com>
802
803 * asan.c (create_cond_insert_point): Add create_then_fallthru_edge
804 argument. If it is false, don't create edge from then_bb to
805 fallthru_bb.
806 (insert_if_then_before_iter): Pass true to it.
807 (build_check_stmt): Pass false to it.
808 (transform_statements): Flush hash table only on extended basic
809 block boundaries, rather than at the beginning of every bb.
810 Don't flush hash table on nonfreeing_call_p calls.
811 * tree-flow.h (nonfreeing_call_p): New prototype.
812 * tree-ssa-phiopt.c (nonfreeing_call_p): No longer static.
813
7afe2801
DM
8142013-02-13 David S. Miller <davem@davemloft.net>
815
816 * expmed.c (expand_shift_1): Only strip scalar integer subregs.
817
70cc3288
VM
8182013-02-13 Vladimir Makarov <vmakarov@redhat.com>
819
820 PR target/56184
821 * ira.c (max_regno_before_ira): Move from ...
822 (ira): ... here.
823 (fix_reg_equiv_init): Use max_regno_before_ira instead of
824 vec_safe_length.
825
6422242b
JJ
8262013-02-13 Jakub Jelinek <jakub@redhat.com>
827
828 * config/i386/i386.c (ix86_asan_shadow_offset): Revert last change.
829
976a81ee
RB
8302013-02-13 Richard Biener <rguenther@suse.de>
831
832 PR lto/56295
833 * gimple-streamer-out.c (output_gimple_stmt): Undo wrapping
834 globals in MEM_REFs.
835
c1874a87
RB
8362013-02-13 Richard Biener <rguenther@suse.de>
837
838 * loop-init.c (loop_optimizer_init): Clear loop state when
839 re-initializing preserved loops.
840 * loop-unswitch.c (unswitch_single_loop): Return whether
841 we unswitched the loop. Do not verify loop state here.
842 (unswitch_loops): When we unswitched a loop discover new
843 loops.
844
b4ab7d34
KS
8452013-02-13 Kostya Serebryany <kcc@google.com>
846
847 * config/i386/i386.c: Use 0x7fff8000 as asan_shadow_offset on x86_64
848 linux.
849 * sanitizer.def: Rename __asan_init to __asan_init_v1.
850
bdcbe80c
DS
8512013-02-12 Dodji Seketeli <dodji@redhat.com>
852
853 Avoid instrumenting duplicated memory access in the same basic block
854 * Makefile.in (asan.o): Add new dependency on hash-table.h
855 * asan.c (struct asan_mem_ref, struct mem_ref_hasher): New types.
856 (asan_mem_ref_init, asan_mem_ref_get_end, get_mem_ref_hash_table)
857 (has_stmt_been_instrumented_p, empty_mem_ref_hash_table)
858 (free_mem_ref_resources, has_mem_ref_been_instrumented)
859 (has_stmt_been_instrumented_p, update_mem_ref_hash_table)
860 (get_mem_ref_of_assignment): New functions.
861 (get_mem_refs_of_builtin_call): Extract from
862 instrument_builtin_call and tweak a little bit to make it fit with
863 the new signature.
864 (instrument_builtin_call): Use the new
865 get_mem_refs_of_builtin_call. Use gimple_call_builtin_p instead
866 of is_gimple_builtin_call.
867 (instrument_derefs, instrument_mem_region_access): Insert the
868 instrumented memory reference into the hash table.
869 (maybe_instrument_assignment): Renamed instrument_assignment into
870 this, and change it to advance the iterator when instrumentation
871 actually happened and return true in that case. This makes it
872 homogeneous with maybe_instrument_assignment, and thus give a
873 chance to callers to be more 'regular'.
874 (transform_statements): Clear the memory reference hash table
875 whenever we enter a new BB, when we cross a function call, or when
876 we are done transforming statements. Use
877 maybe_instrument_assignment instead of instrumentation. No more
878 need to special case maybe_instrument_assignment and advance the
879 iterator after calling it; it's now handled just like
880 maybe_instrument_call. Update comment.
881
4861a1f7
RB
8822013-02-13 Richard Biener <rguenther@suse.de>
883
884 * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc):
885 Fix loop discovery code.
886
1c86bd80
VM
8872013-02-12 Vladimir Makarov <vmakarov@redhat.com>
888
889 PR inline-asm/56148
890 * lra-constraints.c (process_alt_operands): Match early clobber
70cc3288 891 operand with itself. Check conflicts with earlyclobber only if
1c86bd80
VM
892 the operand is not reloaded. Prefer to reload conflicting operand
893 if earlyclobber and matching operands are the same.
894
7cbda518
RB
8952013-02-12 Richard Biener <rguenther@suse.de>
896
897 PR lto/56297
898 * lto-streamer-out.c (write_symbol): Do not output symbols
899 for hard register variables.
900
e68a4ef6
GJL
9012013-02-12 Georg-Johann Lay <avr@gjlay.de>
902
903 PR target/54222
904 * config/avr/avr-dimode.md (umulsidi3, mulsidi3): New expanders.
905 (umulsidi3_insn, mulsidi3_insn): New insns.
906
2597da22
CL
9072013-02-12 Christophe Lyon <christophe.lyon@linaro.org>
908
909 * config/arm/arm-protos.h (struct cpu_vec_costs): New struct type.
910 (struct tune_params): Add vec_costs field.
911 * config/arm/arm.c (arm_builtin_vectorization_cost)
912 (arm_add_stmt_cost): New functions.
913 (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST)
914 (TARGET_VECTORIZE_ADD_STMT_COST): Define.
915 (arm_default_vec_cost): New struct of type cpu_vec_costs.
916 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
917 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune)
918 (arm_cortex_a15_tune, arm_cortex_a5_tune, arm_cortex_a9_tune)
919 (arm_v6m_tune, arm_fa726te_tune): Define new vec_costs field.
920
43320568
RB
9212013-02-12 Richard Biener <rguenther@suse.de>
922
923 PR lto/56295
924 * gimple-streamer-in.c (input_gimple_stmt): Strip MEM_REFs off
925 decls again if possible.
926
a011aa39
RB
9272013-02-12 Richard Biener <rguenther@suse.de>
928
929 PR middle-end/56288
930 * tree-ssa.c (verify_ssa_name): Fix check, move
931 SSA_NAME_IN_FREE_LIST check up.
932
6da26889
JJ
9332013-02-12 Jakub Jelinek <jakub@redhat.com>
934 Steven Bosscher <steven@gcc.gnu.org>
935
936 PR rtl-optimization/56151
937 * optabs.c (add_equal_note): Don't return 0 if target is a MEM,
938 equal to op0 or op1, and last_insn pattern is CODE operation
939 with MEM dest and one of the operands matches that MEM.
940
f80e0faf
ST
9412013-02-11 Sriraman Tallam <tmsriramgoogle.com>
942
943 * doc/extend.texi: Document Function Multiversioning and "default"
944 parameter string to target attribute.
945 * config/i386/i386.c (get_builtin_code_for_version): Return 0 if
946 target attribute parameter is "default".
947 (ix86_compare_version_priority): Remove checks for target attribute.
948 (ix86_mangle_function_version_assembler_name): Change error to sorry.
949 Remove check for target attribute equal to NULL. Add assert.
950 (ix86_generate_version_dispatcher_body): Change error to sorry.
951
6c59ffd1
IS
9522013-02-11 Iain Sandoe <iain@codesourcery.com>
953 Jack Howarth <howarth@bromo.med.uc.edu>
954 Patrick Marlier <patrick.marlier@gmail.com>
955
956 PR libitm/55693
957 * config/darwin.h: Replace ENDFILE_SPEC with TM_DESTRUCTOR and
958 define ENDFILE_SPEC as TM_DESTRUCTOR.
959 * config/i386/darwin.h (ENDFILE_SPEC): Use TM_DESTRUCTOR.
960
6a52ccb3
AP
9612013-02-11 Alexander Potapenko <glider@google.com>
962 Jack Howarth <howarth@bromo.med.uc.edu>
963 Jakub Jelinek <jakub@redhat.com>
964
965 PR sanitizer/55617
966 * config/darwin.c (cdtor_record): Rename ctor_record.
967 (sort_cdtor_records): Rename sort_ctor_records.
968 (finalize_dtors): New routine to sort destructors by
969 priority before use in assemble_integer.
970 (machopic_asm_out_destructor): Use finalize_dtors if needed.
971
b63fe007
UB
9722013-02-11 Uros Bizjak <ubizjak@gmail.com>
973
974 PR rtl-optimization/56275
975 * simplify-rtx.c (avoid_constant_pool_reference): Check that
976 offset is non-negative and less than cmode size before
977 calling simplify_subreg.
978
8e89b5b5
RB
9792013-02-11 Richard Biener <rguenther@suse.de>
980
981 PR tree-optimization/56264
982 * cfgloop.h (fix_loop_structure): Adjust prototype.
983 * loop-init.c (fix_loop_structure): Return the number of
984 newly discovered loops.
985 * tree-cfgcleanup.c (repair_loop_structures): When new loops
986 are discovered, do a full loop-closed SSA rewrite.
987
b4a4b56d
RB
9882013-02-11 Richard Biener <rguenther@suse.de>
989
990 PR tree-optimization/56273
991 * tree-vrp.c (simplify_cond_using_ranges): Disable for the
992 first VRP run.
993 (check_array_ref): Fix missing newline in dumps.
994 (search_for_addr_array): Likewise.
995
0c885229
DE
9962013-02-09 David Edelsohn <dje.gcc@gmail.com>
997
998 * config/rs6000/aix61.h (OS_MISSING_ALTIVEC): Undefine.
999
59ac9a55
JJ
10002013-02-09 Jakub Jelinek <jakub@redhat.com>
1001
1002 PR target/56256
1003 * config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Define.
1004
25bb0bb5
VM
10052013-02-08 Vladimir Makarov <vmakarov@redhat.com>
1006
1007 PR rtl-optimization/56246
0c885229 1008 * lra-constraints.c (simplify_operand_subreg): Try to reuse
25bb0bb5
VM
1009 reload pseudo.
1010 * lra.c (lra): Clear lra_optional_reload_pseudos only when all
1011 constraints are satisfied.
1012
a698cc03
JL
10132013-02-08 Jeff Law <law@redhat.com>
1014
1015 PR debug/53948
1016 * emit-rtl.c (reg_is_parm_p): New function.
1017 * regs.h (reg_is_parm_p): New prototype.
1018 * ira-conflicts.c (ira_build_conflicts): Allow parameters in
1019 callee-clobbered registers.
1020
e1122ddd
MM
10212013-02-08 Michael Meissner <meissner@linux.vnet.ibm.com>
1022
1023 PR target/56043
1024 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
1025 If there is no implicit builtin declaration, just return NULL.
1026
19c5f6e6
UB
10272013-02-08 Uros Bizjak <ubizjak@gmail.com>
1028
1029 * config/i386/sse.md (FMAMODEM): New mode iterator.
1030 (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
1031 mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
1032
2480f2ca 10332013-02-08 Uros Bizjak <ubizjak@gmail.com>
76ef61fb 1034
2480f2ca
UB
1035 * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
1036 when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
1037 * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
1038
10392013-02-08 Edgar E. Iglesias <edgar.iglesias@gmail.com>
1040
1041 * config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT.
1042 (microblaze*-*-elf): Likewise.
1043 * config/microblaze/linux.h: Add -mbig-endian / -mlittle-endian to
1044 LINK_SPEC.
1045 * config/microblaze/microblaze-c.c: Add builtin defines for
1046 _LITTLE_ENDIAN and _BIG_ENDIAN.
1047 * config/microblaze/microblaze.h: Add TARGET_ENDIAN_DEFAULT and
1048 add to TARGET_DEFAULT flags.
76ef61fb 1049 Expand ASM_SPEC and LINK_SPEC.
2480f2ca
UB
1050 Update BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN.
1051 * config/microblaze/microblaze.md: Update extendsidi2 and
1052 movdi_internal instructions to use low-order / high-order reg
1053 print_operands.
1054 * config/microblaze/microblaze.opt: Add mbig-endian and mlittle-endian
1055 options and inversemask / mask of LITTLE_ENDIAN.
1056 * config/microblaze/t-microblaze: Expand multilib options to
1057 include mlittle-endian (le) and update exceptions patterns.
1058
600a5961
JJ
10592013-02-08 Jakub Jelinek <jakub@redhat.com>
1060
5df81313
JJ
1061 PR rtl-optimization/56195
1062 * lra-constraints.c (get_reload_reg): Don't reuse regs
1063 if they have smaller mode than requested, if they have
1064 wider mode than requested, try to return a SUBREG.
1065
600a5961
JJ
1066 PR tree-optimization/56250
1067 * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
1068 if type is unsigned and code isn't MULT_EXPR.
1069
ff544649
GJL
10702013-02-08 Georg-Johann Lay <avr@gjlay.de>
1071
1072 PR tree-optimization/56064
1073 * fixed-value.c (fixed_from_double_int): Sign/zero extend payload
1074 bits according to mode.
1075 * fixed-value.h (fixed_from_double_int)
1076 (const_fixed_from_double_int): Adjust comments.
1077
e45cde98
RB
10782013-02-08 Richard Biener <rguenther@suse.de>
1079
1080 PR lto/56231
1081 * lto-streamer.h (struct data_in): Remove current_file, current_line
1082 and current_col members.
1083 * lto-streamer-out.c (lto_output_location): Stream changed bits
1084 en-block for efficiency.
1085 * lto-streamer-in.c (clear_line_info): Remove.
1086 (lto_input_location): Cache current file, line and column
1087 globally via local statics. Read changed bits en-block.
1088 (input_function): Do not call clear_line_info.
1089 (lto_read_body): Likewise.
1090 (lto_input_toplevel_asms): Likewise.
1091
c1ca73d8
MM
10922013-02-08 Michael Matz <matz@suse.de>
1093
1094 PR tree-optimization/52448
1095 * tree-ssa-phiopt.c (struct name_to_bb): Add phase member.
1096 (nt_call_phase): New static.
1097 (add_or_mark_expr): Only mark accesses with newer phase than any
1098 call seen.
1099 (nonfreeing_call_p): New.
1100 (nt_init_block): Update nt_call_phase, mark blocks as visited.
1101 (nt_fini_block): Keep blocks marked as visited.
1102 (get_non_trapping): Initialize nt_call_phase, and reset aux pointer.
1103
57548aa2
RB
11042013-02-08 Richard Biener <rguenther@suse.de>
1105
1106 * ira.c (ira): Free broken dominator information.
1107
8e10366f
UB
11082013-02-08 Uros Bizjak <ubizjak@gmail.com>
1109
1110 * config/i386/i386.c (ix86_spill_class): Use INTEGER_CLASS_P macro.
1111
f64fb0fa
MP
11122013-02-08 Marek Polacek <polacek@redhat.com>
1113
8e10366f 1114 * cfgloop.c (verify_loop_structure): Add more checking of headers.
f64fb0fa 1115
0375167b
RB
11162013-02-08 Richard Biener <rguenther@suse.de>
1117
1118 PR middle-end/56181
1119 * cfgloop.h (flow_loops_find): Adjust.
1120 (bb_loop_header_p): Declare.
1121 * cfgloop.c (bb_loop_header_p): New function split out from ...
1122 (flow_loops_find): ... here. Adjust function signature,
1123 support incremental loop structure update.
1124 (verify_loop_structure): Cleanup. Verify a loop is a loop.
1125 * cfgloopmanip.c (fix_loop_structure): Move ...
1126 * loop-init.c (fix_loop_structure): ... here.
1127 (apply_loop_flags): Split out from ...
1128 (loop_optimizer_init): ... here.
1129 (fix_loop_structure): Use apply_loop_flags. Use flow_loops_find
1130 in incremental mode, only remove dead loops here.
1131
85d768f3
GJL
11322013-02-08 Georg-Johann Lay <avr@gjlay.de>
1133
1134 PR target/54222
1135 * config/avr/avr.md (unspec) <UNSPEC_ROUND>: Add.
1136 * config/avr/avr-fixed.md (ALL4QA, ALL124QA): New mode iterators.
1137 (round<mode>3, round<mode>3_const): New expanders for fixed-mode.
1138 (*round<mode>3.libgcc): New insns for fixed-modes.
1139 * config/avr/builtins.def (ABSxx): Use a non-NULL LIBNAME.
1140 (ROUNDxx, COUNTLSxx, BITSxx, xxBITS): New DEF_BUILTINs.
1141 (ROUNDFX, COUNTLSFX, ABSFX): New DEF_BUILTINs.
1142 * config/avr/stdfix.h (absFX, bitsFX, FXbits): Remove inline
1143 implementations. Define to __builtin_avr_absFX,
1144 __builtin_avr_bitsFX, __builtin_avr_FXbits, respectively.
1145 (roundFX, countlsFX): Define to __builtin_avr_roundFX,
1146 __builtin_avr_countlsFX, respectively.
1147 * config/avr/avr-c.c (target.h): Include it.
1148 (enum avr_builtin_id): New enum.
1149 (avr_resolve_overloaded_builtin): New static function.
1150 (avr_register_target_pragmas): Use it to set
1151 targetm.resolve_overloaded_builtin.
1152 * config/avr/avr.c (avr_init_builtins): Supply myriads of local
1153 tree nodes used by DEF_BUILTIN.
1154 (avr_expand_builtin) <AVR_BUILTIN_ROUNDxx>: Sanity-check them.
1155 (avr_fold_builtin) <AVR_BUILTIN_BITSxx>: Fold to VIEW_COVERT_EXPR.
1156 <AVR_BUILTIN_xxBITS>: Same.
1157
661bc682
RB
11582013-02-08 Richard Biener <rguenther@suse.de>
1159
1160 * cfgloop.c (verify_loop_structure): Properly handle
1161 a loop exiting to another loop header.
1162 * ira-int.h (ira_loops): Remove.
1163 * ira.c (ira_loops): Remove.
1164 (ira): Use loop_optimizer_init and loop_optimizer_finalize.
1165 (do_reload): Use loop_optimizer_finalize.
1166 * ira-build.c (create_loop_tree_nodes): Use get_loops and
1167 number_of_loops to access the loop tree.
1168 (more_one_region_p): Likewise.
1169 (finish_loop_tree_nodes): Likewise.
1170 (rebuild_regno_allocno_maps): Likewise.
1171 (mark_loops_for_removal): Likewise.
1172 (mark_all_loops_for_removal): Likewise.
1173 (remove_unnecessary_regions): Likewise.
1174 (ira_build): Likewise.
1175 * ira-emit.c (setup_entered_from_non_parent_p): Likewise.
1176
0d5049b2
RB
11772013-02-08 Richard Biener <rguenther@suse.de>
1178
1179 * Makefile.in (tree-tailcall.o): Add $(CFGLOOP_H) dependency.
1180 * ipa-pure-const.c (analyze_function): Avoid calling
1181 mark_irreducible_loops twice.
8e10366f 1182 * tree-tailcall.c (tree_optimize_tail_calls_1): Mark loops for fixup.
0d5049b2 1183
499f32e8
DM
11842013-02-07 David S. Miller <davem@davemloft.net>
1185
1186 * dwarf2out.c (based_loc_descr): Perform leaf register remapping
1187 on 'reg'.
1188 * var-tracking.c (vt_add_function_parameter): Test the presence of
1189 HAVE_window_save properly and do not remap argument registers when
1190 we have a leaf function.
1191
6edc3e32
UB
11922013-02-07 Uros Bizjak <ubizjak@gmail.com>
1193
1194 PR bootstrap/56227
1195 * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
1196 instead of "ll".
1197 * config/i386/i386.c (ix86_print_operand): Ditto.
1198
5306401f
VM
11992013-02-07 Vladimir Makarov <vmakarov@redhat.com>
1200
6edc3e32 1201 * lra-constraints.c (process_alt_operands): Fix recently added comment.
5306401f 1202
027ece11
VM
12032013-02-07 Vladimir Makarov <vmakarov@redhat.com>
1204
1205 PR rtl-optimization/56225
1206 * lra-constraints.c (process_alt_operands): Check that reload hard
1207 reg can hold value for strict_low_part.
1208
f980dfdb
JJ
12092013-02-07 Jakub Jelinek <jakub@redhat.com>
1210
1211 PR debug/56154
1212 * dwarf2out.c (dwarf2_debug_hooks): Set end_function hook to
1213 dwarf2out_end_function.
1214 (in_first_function_p, maybe_at_text_label_p,
1215 first_loclabel_num_not_at_text_label): New variables.
1216 (dwarf2out_var_location): In the first function find out
6edc3e32 1217 lowest loclabel_num N where .LVLN is known not to be equal to .Ltext0.
f980dfdb
JJ
1218 (find_empty_loc_ranges_at_text_label, dwarf2out_end_function): New
1219 functions.
1220
73dd3123
EB
12212013-02-07 Eric Botcazou <ebotcazou@adacore.com>
1222
1223 PR rtl-optimization/56178
1224 * cse.c (cse_insn): Do not create a REG_EQUAL note if the source is a
1225 SUBREG of a register. Tidy up related block of code.
1226 * fwprop.c (forward_propagate_and_simplify): Do not create a REG_EQUAL
1227 note if the source is a register or a SUBREG of a register.
1228
e3936f47
JJ
12292013-02-07 Jakub Jelinek <jakub@redhat.com>
1230
1231 PR target/56228
1232 * config/rs6000/rs6000.md (ptrm): New mode attr.
1233 (call_indirect_aix<ptrsize>, call_indirect_aix<ptrsize>_nor11,
1234 call_value_indirect_aix<pttrsize>,
1235 call_value_indirect_aix<pttrsize>_nor11): Use <ptrm> instead of
1236 m in constraints.
1237
d96d674b
MH
12382013-02-07 Michael Haubenwallner <michael.haubenwallner@salomon.at>
1239
1240 * collect2.c (main): Set aix64_flag for -G and -bsvr4 too, disable
1241 if -bnortl. Convert to strcmp and strncmp.
1242
921f2dee
AM
12432013-02-07 Alan Modra <amodra@gmail.com>
1244
1245 PR target/54009
1246 * config/rs6000/rs6000.c (mem_operand_gpr): Check that LO_SUM
1247 addresses won't wrap when offsetting.
1248 (rs6000_secondary_reload): Provide secondary reloads needed for
1249 wrapping LO_SUM addresses.
1250
d09c7dba
TS
12512013-02-06 Thomas Schwinge <thomas@codesourcery.com>
1252
1253 * config/gnu.h (GNU_USER_TARGET_OS_CPP_BUILTINS): Never define
1254 MACH, just __MACH__.
1255
a44bbd48
RB
12562013-02-06 Richard Biener <rguenther@suse.de>
1257
1258 * tracer.c (tracer): Mark loops with LOOPS_NEED_FIXUP
1259 instead of calling fix_loop_structure.
1260
6d840d99
JJ
12612013-02-06 Jakub Jelinek <jakub@redhat.com>
1262
1263 PR middle-end/56217
1264 * omp-low.c (use_pointer_for_field): Return false if
1265 lower_send_shared_vars doesn't generate any copy-out code.
1266
0f33baa9
TV
12672013-02-06 Tom de Vries <tom@codesourcery.com>
1268
1269 PR rtl-optimization/56131
1270 * cfgrtl.c (delete_insn): Use NOTE_BASIC_BLOCK instead of BLOCK_FOR_INSN
1271 to get the bb of a NOTE_INSN_BASIC_BLOCK. Handle the case that the bb
1272 of the label is NULL. Add comment.
1273
11f1e3ab
JJ
12742013-02-05 Jakub Jelinek <jakub@redhat.com>
1275
31502f9f
JJ
1276 * tree.h (struct tree_decl_with_vis): Remove thread_local field.
1277
a74db9bd
JJ
1278 PR sanitizer/55374
1279 * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Define.
1280 (STATIC_LIBTSAN_LIBS): Likewise.
1281 * gcc.c (ADD_STATIC_LIBTSAN_LIBS, LIBTSAN_EARLY_SPEC): Define.
1282 (LIBTSAN_SPEC): Add ADD_STATIC_LIBTSAN_LIBS, if LIBTSAN_EARLY_SPEC
1283 is defined, don't add anything else beyond that.
1284 (SANITIZER_EARLY_SPEC, SANITIZER_SPEC): Define.
1285 (LINK_COMMAND_SPEC): Use them.
1286
11f1e3ab
JJ
1287 PR tree-optimization/56205
1288 * tree-stdarg.c (check_all_va_list_escapes): Return true if
1289 there are any PHI nodes that set non-va_list_escape_vars SSA_NAME
1290 and some va_list_escape_vars SSA_NAME appears in some PHI argument.
1291
14ac6aa2
RB
12922013-02-05 Richard Biener <rguenther@suse.de>
1293
1294 PR tree-optimization/53342
1295 PR tree-optimization/53185
1296 * tree-vectorizer.h (vect_check_strided_load): Remove.
1297 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do
1298 not disallow peeling for vectorized strided loads.
1299 (vect_check_strided_load): Make static and simplify.
1300 (vect_analyze_data_refs): Adjust.
1301 * tree-vect-stmts.c (vectorizable_load): Handle peeled loops
1302 correctly when vectorizing strided loads.
1303
6f22445a
RB
13042013-02-05 Richard Biener <rguenther@suse.de>
1305
1306 * doc/install.texi: Refer to ISL, not PPL.
1307
39f9719e
JH
13082013-02-05 Jan Hubicka <jh@suse.cz>
1309
ec4224ac
JH
1310 PR tree-optimization/55789
1311 * params.def (PARAM_EARLY_INLINER_MAX_ITERATIONS): Drop to 1.
1312
13132013-02-05 Jan Hubicka <jh@suse.cz>
1314
1315 PR tree-optimization/55789
39f9719e
JH
1316 * cgraphclones.c (cgraph_remove_node_and_inline_clones): Remove
1317 the dead call anyway.
1318
956d3b33
EB
13192013-02-05 Eric Botcazou <ebotcazou@adacore.com>
1320
1321 PR sanitizer/55374
1322 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Add missing guard.
1323
13242013-02-04 Alexander Potapenko <glider@google.com>
1325 Jack Howarth <howarth@bromo.med.uc.edu>
ae526fe5
AP
1326 Jakub Jelinek <jakub@redhat.com>
1327
1328 PR sanitizer/55617
1329 * config/darwin.c (sort_ctor_records): Stabilized qsort
1330 on constructor priority by using original position.
1331 (finalize_ctors): New routine to sort constructors by
1332 priority before use in assemble_integer.
1333 (machopic_asm_out_constructor): Use finalize_ctors if needed.
1334
7ac3af38
JJ
13352013-02-04 Jakub Jelinek <jakub@redhat.com>
1336
1337 PR libstdc++/54314
1338 * config/i386/winnt.c (i386_pe_assemble_visibility): Don't warn
1339 about visibility on artificial decls.
1340 * config/sol2.c (solaris_assemble_visibility): Likewise.
1341
152689dc
KT
13422013-02-04 Kai Tietz <ktietz@redhat.com>
1343
1344 PR target/56186
1345 * config/i386/i386.c (function_value_ms_64): Add additional valtype
1346 argument and improve checking of return-argument types for 16-byte
1347 modes.
1348 (ix86_function_value_1): Add additional valtype argument on call
1349 of function_value_64.
1350 (return_in_memory_ms_64): Sync 16-byte sized mode handling with
1351 handling infunction_value_64 function.
1352
2b5987b5
MGD
13532013-02-04 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1354
7ac3af38 1355 * reload.c (subst_reloads): Fix DEBUG_RELOAD build issue.
2b5987b5 1356
14597080
RB
13572013-02-04 Richard Biener <rguenther@suse.de>
1358
1359 PR tree-optimization/56188
1360 * tree-ssa-structalias.c (label_visit): Consider case with
1361 initially non-empty points-to set.
1362 (perform_var_substitution): Dump node mapping and clean up.
1363
ed73881e
RG
13642013-02-04 Richard Guenther <rguenther@suse.de>
1365
1366 PR lto/56168
1367 * lto-symtab.c (lto_symtab_merge_decls_1): Make non-builtin
1368 node prevail as last resort.
1369 (lto_symtab_merge_decls): Remove guard on LTRANS here.
6edc3e32 1370 (lto_symtab_prevailing_decl): Builtins are their own prevailing decl.
ed73881e 1371
139a0707
RB
13722013-02-04 Richard Biener <rguenther@suse.de>
1373
1374 PR tree-optimization/56113
1375 * tree-ssa-structalias.c (equiv_class_lookup, equiv_class_add):
1376 Merge into ...
1377 (equiv_class_lookup_or_add): ... this.
1378 (label_visit): Adjust and fix error in previous patch.
1379 (perform_var_substitution): Adjust.
1380
50fe8924
OE
13812013-02-03 Oleg Endo <olegendo@gcc.gnu.org>
1382
1383 * config/sh/divtab.c: Fix formatting and comments throughout the file.
1384 * config/sh/sh4-300.md: Likewise.
1385 * config/sh/sh4a.md: Likewise.
1386 * config/sh/constraints.md: Likewise.
1387 * config/sh/sh.md: Likewise.
1388 * config/sh/netbsd-elf.h: Likewise.
1389 * config/sh/predicates.md: Likewise.
1390 * config/sh/sh-protos.h: Likewise.
1391 * config/sh/ushmedia.h: Likewise.
1392 * config/sh/linux.h: Likewise.
1393 * config/sh/sh.c: Likewise.
1394 * config/sh/superh.h: Likewise.
1395 * config/sh/elf.h: Likewise.
1396 * config/sh/sh4.md: Likewise.
1397 * config/sh/sh.h: Likewise.
1398
1a04ac2b
JDA
13992013-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1400
1401 * config/pa/constraints.md: Adjust unused letters. Change "T"
1402 constraint to match_test floating_point_store_memory_operand().
1403 * config/pa/predicates.md (reg_plus_base_memory_operand): New.
1404 (base14_operand): New.
1405 (floating_point_store_memory_operand): New.
1406 (integer_store_memory_operand): Revise to use base14_operand and
1407 reg_plus_base_memory_operand.
1408 (move_dest_operand): Allow symbolic_memory_operands.
1409 (symbolic_memory_operand): Check for LO_SOM.
1410 (symbolic_operand): Change default case to break.
1411 * config/pa/pa.md: Remove unamed DFmode and SFmode patterns to force
1412 CONST_DOUBLE values to be reloaded by putting them into memory when
1413 the destination is a floating point register.
1414 (movdf): Remove code to handle CONST_DOUBLE.
1415 (movsf): Likewise.
1416 (reload_indf_r1): New.
1417 (reload_insf_r1): New.
1418 Consistently use "Q" and "T" constraints with integer and floating
1419 point move instructions, respectively.
1420 (movdi): Remove FAIL.
1421 Change predicate for source operand unamed DImode move from
1422 general_operand to move_src_operand.
1423 (umulsidi3): Change predicate for destination operand to
1424 register_operand.
1425 Likewise for similar unamed patterns.
1426 * config/pa/pa-protos.h (pa_legitimize_reload_address): Declare.
1427 * config/pa/pa.c (pa_symbolic_expression_p): Remove extra parenthesis.
1428 (hppa_legitimize_address): Simplify mask calculation.
1429 (pa_emit_move_sequence): Revised handling of secondary reloads from
1430 REG+D addresses for floating point loads and stores. Directly handle
1431 loading CONST0_RTX (mode) to a floating point register.
1432 (pa_secondary_reload): Handle reloading DF and SFmode constant values
1433 to floating point registers. Don't restrict secondary reloads to
1434 floating point registers to integer modes. Revise some comments and
1435 cleanup some code.
1436 (TARGET_LEGITIMATE_ADDRESS_P): Define.
1437 (pa_legitimate_address_p): New.
1438 (pa_legitimize_reload_address): New.
1439 * config/pa/pa.h (STRICT_REG_OK_FOR_INDEX_P): New.
1440 (STRICT_REG_OK_FOR_BASE_P): New.
1441 (GO_IF_LEGITIMATE_ADDRESS): Delete. Update some related comments.
1442 (LEGITIMIZE_RELOAD_ADDRESS): Revise to use pa_legitimize_reload_address.
1443
3bf65591
DE
14442013-02-03 David Edelsohn <dje.gcc@gmail.com>
1445 Andrew Dixie <andrewd@gentrack.com>
1446
1447 * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
1448 flag set.
1449
c0a8a3e6
RS
14502013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
1451
1452 * expmed.c (extract_bit_field_1): Pass the full width of the
1453 structure to get_best_reg_extraction_insn.
1454
99113dff
DE
14552013-02-01 David Edelsohn <dje.gcc@gmail.com>
1456
1457 PR target/54601
1458 * configure.ac (use_cxa_atexit): Add AIX.
1459 * configure: Regenerate.
1460
1461 * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtcxa.o.
1462
ddd84654
JJ
14632013-02-01 Jakub Jelinek <jakub@redhat.com>
1464
1465 PR debug/54793
1466 * final.c (need_profile_function): New variable.
1467 (final_start_function): Drop ATTRIBUTE_UNUSED from first argument.
1468 If first of NOTE_INSN_BASIC_BLOCK or NOTE_INSN_FUNCTION_BEG
1469 is only preceeded by NOTE_INSN_VAR_LOCATION or NOTE_INSN_DELETED
1470 notes, targetm.asm_out.function_prologue doesn't emit anything,
1471 HAVE_prologue and profiler should be emitted before prologue,
1472 set need_profile_function instead of emitting it.
1473 (final_scan_insn): If need_profile_function, emit
1474 profile_function on the first NOTE_INSN_BASIC_BLOCK or
1475 NOTE_INSN_FUNCTION_BEG note.
1476
14772013-02-01 Richard Henderson <rth@redhat.com>
749af8ee
RH
1478
1479 * config/rs6000/rs6000.md (smulditi3): New.
1480 (umulditi3): New.
1481
ff2a9d88
RH
1482 * config/alpha/alpha.md (umulditi3): New.
1483
14d52b90
DE
14842013-02-01 David Edelsohn <dje.gcc@gmail.com>
1485
1486 * config/rs6000/xcoff.h (ASM_OUTPUT_ALIGNED_COMMON): Use floor_log2.
1487 (ASM_OUTPUT_ALIGNED_LOCAL): New.
1488
8c7ca45c
RB
14892013-02-01 Richard Biener <rguenther@suse.de>
1490
1491 PR tree-optimization/56113
1492 * tree-ssa-structalias.c (label_visit): Reduce work for
1493 single-predecessor nodes.
1494
9f419393
EB
14952013-02-01 Eric Botcazou <ebotcazou@adacore.com>
1496
1497 * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
1498 range isn't testing for zero.
1499
c5f4be84
SB
15002013-01-31 Steven Bosscher <steven@gcc.gnu.org>
1501
1502 PR middle-end/56113
1503 * fwprop.c (fwprop_init): Set up loops without CFG modifications.
1504
dbdbd982
NC
15052013-01-31 Hiroyuki Ono <hiroyuki.ono.jc@renesas.com>
1506 Nick Clifton <nickc@redhat.com>
1507
1508 * config/v850/constraints.md (Q): Define as a memory constraint.
1509 * config/v850/predicates.md (label_ref_operand): New predicate.
1510 (e3v5_shift_operand): New predicate.
1511 (ior_operator): New predicate.
1512 * config/v850/t-v850: Add e3v5 multilib.
1513 * config/v850/v850-protos.h (v850_adjust_insn_length): Prototype.
1514 (v850_gen_movdi): Prototype.
1515 * config/v850/v850.c: Add support for e3v5 architecture.
1516 Rename all uses of TARGET_V850E || TARGET_V850E2_ALL to
1517 TARGET_V850E_UP.
1518 (construct_save_jarl): Add e3v5 long JARL support.
1519 (v850_adjust_insn_length): New function. Adjust length of call
1520 insns when using e3v5 instructions.
1521 (v850_gen_movdi): New function: Generate instructions to move a
1522 DImode value.
1523 * config/v850/v850.h (TARGET_CPU_v850e3v5): Define.
1524 (CPP_SPEC): Define __v850e3v5__ as appropriate.
1525 (TARGET_USE_FPU): Enable for e3v5.
1526 (CONST_OK_FOR_W): New macro.
1527 (ADJUST_INSN_LENGTH): Define.
1528 * config/v850/v850.md (UNSPEC_LOOP): Define.
1529 (attr cpu): Add v850e3v5.
1530 Rename all uses of TARGET_V850E2 to TARGET_V850E2V3_UP.
1531 (movdi): New pattern.
1532 (movdi_internal): New pattern.
1533 (cbranchsf4): Conditionalize on TARGET_USE_FPU.
1534 (cbranchdf4): Conditionalize on TARGET_USE_FPU.
1535 (cstoresf4): Likewise.
1536 (cstoredf4): Likewise.
1537 (insv): New pattern.
1538 (rotlso3_a): New pattern.
1539 (rotlsi3_b): New pattern
1540 (rotlsi3_v850e3v5): New pattern.
1541 (doloop_begin): New pattern.
1542 (fix_loop_counter): New pattern.
1543 (doloop_end): New pattern.
1544 (branch_normal): Add e3v5 long branch support.
1545 (branch_invert): Likewise.
1546 (branch_z_normal): Likewise.
1547 (branch_z_invert): Likewise.
1548 (branch_nz_normal): Likewise.
1549 (branch_nz_invert): Likewise.
1550 (call_internal_short): Add e3v5 register-indirect JARL support.
1551 (call_internal_long): Likewise.
1552 (call_value_internal_short): Likewise.
1553 (call_value_internal_long): Likewise.
1554 * config/v850/v850.opt (mv850e3v5, mv850e2v4): New options.
1555 (mloop): New option.
1556 * config.gcc: Add support for configuring v840e3v5 target.
6edc3e32 1557 * doc/invoke.texi: Document new v850 specific command line options.
dbdbd982 1558
73861a41
PK
15592013-01-31 Paul Koning <ni1d@arrl.net>
1560
1561 PR debug/55059
1562 PR debug/54508
1563 * dwarf2out.c (prune_unused_types_mark): Mark all of parent's
1564 children if parent is a class.
1565 (prune_unused_types_prune): Don't add DW_AT_declaration.
1566
e44978dc
RB
15672013-01-31 Richard Biener <rguenther@suse.de>
1568
1569 PR tree-optimization/56157
1570 * tree-vect-slp.c (vect_get_slp_defs): More thoroughly try to
1571 match up operand with SLP child.
1572
90b10dec
JM
15732013-01-31 Jason Merrill <jason@redhat.com>
1574
04d2dadd 1575 PR debug/54410
90b10dec
JM
1576 * dwarf2out.c (gen_struct_or_union_type_die): Always schedule template
1577 parameters the first time.
1578 (gen_scheduled_generic_parms_dies): Check completeness here.
1579
6e616110
RB
15802013-01-31 Richard Biener <rguenther@suse.de>
1581
1582 PR middle-end/53073
1583 * common.opt (faggressive-loop-optimizations): New flag,
1584 enabled by default.
1585 * doc/invoke.texi (faggressive-loop-optimizations): Document.
1586 * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Guard
1587 infer_loop_bounds_from_undefined by it.
1588
636f59cf
RB
15892013-01-31 Richard Biener <rguenther@suse.de>
1590
1591 PR tree-optimization/56150
1592 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Do not
1593 visit virtual operands.
1594 (find_uses_to_rename_bb): Likewise.
1595
15962013-01-31 Richard Biener <rguenther@suse.de>
fcfa87ac
RB
1597
1598 PR tree-optimization/56150
1599 * tree-ssa-tail-merge.c (gimple_equal_p): Properly handle
1600 mixed store non-store stmts.
1601
32887460
JJ
16022013-01-30 Jakub Jelinek <jakub@redhat.com>
1603
e60e09a0
JJ
1604 PR sanitizer/55374
1605 * gcc.c (LIBASAN_SPEC): Define just to ADD_STATIC_LIBASAN_LIBS if
1606 LIBASAN_EARLY_SPEC is defined.
1607 (LIBASAN_EARLY_SPEC): Define to empty string if not already defined.
1608 (LINK_COMMAND_SPEC): Add LIBASAN_EARLY_SPEC for -fsanitize=address,
1609 before %o.
1610 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Define.
1611
32887460
JJ
1612 PR c++/55742
1613 * config/i386/i386.c (ix86_valid_target_attribute_inner_p): Diagnose
1614 invalid args instead of ICEing on it.
1615 (ix86_valid_target_attribute_tree): Return error_mark_node if
1616 ix86_valid_target_attribute_inner_p failed.
1617 (ix86_valid_target_attribute_p): Return false only if
1618 ix86_valid_target_attribute_tree returned error_mark_node. Allow
1619 target("default") attribute.
1620 (sorted_attr_string): Change argument from const char * to tree,
1621 merge in all target attribute arguments rather than just one.
1622 Formatting fix. Use XNEWVEC instead of xmalloc and XDELETEVEC
1623 instead of free. Avoid using strcat.
1624 (ix86_mangle_function_version_assembler_name): Mangle
1625 target("default") as if no target attribute is present. Adjust
1626 sorted_attr_string caller. Avoid leaking memory. Use XNEWVEC
1627 instead of xmalloc and XDELETEVEC instead of free.
1628 (ix86_function_versions): Don't return true if one of the decls
1629 doesn't have target attribute. If they don't and one of the decls
1630 is DECL_FUNCTION_VERSIONED, report an error. Adjust
1631 sorted_attr_string caller. Use XDELETEVEC instead of free.
1632 (ix86_supports_function_versions): Remove.
1633 (make_name): Fix up formatting.
1634 (make_dispatcher_decl): Remove resolver_name and its initialization.
1635 Avoid leaking memory.
1636 (is_function_default_version): Return true if there is
1637 target("default") attribute rather than no target attribute at all.
1638 (make_resolver_func): Avoid leaking memory.
1639 (ix86_generate_version_dispatcher_body): Likewise.
1640 (TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS): Remove.
1641 * target.def (supports_function_versions): Remove.
1642 * doc/tm.texi.in (SUPPORTS_FUNCTION_VERSIONS): Remove.
1643 * doc/tm.texi: Regenerated.
1644
73cca0cc
VM
16452013-01-30 Vladimir Makarov <vmakarov@redhat.com>
1646
1647 PR rtl-optimization/56144
1648 * lra-constraints.c (get_reload_reg): Don't reuse reload pseudo
1649 for values with side effects.
1650
11452e7b
RB
16512013-01-30 Richard Biener <rguenther@suse.de>
1652
1653 * sparseset.h (sparseset_bit_p): Use gcc_checking_assert.
1654 (sparseset_pop): Likewise.
1655 * cfganal.c (compute_idf): Likewise. Increase work-stack size
1656 to be able to use quick_push in the worker loop.
1657
01cb1ef5
MP
16582013-01-30 Marek Polacek <polacek@redhat.com>
1659
1660 * cfgcleanup.c (cleanup_cfg): Don't mark affected BBs.
1661
e892936e
RB
16622013-01-30 Richard Biener <rguenther@suse.de>
1663
1664 PR lto/56147
6edc3e32 1665 * lto-symtab.c (lto_symtab_merge_decls_1): Guard DECL_BUILT_IN check.
e892936e 1666
cc06c01d
GJL
16672013-01-30 Georg-Johann Lay <avr@gjlay.de>
1668
1669 PR tree-optimization/56064
1670 * fixed-value.c (fixed_from_double_int): New function.
1671 * fixed-value.h (fixed_from_double_int): New prototype.
1672 (const_fixed_from_double_int): New static inline function.
1673 * fold-const.c (native_interpret_fixed): New static function.
1674 (native_interpret_expr) <FIXED_POINT_TYPE>: Use it.
1675 (can_native_interpret_type_p) <FIXED_POINT_TYPE>: Return true.
1676 (native_encode_fixed): New static function.
1677 (native_encode_expr) <FIXED_CST>: Use it.
1678 (native_interpret_int): Move double_int worker code to...
1679 * double-int.c (double_int::from_buffer): ...this new static method.
1680 * double-int.h (double_int::from_buffer): Prototype it.
1681
d394a308
RB
16822013-01-30 Richard Biener <rguenther@suse.de>
1683
1684 * tree-ssa-structalias.c (final_solutions, final_solutions_obstack):
1685 New pointer-map and obstack.
1686 (init_alias_vars): Allocate pointer-map and obstack.
1687 (delete_points_to_sets): Free them.
1688 (find_what_var_points_to): Cache result.
1689 (find_what_p_points_to): Adjust for changed interface of
1690 find_what_var_points_to.
1691 (compute_points_to_sets): Likewise.
1692 (ipa_pta_execute): Likewise.
1693
20804d96
RO
16942013-01-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1695
1696 * configure.ac (HAVE_AS_SPARC_NOBITS): New test.
1697 * configure: Regenerate.
1698 * config.in: Regenerate.
1699 * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Emit
1700 #nobits/#progbits if supported.
1701
a7ad88a2
OE
17022013-01-29 Oleg Endo <olegendo@gcc.gnu.org>
1703
1704 PR target/56121
1705 * config/sh/sh.md (bclr_m2a, bset_m2a, bst_m2a, bld_m2a, bldsign_m2a,
1706 bld_reg, *bld_regqi, band_m2a, bandreg_m2a, bor_m2a, borreg_m2a,
1707 bxor_m2a, bxorreg_m2a): Add satisfies_constraint_K03 condition.
1708
7af79f92
GY
17092013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
1710
91bfca59
OE
1711 * config/arm/cortex-a7.md (cortex_a7_neon, cortex_a7_all): Remove.
1712 (cortex_a7_idiv): Use cortex_a7_both instead of cortex_a7_all.
7af79f92 1713
753bcf7b
GY
17142013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
1715
91bfca59
OE
1716 * config/arm/arm.c (cortexa7_younger): Return true for TYPE_CALL.
1717 * config/arm/cortex-a7.md (cortex_a7_call): Update required units.
753bcf7b 1718
8cbc2ea8
GY
17192013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
1720
91bfca59
OE
1721 * config/arm/arm-protos.h (arm_mac_accumulator_is_result): New
1722 declaration.
1723 * config/arm/arm.c (arm_mac_accumulator_is_result): New function.
1724 * config/arm/cortex-a7.md: New bypasses using
1725 arm_mac_accumulator_is_result.
8cbc2ea8 1726
697a3325
GY
17272013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
1728
91bfca59 1729 * config/arm/cortex-a7.md (cortex_a7_neon_mul): New reservation.
697a3325 1730 (cortex_a7_neon_mla): Likewise.
91bfca59
OE
1731 (cortex_a7_fpfmad): New reservation.
1732 (cortex_a7_fpmacs): Use ffmas and update required units.
1733 (cortex_a7_fpmuld): Update required units and latency.
1734 (cortex_a7_fpmacd): Likewise.
1735 (cortex_a7_fdivs, cortex_a7_fdivd): Likewise.
1736 (cortex_a7_neon). Likewise.
1737 (bypass) Update participating units.
697a3325 1738
29637783
GY
17392013-01-29 Greta Yorsh <Greta.Yorsh@arm.com>
1740
91bfca59
OE
1741 * config/arm/arm.md (type): Add ffmas and ffmad to "type" attribute.
1742 * config/arm/vfp.md (fma,fmsub,fnmsub,fnmadd): Change type
1743 from fmac to ffma.
1744 * config/arm/vfp11.md (vfp_farith): Use ffmas.
1745 (vfp_fmul): Use ffmad.
1746 * config/arm/cortex-r4f.md (cortex_r4_fmacs): Use ffmas.
1747 (cortex_r4_fmacd): Use ffmad.
1748 * config/arm/cortex-m4-fpu.md (cortex_m4_fmacs): Use ffmas.
1749 * config/arm/cortex-a9.md (cortex_a9_fmacs): Use ffmas.
1750 (cortex_a9_fmacd): Use ffmad.
1751 * config/arm/cortex-a8-neon.md (cortex_a8_vfp_macs): Use ffmas.
1752 (cortex_a8_vfp_macd): Use ffmad.
1753 * config/arm/cortex-a5.md (cortex_a5_fpmacs): Use ffmas.
1754 (cortex_a5_fpmacd): Use ffmad.
1755 * config/arm/cortex-a15-neon.md (cortex_a15_vfp_macs) Use ffmas.
1756 (cortex_a15_vfp_macd): Use ffmad.
1757 * config/arm/arm1020e.md (v10_fmul): Use ffmas and ffmad.
29637783 1758
2ee8a2d5
JM
17592013-01-29 Jason Merrill <jason@redhat.com>
1760
1761 PR libstdc++/54314
1762 * varasm.c (default_assemble_visibility): Don't warn about
1763 visibility on artificial decls.
1764
78d087bc
RB
17652013-01-29 Richard Biener <rguenther@suse.de>
1766
1767 PR tree-optimization/56113
1768 * tree-ssa-structalias.c (equiv_class_lookup): Also return
1769 the bitmap leader.
1770 (label_visit): Free duplicate bitmaps and record the leader instead.
1771 (perform_var_substitution): Adjust.
1772
83ba4d6f
RB
17732013-01-29 Richard Biener <rguenther@suse.de>
1774
1775 PR tree-optimization/55270
1776 * tree-ssa-dom.c (eliminate_degenerate_phis): If we changed
1777 the CFG, schedule loops for fixup.
1778
66dfe13f
NC
17792013-01-29 Nick Clifton <nickc@redhat.com>
1780
1781 * config/rl78/rl78.c (rl78_regno_mode_code_ok_for_base_p): Allow
1782 SP_REG.
1783
5a579c3b
LE
17842013-01-28 Leif Ekblad <leif@rdos.net>
1785
1786 * config.gcc (i[34567]86-*-rdos*, x86_64-*-rdos*): New targets.
1787 * config/i386/i386.h (TARGET_RDOS): New macro.
1788 (DEFAULT_LARGE_SECTION_THRESHOLD): New macro.
1789 * config/i386/i386.c (ix86_option_override_internal): For 64bit
1790 TARGET_RDOS, set ix86_cmodel to CM_MEDIUM_PIC and flag_pic to 1.
1791 * config/i386/i386.opt (mlarge-data-threshold): Initialize to
1792 DEFAULT_LARGE_SECTION_THRESHOLD.
1793 * config/i386/i386.md (R14_REG, R15_REG): New constants.
1794 * config/i386/rdos.h: New file.
1795 * config/i386/rdos64.h: New file.
1796
51e44392
BS
17972013-01-28 Bernd Schmidt <bernds@codesourcery.com>
1798
1799 PR other/54814
1800 * reload.c (find_valid_class_1): Use in_hard_reg_set_p instead of
1801 TEST_HARD_REG_BIT.
1802
db1fb332
JJ
18032013-01-28 Jakub Jelinek <jakub@redhat.com>
1804
1805 PR rtl-optimization/56117
1806 * sched-deps.c (sched_analyze_2) <case PREFETCH>: For use_cselib
1807 call cselib_lookup_from_insn on the MEM before calling
1808 add_insn_mem_dependence.
1809
16917761
RB
18102013-01-28 Richard Biener <rguenther@suse.de>
1811
1812 * tree-inline.c (remap_gimple_stmt): Do not assing a BLOCK
1813 to a stmt that didn't have one.
1814 (copy_phis_for_bb): Likewise for PHI arguments.
1815 (copy_debug_stmt): Likewise for debug stmts.
1816
b9fc0497
RB
18172013-01-28 Richard Biener <rguenther@suse.de>
1818
1819 PR tree-optimization/56034
6edc3e32 1820 * tree-loop-distribution.c (enum partition_kind): Add PKIND_REDUCTION.
b9fc0497
RB
1821 (partition_builtin_p): Adjust.
1822 (generate_code_for_partition): Handle PKIND_REDUCTION. Assert
1823 it is the last partition.
1824 (rdg_flag_uses): Check SSA_NAME_IS_DEFAULT_DEF before looking
1825 up the vertex for the definition.
1826 (classify_partition): Classify whether a partition is a
1827 PKIND_REDUCTION, thus has uses outside of the loop.
1828 (ldist_gen): Inherit PKIND_REDUCTION when merging partitions.
1829 Merge all PKIND_REDUCTION partitions into the last partition.
1830 (tree_loop_distribution): Seed partitions from reductions as well.
1831
aa710d25
JJ
18322013-01-28 Jakub Jelinek <jakub@redhat.com>
1833
0bfbca58
JJ
1834 PR tree-optimization/56125
1835 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
1836 pow(x,c) into sqrt(x) * powi(x, n/2) or
1837 1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
1838 optimizing for size.
1839 Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
1840 1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
1841 integer.
1842
aa710d25
JJ
1843 PR tree-optimization/56094
1844 * gimplify.c (force_gimple_operand_1): Temporarily set input_location
1845 to UNKNOWN_LOCATION while gimplifying expr.
1846
77dc5297
UB
18472013-01-27 Uros Bizjak <ubizjak@gmail.com>
1848
1849 PR target/56114
1850 * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
1851 operand 0 in movabs insn template for -masm=intel asm alternative.
1852 (*movabs<mode>_2): Ditto for operand 1.
1853
0bfbca58 18542013-01-26 David Holsgrove <david.holsgrove@xilinx.com>
fbf0cf90
DH
1855
1856 PR target/54663
1857 * config.gcc (microblaze*-linux*): Add tmake_file to allow building
1858 of microblaze-c.o
1859
0bfbca58 18602013-01-26 Edgar E. Iglesias <edgar.iglesias@gmail.com>
6f14eef2
EI
1861
1862 * config.gcc (microblaze*-*-*): Rename microblaze*-*-elf, update
1863 tm_file.
1864
0bfbca58 18652013-01-25 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
706b2314
N
1866
1867 * config/aarch64/aarch64.c (TARGET_FIXED_CONDITION_CODE_REGS):
1868 Undef to avoid warning.
1869
478f60f9
MH
18702013-01-25 Michael Haubenwallner <michael.haubenwallner@salomon.at>
1871
1872 * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
1873 * configure: Regenerate.
1874
d7fa6ee2
JJ
18752013-01-25 Jakub Jelinek <jakub@redhat.com>
1876
1877 PR tree-optimization/56098
1878 * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
1879 for stmts with volatile ops.
1880 (cond_store_replacement): Don't optimize if assign has volatile ops.
1881 (cond_if_else_store_replacement_1): Don't optimize if either
1882 then_assign or else_assign have volatile ops.
1883 (hoist_adjacent_loads): Don't optimize if either def1 or def2 have
1884 volatile ops.
1885
f8fe87bd
GJL
18862013-01-25 Georg-Johann Lay <avr@gjlay.de>
1887
1888 * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
1889
28398d0d
GJL
18902013-01-25 Georg-Johann Lay <avr@gjlay.de>
1891
1892 * doc/extend.texi (Example of asm with clobbered asm reg): Fix
1893 missing ':' in asm example.
1894
b7d7d917
TB
18952013-01-25 Tejas Belagod <tejas.belagod@arm.com>
1896
1897 * config/aarch64/aarch64-simd-builtins.def: Separate sq<r>dmulh_lane
1898 entries into lane and laneq entries.
77dc5297
UB
1899 * config/aarch64/aarch64-simd.md (aarch64_sq<r>dmulh_lane<mode>):
1900 Remove AdvSIMD scalar modes.
b7d7d917
TB
1901 (aarch64_sq<r>dmulh_laneq<mode>): New.
1902 (aarch64_sq<r>dmulh_lane<mode>): New RTL pattern for Scalar AdvSIMD
1903 modes.
1904 * config/aarch64/arm_neon.h: Fix all the vq<r>dmulh_lane* intrinsics'
1905 builtin implementations to relfect changes in RTL in aarch64-simd.md.
1906 * config/aarch64/iterators.md (VCOND): New.
1907 (VCONQ): New.
1908
556f9906
GJL
19092013-01-25 Georg-Johann Lay <avr@gjlay.de>
1910
1911 PR target/54222
1912 * config/avr/builtins.def (DEF_BUILTIN): Add LIBNAME argument.
1913 Add NULL LIBNAME argument to existing definitions.
1914 (ABSHR, ABSR, ABSLR, ABSLLR, ABSHK, ABSK, ABSLK, ABSLLK): New.
1915 * config/avr/avr-c.c (DEF_BUILTIN): Add LIBNAME argument.
1916 * config/avr/avr.c (DEF_BUILTIN): Same.
1917 (avr_init_builtins): Pass down LIBNAME to add_builtin_function.
1918 (avr_expand_builtin): Expand to a vanilla call if a libgcc
1919 implementation is available (DECL_ASSEMBLER_NAME is set).
1920 (avr_fold_absfx): New static function.
1921 (avr_fold_builtin): Use it to handle: AVR_BUILTIN_ABSHR,
1922 AVR_BUILTIN_ABSR, AVR_BUILTIN_ABSLR, AVR_BUILTIN_ABSLLR,
1923 AVR_BUILTIN_ABSHK, AVR_BUILTIN_ABSK, AVR_BUILTIN_ABSLK,
1924 AVR_BUILTIN_ABSLLK.
1925 * config/avr/stdfix.h (abshr, absr, abslr, absllr)
1926 (abshk, absk, abslk, absllk): Provide as static inline functions.
1927
1f546bbb
MP
19282013-01-25 Marek Polacek <polacek@redhat.com>
1929
1930 PR tree-optimization/56035
1931 * cfgloopmanip.c (fix_loop_structure): Remove redundant condition.
1932
7e184bd7
UB
19332012-01-24 Uros Bizjak <ubizjak@gmail.com>
1934
1935 * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
1936 (*movtf_internal_rex64): Add (!o,C) alternative
1937 (*movxf_internal_rex64): Ditto.
1938 (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
1939
f5ba49ac
SM
19402013-01-24 Shenghou Ma <minux.ma@gmail.com>
1941
1942 * doc/invoke.texi: fix typo.
1943 * doc/objc.texi: fix typo.
1944
a6343728
RS
19452013-01-24 Richard Sandiford <rdsandiford@googlemail.com>
1946
1947 * config/mips/mips.md (*and<mode>3_mips16): Use the "W" constraint
1948 for the first two alternatives.
1949
cd030c07
DN
19502013-01-24 Diego Novillo <dnovillo@google.com>
1951
77dc5297 1952 * Makefile.in (GGC): Remove. Replace all instances with ggc-page.o.
cd030c07
DN
1953 (ggc-zone.o): Remove.
1954 * configure.ac: Remove option --with-gc.
1955 * configure: Re-generate.
1956 * doc/install.texi: Remove documentation for --with-gc.
1957 * gengtype.c (write_enum_defn): Remove. Update all users.
1958 (write_Types_process_field): Remove generation of gt_e_* argument.
1959 (output_type_enum): Remove. Update all users.
1960 (write_enum_defn): Remove. Update all users.
1961 (enum alloc_zone): Remove. Update all users.
77dc5297 1962 (write_splay_tree_allocator_def): Remove generation of gt_e_* argument.
cd030c07
DN
1963 * ggc-common.c (ggc_splay_alloc): Remove first argument.
1964 Update all callers.
1965 (struct ptr_data): Remove field TYPE. Update all users.
77dc5297 1966 (gt_pch_note_object): Remove argument TYPE. Update all users.
cd030c07
DN
1967 * ggc-internal.h (ggc_pch_alloc_object): Remove last argument.
1968 Update all users.
aaf1e810 1969 * ggc-none.c (ggc_alloc_typed_stat): Remove.
cd030c07
DN
1970 (struct alloc_zone): Remove.
1971 (ggc_internal_alloc_zone_stat): Remove.
1972 (ggc_internal_cleared_alloc_zone_stat): Remove.
1973 * ggc-page.c (ggc_alloc_typed_stat): Remove.
77dc5297
UB
1974 (ggc_pch_count_object): Remove last argument. Update all users.
1975 (ggc_pch_alloc_object): Remove last argument. Update all users.
cd030c07
DN
1976 (struct alloc_zone): Remove.
1977 * ggc-zone.c: Remove.
77dc5297 1978 * ggc.h (gt_pch_note_object): Remove last argument. Update all users.
cd030c07
DN
1979 (struct alloc_zone): Remove.
1980 (ggc_alloc_typed_stat): Remove.
1981 (ggc_alloc_typed): Remove.
1982 (ggc_splay_alloc): Remove first argument.
1983 (rtl_zone): Remove. Update all users.
1984 (tree_zone): Remove. Update all users.
1985 (tree_id_zone): Remove. Update all users.
1986 (ggc_internal_zone_alloc_stat): Remove. Update all users.
77dc5297 1987 (ggc_internal_zone_cleared_alloc_stat): Remove. Update all users.
cd030c07 1988 (ggc_internal_zone_vec_alloc_stat): Remove. Update all users.
77dc5297 1989 * tree-ssanames.c: Remove references to zone allocator in comments.
cd030c07 1990
a861ffa4
GJL
19912013-01-24 Georg-Johann Lay <avr@gjlay.de>
1992
1993 * config/avr/avr.c (avr_out_fract): Make register numbers that
1994 might be outside of source operand signed.
1995
593c0ddd
UB
19962013-01-24 Uros Bizjak <ubizjak@gmail.com>
1997
1998 * config/i386/constraints.md (Yf): New constraint.
1999 * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
2000 of f constraint to conditionaly disable x87 register preferences.
2001 (*movdf_internal): Ditto.
2002 (*movsf_internal): Ditto.
2003
e86c0101
SB
20042013-01-24 Steven Bosscher <steven@gcc.gnu.org>
2005
2006 PR inline-asm/55934
2007 * lra-assigns.c (assign_by_spills): Throw away the pattern of asms
2008 that have operands with impossible constraints.
2009 Add a FIXME for a speed-up opportunity.
2010 * lra-constraints.c (process_alt_operands): Verify that a class
2011 selected from constraints on asms is valid for the operand mode.
2012 (curr_insn_transform): Remove incorrect comment.
2013
f6fee35f
DE
20142013-01-23 David Edelsohn <dje.gcc@gmail.com>
2015
2016 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Check that
2017 TOC operand is a valid symbol ref in the constant pool.
2018
20192013-01-23 Edgar E. Iglesias <edgar.iglesias@gmail.com>
c7729184 2020
aaf1e810 2021 * config/microblaze/linux.h: Add TARGET_OS_CPP_BUILTINS
c7729184 2022
dc62d7d1
GJL
20232013-01-23 Georg-Johann Lay <avr@gjlay.de>
2024
2025 PR target/54222
2026 * config/avr/stdfix.h: New file.
2027 * t-avr (stdfix-gcc.h): New rule to build it.
2028 (EXTRA_HEADERS): Set it to install stdfix.h, stdfix-gcc.h.
2029
2660d12d
KS
20302013-01-23 Kostya Serebryany <kcc@google.com>
2031
77dc5297
UB
2032 * config/darwin.h: remove dependency on
2033 CoreFoundation (asan on Mac OS).
2660d12d 2034
a70418fc
JJ
20352013-01-23 Jakub Jelinek <jakub@redhat.com>
2036
2037 PR target/49069
2038 * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
2039 instead of cmpdi_operand for first comparison operand.
2040 Don't assert that comparison operands aren't both constants.
2041
47876a2a
JW
20422013-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
2043
2044 * doc/install.texi (Downloading the Source): Update references to
2045 downloading separate components.
2046
20472013-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
4ebd56a5
JW
2048
2049 * doc/extend.texi (__int128): Improve grammar.
2050
47876a2a 20512013-01-22 Uros Bizjak <ubizjak@gmail.com>
32fc5b8a
UB
2052
2053 PR target/56028
2054 * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
2055 alternative to (o,r).
2056 (*movdi_internal_rex64): Remove (!o,n) alternative.
2057 (DImode immediate->memory splitter): Remove.
2058 (DImode immediate->memory peephole2): Remove.
2059 (movtf): Enable for TARGET_64BIT || TARGET_SSE.
2060 (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
2061 alternative to (!o,*r).
2062 (*movtf_internal_sse): New pattern.
2063 (*movxf_internal_rex64): New pattern.
2064 (*movxf_internal): Disable for TARGET_64BIT.
2065 (*movdf_internal_rex64): Remove (!o,F) alternative.
2066
3a984f10
JJ
20672013-01-22 Jakub Jelinek <jakub@redhat.com>
2068
502498d5
JJ
2069 PR middle-end/56074
2070 * dumpfile.c (dump_loc): Only print loc if LOCATION_LOCUS (loc)
2071 isn't UNKNOWN_LOCATION nor BUILTINS_LOCATION.
2072 * tree-vect-loop-manip.c (find_loop_location): Also ignore
2073 stmt locations where LOCATION_LOCUS of the stmt location is
2074 UNKNOWN_LOCATION or BUILTINS_LOCATION.
2075
3a984f10
JJ
2076 PR target/55686
2077 * config/i386/i386.md (UNSPEC_STOS): New.
2078 (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
2079 *strsetqi_1): Add UNSPEC_STOS.
2080
fa817f7f
PC
20812013-01-22 Paolo Carlini <paolo.carlini@oracle.com>
2082
2083 PR c++/56067
2084 * doc/invoke.texi: Remove left over -Wsynth example.
2085
8f498c1b
JJ
20862013-01-21 Jakub Jelinek <jakub@redhat.com>
2087
2088 PR tree-optimization/56051
2089 * fold-const.c (fold_binary_loc): Don't fold
2090 X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
2091 a narrowing conversion, or widening conversion from signed
2092 to unsigned.
2093
47876a2a 20942013-01-21 Uros Bizjak <ubizjak@gmail.com>
35d59da7
UB
2095
2096 PR rtl-optimization/56023
2097 * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
2098 dependent on debug instruction.
2099
5b9db1bc
MJ
21002013-01-21 Martin Jambor <mjambor@suse.cz>
2101
2102 PR middle-end/56022
2103 * function.c (allocate_struct_function): Call
2104 invoke_set_current_function_hook earlier.
2105
e8bb7d68
JJ
21062013-01-21 Jakub Jelinek <jakub@redhat.com>
2107
2108 * reload1.c (init_reload): Only initialize reload_obstack
2109 during the first call.
2110
616a4e32
MP
21112013-01-21 Marek Polacek <polacek@redhat.com>
2112
2113 * cfgloop.c (verify_loop_structure): Fix up grammar.
2114
4401981b
YHH
21152013-01-21 Yi-Hsiu Hsu <ahsu@marvell.com>
2116
2117 * config/arm/marvell-pj4.md (pj4_shift_conds, pj4_alu_shift,
2118 pj4_alu_shift_conds, pj4_shift): Handle simple_alu_shift.
2119
8e87740b
RR
21202013-01-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2121
2122 PR target/56058
2123 * config/arm/marvell-pj4.md: Update copyright year.
2124 Fix up use of alu to alu_reg and simple_alu_imm.
2125
47876a2a 21262013-01-21 Uros Bizjak <ubizjak@gmail.com>
1f6bc337
UB
2127
2128 * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
2129
89d56d79
VM
21302013-01-20 Vladimir Makarov <vmakarov@redhat.com>
2131
2132 PR target/55433
2133 * lra-constraints.c (curr_insn_transform): Don't reuse original
1f6bc337 2134 insn for secondary memory move when memory mode should be different.
89d56d79 2135
fe603553
JDA
21362013-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2137
2138 * config/pa/pa.md (atomic_loaddi, atomic_loaddi_1, atomic_storedi,
2139 atomic_storedi_1): New patterns.
2140
01284895
VK
21412013-01-20 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
2142
2143 btver2 pipeline descriptions.
2144 * config/i386/i386.c: Enable CPU_BTVER2 to use btver2 pipeline
2145 descriptions.
2146 * config/i386/i386.md (btver2_decode): New type attributes.
1f6bc337 2147 * config/i386/sse.md (btver2_decode, btver2_sse_attr): New
01284895
VK
2148 type attributes.
2149 * config/i386/btver2.md: New file describing btver2 pipelines.
2150
5630e3e1
JL
21512013-01-19 Andrew Pinski <apinski@cavium.com>
2152
2153 PR tree-optimization/52631
2154 * tree-ssa-sccvn (visit_use): Before looking up the original
2155 statement, try looking up the simplified expression.
2156
650ae806
AG
21572013-01-19 Anthony Green <green@moxielogic.com>
2158
2159 * config/moxie/moxie.c (moxie_expand_prologue): Set
2160 current_function_static_stack_size.
2161
e300ec2d
JJ
21622013-01-18 Jakub Jelinek <jakub@redhat.com>
2163
2164 PR tree-optimization/56029
2165 * tree-phinodes.c (reserve_phi_args_for_new_edge): Set
2166 gimple_phi_arg_location for the new arg to UNKNOWN_LOCATION.
2167
a3d7af04
SS
21682013-01-18 Sharad Singhai <singhai@google.com>
2169
2170 PR tree-optimization/55995
2171 * dumpfile.c (dump_loc): Print location only if available.
2172 * tree-vectorizer.c (increase_alignment): Intialize vect_location.
2173
66aa7879
VM
21742013-01-18 Vladimir Makarov <vmakarov@redhat.com>
2175
2176 PR target/55433
2177 * lra-constraints.c (curr_insn_transform): Reuse original insn for
2178 secondary memory move.
2179 (inherit_reload_reg): Use rclass instead of cl for
2180 check_secondary_memory_needed_p.
2181
3f0fee7b
JJ
21822013-01-18 Jakub Jelinek <jakub@redhat.com>
2183
2184 PR middle-end/56015
2185 * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
1f6bc337 2186 the case where writing real complex part of target modifies op1.
3f0fee7b 2187
70c67693
JG
21882013-01-18 James Greenhalgh <james.greenhalgh@arm.com>
2189
2190 * config/aarch64/aarch64-simd.md
2191 (aarch64_vcond_internal<mode>): Handle unordered cases.
2192 * config/aarch64/iterators.md (v_cmp_result): New.
2193
df8de9b3
YHH
21942013-01-18 Yi-Hsiu Hsu <ahsu@marvell.com>
2195 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2196
2197 * config/arm/marvell-pj4.md: New file.
2198 * config/arm/arm.c (arm_issue_rate): Add marvell_pj4.
2199 * config/arm/arm.md (generic_sched): Add marvell_pj4.
2200 (generic_vfp): Likewise.
2201 * config/arm/arm-cores.def: Add marvell-pj4.
2202 * config/arm/arm-tune.md: Regenerate.
2203 * config/arm/arm-tables.opt: Regenerate.
2204 * config/arm/bpabi.h (BE8_LINK_SPEC): Add marvell_pj4.
2205 * doc/invoke.texi: Document marvell-pj4.
2206
be30c356
TB
22072013-01-18 Tejas Belagod <tejas.belagod@arm.com>
2208
2209 * config/aarch64/arm_neon.h: Map scalar types to standard types.
2210
0bfbca58 22112013-01-18 Alexandre Oliva <aoliva@redhat.com>
af6236c1
AO
2212
2213 PR debug/54114
2214 PR debug/54402
2215 PR debug/49888
2216 * var-tracking.c (negative_power_of_two_p): New.
2217 (global_get_addr_cache, local_get_addr_cache): New.
2218 (get_addr_from_global_cache, get_addr_from_local_cache): New.
2219 (vt_canonicalize_addr): Rewrite using the above. Adjust the
2220 heading comment.
2221 (vt_stack_offset_p): Remove.
2222 (vt_canon_true_dep): Always canonicalize loc's address.
2223 (clobber_overlapping_mems): Make sure we have a MEM.
2224 (local_get_addr_clear_given_value): New.
2225 (val_reset): Clear local cached entries.
2226 (compute_bb_dataflow): Create and release the local cache.
2227 Disable duplicate MEMs clobbering.
2228 (emit_notes_in_bb): Clobber MEMs likewise.
2229 (vt_emit_notes): Create and release the local cache.
2230 (vt_initialize, vt_finalize): Create and release the global
2231 cache, respectively.
1f6bc337 2232 * alias.c (rtx_equal_for_memref_p): Compare operands of ENTRY_VALUEs.
af6236c1 2233
0bfbca58 22342013-01-18 Alexandre Oliva <aoliva@redhat.com>
7ff37ffa
AO
2235
2236 PR libmudflap/53359
2237 * tree-mudflap.c (mudflap_finish_file): Skip deferred decls
2238 not found in the symtab.
2239
0bfbca58 22402013-01-18 Alexandre Oliva <aoliva@redhat.com>
3aa03517 2241
c350ba53 2242 PR debug/56006
3aa03517
AO
2243 PR rtl-optimization/55547
2244 PR rtl-optimization/53827
2245 PR debug/53671
2246 PR debug/49888
2247 * alias.c (offset_overlap_p): New, factored out of...
2248 (memrefs_conflict_p): ... this. Use absolute sizes. Retain
2249 the conservative special case for symbolic constants. Don't
2250 adjust zero sizes on alignment.
2251
c664546f
JL
22522013-01-18 Bernd Schmidt <bernds@codesourcery.com>
2253
2254 PR rtl-optimization/52573
2255 * regrename.c (build_def_use): Ignore REG_DEAD notes if there is a
2256 REG_UNUSED for the same register.
2257
1bd3f750
MP
22582013-01-17 Richard Biener <rguenther@suse.de>
2259 Marek Polacek <polacek@redhat.com>
2260
2261 PR rtl-optimization/55833
2262 * loop-unswitch.c (unswitch_loops): Move loop verification...
2263 (unswitch_single_loop): ...here. Call mark_irreducible_loops.
2264 * cfgloopmanip.c (fix_loop_placement): Add IRRED_INVALIDATED parameter.
2265 Set it to true when we're removing a loop from hierarchy tree in
2266 an irreducible region.
2267 (fix_bb_placements): Adjust caller.
2268 (fix_loop_placements): Likewise.
2269
e52a8b71
GJL
22702013-01-17 Georg-Johann Lay <avr@gjlay.de>
2271
2272 * config/avr/builtins.def (DEF_BUILTIN): Factor out
2273 "__builtin_avr_" from NAME, turn NAME to an uppercase identifier.
2274 Factor out 'CODE_FOR_' from ICODE, use 'nothing' instead of '-1'.
2275 Remove ID. Adjust comments.
2276 * config/avr/avr-c.c (avr_builtin_name): Remove.
2277 (avr_cpu_cpp_builtins): Use DEF_BUILTIN instead of for-loop.
2278 * config/avr/avr.c (avr_tolower): New static function.
2279 (DEF_BUILTIN): Remove parameter ID. Prefix ICODE by 'CODE_FOR_'.
2280 Stringify NAME, prefix it with "__builtin_avr_" and lowercase it.
2281 (avr_expand_builtin): Assert insn_code != CODE_FOR_nothing for
2282 default expansion.
2283
8386a7ea
JH
22842013-01-17 Jan Hubicka <jh@suse.cz>
2285
610fb637 2286 PR tree-optimization/55273
8386a7ea
JH
2287 * loop-iv.c (iv_number_of_iterations): Consider zero iteration case.
2288
47876a2a 22892013-01-17 Uros Bizjak <ubizjak@gmail.com>
8abaebcd
UB
2290
2291 PR target/55981
2292 * config/i386/sync.md (atomic_store<mode>): Always generate SWImode
2293 store through atomic_store<mode>_1.
2294 (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
2295
8222c37e
MJ
22962013-01-17 Martin Jambor <mjambor@suse.cz>
2297
2298 PR tree-optimizations/55264
2299 * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
2300 for virtual methods.
2301 * ipa.c (symtab_remove_unreachable_nodes): Never return true for
2302 virtual methods before inlining is over.
2303 * cgraph.h (cgraph_only_called_directly_or_aliased_p): Return false for
2304 virtual functions.
2305 * cgraphclones.c (cgraph_create_virtual_clone): Mark clones as
2306 non-virtual.
2307
79f01c76
VM
23082013-01-16 Vladimir Makarov <vmakarov@redhat.com>
2309
2310 PR rtl-optimization/56005
2311 * sched-deps.c (sched_analyze_2): Check deps->readonly for adding
2312 pending reads for prefetch.
2313
d0b6bb1b
IB
23142013-01-16 Ian Bolton <ian.bolton@arm.com>
2315
aaf1e810 2316 * config/aarch64/aarch64.md
d0b6bb1b
IB
2317 (*cstoresi_neg_uxtw): New pattern.
2318 (*cmovsi_insn_uxtw): New pattern.
2319 (*<optab>si3_uxtw): New pattern.
2320 (*<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): New pattern.
2321 (*<optab>si3_insn_uxtw): New pattern.
2322 (*bswapsi2_uxtw): New pattern.
2323
cb9cf03b
RB
23242013-01-16 Richard Biener <rguenther@suse.de>
2325
2326 * tree-inline.c (tree_function_versioning): Remove set but
2327 never used variable.
2328
2cfc56b9
RB
23292013-01-16 Richard Biener <rguenther@suse.de>
2330
2331 PR tree-optimization/55964
2332 * tree-flow.h (rename_variables_in_loop): Remove.
2333 (rename_variables_in_bb): Likewise.
2334 * tree-loop-distribution.c (update_phis_for_loop_copy): Remove.
2335 (copy_loop_before): Adjust and delete update-ssa status.
2336 * tree-vect-loop-manip.c (rename_variables_in_bb): Make static.
8abaebcd 2337 (rename_variables_in_bb): Likewise. Properly walk over predecessors.
2cfc56b9
RB
2338 (rename_variables_in_loop): Remove.
2339 (slpeel_update_phis_for_duplicate_loop): Likewise.
2340 (slpeel_tree_duplicate_loop_to_edge_cfg): Handle nested loops,
2341 use available cfg machinery instead of duplicating it.
2342 Update PHI nodes and perform poor-mans SSA update here.
2343 (slpeel_tree_peel_loop_to_edge): Adjust.
2344
c25a0c60
RB
23452013-01-16 Richard Biener <rguenther@suse.de>
2346
2347 PR tree-optimization/54767
2348 PR tree-optimization/53465
2349 * tree-vrp.c (vrp_meet_1): Revert original fix for PR53465.
2350 (vrp_visit_phi_node): For PHI arguments coming via backedges
2351 drop all symbolical range information.
2352 (execute_vrp): Compute backedges.
2353
04b535af
RB
23542013-01-16 Richard Biener <rguenther@suse.de>
2355
2356 * doc/install.texi: Update CLooG and ISL requirements to
2357 0.18.0 and 0.11.1.
2358
8b0a1e0b
CB
23592013-01-16 Christian Bruel <christian.bruel@st.com>
2360
2361 PR target/55301
2362 * config/sh/sh.c (sh_expand_prologue): Postpone new_stack mem symbol.
2363 (broken_move): Handle UNSPECV_SP_SWITCH_B.
2364 * config/sh/sh.md (sp_switch_1): Use set (reg:SI SP_REG).
2365
23662013-01-16 DJ Delorie <dj@redhat.com>
2367
2368 * config/sh/sh.md (UNSPECV_SP_SWITCH_B): New.
2369 (UNSPECV_SP_SWITCH_E): New.
2370 (sp_switch_1): Change to an unspec.
2371 (sp_switch_2): Change to an unspec. Don't use post-inc when we
2372 replace $r15.
2373
23742013-01-16 Uros Bizjak <ubizjak@gmail.com>
88e784e6
UB
2375
2376 * emit-rtl.c (need_atomic_barrier_p): Mask memory model argument
2377 with MEMMODEL_MASK before comparing with MEMMODEL_* memory types.
2378 * optabs.c (maybe_emit_sync_lock_test_and_set): Ditto.
2379 (expand_mem_thread_fence): Ditto.
2380 (expand_mem_signal_fence): Ditto.
2381 (expand_atomic_load): Ditto.
2382 (expand_atomic_store): Ditto.
2383
0bfbca58 23842013-01-16 Alexandre Oliva <aoliva@redhat.com>
5147bf6a
AO
2385
2386 PR rtl-optimization/55547
2387 PR rtl-optimization/53827
2388 PR debug/53671
2389 PR debug/49888
2390 * alias.c (memrefs_conflict_p): Set sizes to negative after
2391 AND adjustments.
2392
305e3ac1
JJ
23932013-01-15 Jakub Jelinek <jakub@redhat.com>
2394
2395 PR target/55940
2396 * function.c (thread_prologue_and_epilogue_insns): Always
2397 add crtl->drap_reg to set_up_by_prologue.set, even if
2398 stack_realign_drap is false.
2399
f78ac4f2
JBG
24002013-01-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
2401
2402 * config/vax/vax.md (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3,
2403 and<mode>3, *and<mode>_const_int, ior<mode>3, xor<mode>3, ashrsi3,
2404 *call): Fix indention.
2405
a78a8cc4
TV
24062013-01-15 Tom de Vries <tom@codesourcery.com>
2407
2408 PR target/55876
2409 * optabs.c (widen_operand): Use gen_lowpart instead of gen_rtx_SUBREG.
2410 Update comment.
2411
0e80383f
VM
24122013-01-15 Vladimir Makarov <vmakarov@redhat.com>
2413
305e3ac1 2414 PR rtl-optimization/55153
0e80383f
VM
2415 * sched-deps.c (sched_analyze_2): Add pending reads for prefetch.
2416
207b5956
MJ
24172013-01-15 Martin Jambor <mjambor@suse.cz>
2418
2419 PR tree-optimization/55920
2420 * tree-sra.c (analyze_access_subtree): Do not mark non-removable
2421 accesses as grp_to_be_debug_replaced.
2422
a7818b54
JJ
24232013-01-15 Jakub Jelinek <jakub@redhat.com>
2424
2425 PR tree-optimization/55920
2426 * tree-sra.c (sra_modify_assign): If for lacc->grp_to_be_debug_replaced
2427 there is non-useless type conversion needed from debug rhs to lhs,
2428 use build_debug_ref_for_model and/or VIEW_CONVERT_EXPR.
2429
b0fe107e
JM
24302013-01-15 Joseph Myers <joseph@codesourcery.com>
2431 Mikael Pettersson <mikpe@it.uu.se>
2432
2433 PR target/43961
2434 * config/arm/arm.h (ADDR_VEC_ALIGN): Align SImode jump tables for
2435 Thumb.
2436 (ASM_OUTPUT_CASE_LABEL): Remove.
2437 (ASM_OUTPUT_BEFORE_CASE_LABEL): Define to empty.
2438 * final.c (shorten_branches): Update alignment of labels before
2439 jump tables if CASE_VECTOR_SHORTEN_MODE.
2440
34ab62ee
RB
24412013-01-15 Richard Biener <rguenther@suse.de>
2442
2443 PR bootstrap/55961
2444 * system.h: Do not include gmp.h for building host tools.
2445
783a3a05
RB
24462013-01-15 Richard Biener <rguenther@suse.de>
2447
2448 PR middle-end/55882
2449 * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
2450 account for bitpos when computing alignment.
2451
3a579e09
VY
24522013-01-15 Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
2453
2454 * config/i386/i386-c.c (ix86_target_macros_internal): New case.
2455 (ix86_target_macros_internal): Likewise.
2456
2457 * config/i386/i386.c (m_CORE2I7): Removed.
2458 (m_CORE_HASWELL): New macro.
2459 (m_CORE_ALL): Likewise.
2460 (initial_ix86_tune_features): m_CORE2I7 is replaced by m_CORE_ALL.
2461 (initial_ix86_arch_features): Likewise.
2462 (processor_target_table): Initializations for Core avx2.
2463 (cpu_names): New names "core-avx2".
2464 (ix86_option_override_internal): Changed PROCESSOR_COREI7 by
2465 PROCESSOR_CORE_HASWELL.
2466 (ix86_issue_rate): New case.
2467 (ia32_multipass_dfa_lookahead): Likewise.
2468 (ix86_sched_init_global): Likewise.
2469
2470 * config/i386/i386.h (TARGET_HASWELL): New macro.
2471 (target_cpu_default): New TARGET_CPU_DEFAULT_haswell.
2472 (processor_type): New PROCESSOR_HASWELL.
2473
955f5a07
JJ
24742013-01-15 Jakub Jelinek <jakub@redhat.com>
2475
ff784829
JJ
2476 PR tree-optimization/55955
2477 * tree-vect-loop.c (vectorizable_reduction): Give up early on
2478 *SHIFT_EXPR and *ROTATE_EXPR codes.
2479
955f5a07
JJ
2480 PR tree-optimization/48766
2481 * opts.c (common_handle_option): For -fwrapv disable -ftrapv, for
2482 -ftrapv disable -fwrapv.
2483
aeb8b4e9
GJL
24842013-01-14 Georg-Johann Lay <avr@gjlay.de>
2485
2486 PR target/55974
2487 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
2488 etc. to 1 and not to __flash.
2489 Use LL suffix for __INT24_MAX__ with -mint8.
2490 Use ULL suffix for __UINT24_MAX__ with -mint8.
2491
1c494c6a
GJL
24922013-01-14 Georg-Johann Lay <avr@gjlay.de>
2493
2494 * config/avr/avr-arch.h
2495 (struct base_arch_s): Use typedef avr_arch_t instead.
2496 (struct arch_info_s): Use typedef avr_arch_info_t instead.
2497 (struct mcu_type_s): Use typedef avr_mcu_t instead.
2498 * config/avr/avr.c: Same.
2499 * config/avr/avr-devices.c: Same.
2500 * config/avr/driver-avr.c: Same.
2501 * config/avr/gen-avr-mmcu-texi.c: Same.
2502 * config/avr/avr-mcus.def: Adjust comment.
2503
a50344cb
TB
25042013-01-14 Tejas Belagod <tejas.belagod@arm.com>
2505
88e784e6
UB
2506 * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): New.
2507 * config/aarch64/iterators.md (VALLDI): New.
a50344cb 2508
47876a2a 25092013-01-14 Uros Bizjak <ubizjak@gmail.com>
e6f0e052
UB
2510 Andi Kleen <ak@linux.intel.com>
2511
2512 PR target/55948
2513 * config/i386/sync.md (atomic_store<mode>_1): New pattern.
2514 (atomic_store<mode>): Call atomic_store<mode>_1 for IX86_HLE_RELEASE
2515 memmodel flag.
2516
00892272
GJL
25172013-01-14 Georg-Johann Lay <avr@gjlay.de>
2518
2519 * config/avr/avr-stdint.h: Remove trailing blanks.
2520 * config/avr/avr-log.h: Same.
2521 * config/avr/avr-arch.h: Same.
2522 * config/avr/avr-devices.c: Same.
2523 * config/avr/avr-dimode.md: Same.
2524 * config/avr/predicates.md: Same.
2525 * config/avr/avr-c.c: Same. And fix typo.
e6f0e052 2526
00892272
GJL
2527 * config/avr/avr-protos.h: Same. And:
2528 (function_arg_regno_p): Rename to avr_function_arg_regno_p.
2529 (init_cumulative_args): Rename to avr_init_cumulative_args.
2530 (expand_prologue): Rename to avr_expand_prologue.
2531 (expand_epilogue): Rename to avr_expand_epilogue.
2532 (adjust_insn_length): Rename to avr_adjust_insn_length.
2533 (notice_update_cc): Rename to avr_notice_update_cc.
2534 (final_prescan_insn): Rename to avr_final_prescan_insn.
2535 * config/avr/avr.c: Same.
2536 * config/avr/avr.h: Same.
2537 * config/avr/avr.md: Remove trailing blanks.
2538 (prologue): Use avr_expand_prologue.
2539 (epilogue, sibcall_epilogue): Use avr_expand_epilogue.
2540
7bb01996
RB
25412013-01-14 Richard Biener <rguenther@suse.de>
2542
2543 * tree-cfg.c (verify_expr_location, verify_expr_location_1,
2544 verify_location, collect_subblocks): New functions.
2545 (verify_gimple_in_cfg): Verify that locations only reference
2546 BLOCKs in the functions BLOCK tree.
2547
2724573f
RB
25482013-01-14 Richard Biener <rguenther@suse.de>
2549
2550 * tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated
2551 PHI argument.
2552 * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Properly
2553 unshare reference.
2554 (insert_out_of_ssa_copy_on_edge): Likewise.
2555 (rewrite_close_phi_out_of_ssa): Likewise.
2556 * tree-ssa.c (insert_debug_temp_for_var_def): Properly unshare
2557 debug expressions.
2558 * tree-ssa-pre.c (insert_into_preds_of_block): Properly unshare
2559 propagated constants.
2560 * tree-cfg.c (tree_node_can_be_shared): Handled component-refs
2561 can not be shared.
2562
9a0bbab6
GJL
25632013-01-14 Georg-Johann Lay <avr@gjlay.de>
2564
2565 * config/avr/avr-modes.def: Add GPL copyright notice.
2566
45805f17
UB
25672013-01-13 Uros Bizjak <ubizjak@gmail.com>
2568
2569 * config/i386/sync.md (mem_thread_fence): Mask operands[0] with
2570 MEMMODEL_MASK to determine memory model.
2571 (atomic_store<mode>): Ditto from operands[2].
2572 * config/i386/i386.c (ix86_memmodel_check): Declare "strong" as bool.
2573
9d60be38
JJ
25742013-01-13 Jakub Jelinek <jakub@redhat.com>
2575
2576 PR fortran/55935
45805f17 2577 * gimple-fold.c (get_symbol_constant_value): Call unshare_expr.
9d60be38
JJ
2578 (fold_gimple_assign): Don't call unshare_expr here.
2579 (fold_ctor_reference): Call unshare_expr.
2580
e7f49d92
TG
25812013-01-13 Terry Guo <terry.guo@arm.com>
2582
aaf1e810
EB
2583 * Makefile.in (s-mlib): New argument MULTILIB_REUSE.
2584 * doc/fragments.texi: Document MULTILIB_REUSE.
2585 * gcc.c (multilib_reuse): New internal spec.
e7f49d92 2586 (set_multilib_dir): Also search multilib from multilib_reuse.
aaf1e810 2587 * genmultilib (tmpmultilib3): Refactor code.
e7f49d92
TG
2588 (tmpmultilib4): Ditto.
2589 (multilib_reuse): New multilib argument.
2590
fbd03a27
RS
25912013-01-13 Richard Sandiford <rdsandiford@googlemail.com>
2592
2593 * Makefile.in: Update copyright.
2594
b3681f13
TV
25952013-01-12 Tom de Vries <tom@codesourcery.com>
2596
2597 PR middle-end/55890
2598 * calls.c (expand_call): Check if arg_nr is valid.
2599
3f287e4b
MM
26002013-01-11 Michael Meissner <meissner@linux.vnet.ibm.com>
2601
2602 * doc/extend.texi (X86 Built-in Functions): Add whitespace in
2603 __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
5bc35113
MM
2604 documentation. Add missing '__' in front of
2605 __builtin_ia32_packssdw256.
3f287e4b 2606
1abcd5eb
AK
26072013-01-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2608
2609 PR target/55719
2610 * config/s390/s390.c (s390_preferred_reload_class): Do not return
2611 NO_REGS for larl operands.
2612 (s390_reload_larl_operand): Use s390_load_address instead of
2613 emit_move_insn.
2614
980d0812
RB
26152013-01-11 Richard Biener <rguenther@suse.de>
2616
2617 * tree-cfg.c (verify_node_sharing_1): Split out from ...
2618 (verify_node_sharing): ... here.
2619 (verify_gimple_in_cfg): Use verify_node_sharing_1 for walk_tree.
2620
7cb9fd07
EB
26212013-01-11 Eric Botcazou <ebotcazou@adacore.com>
2622
2623 * configure.ac (Tree checking): Set TREECHECKING to yes if enabled.
2624 Substitute TREECHECKING.
2625 * configure: Regenerate.
2626 * Makefile.in (TREECHECKING): New.
2627
47876a2a 26282013-01-11 Richard Guenther <rguenther@suse.de>
c7ab2530
RG
2629
2630 PR tree-optimization/44061
2631 * tree-vrp.c (extract_range_basic): Compute zero as
2632 value-range for __builtin_constant_p of function parameters.
2633
d1e082c2
RS
26342013-01-10 Richard Sandiford <rdsandiford@googlemail.com>
2635
45805f17 2636 Update copyright years.
d1e082c2 2637
f85021b0
VM
26382013-01-10 Vladimir Makarov <vmakarov@redhat.com>
2639
9d60be38 2640 PR rtl-optimization/55672
0160442c
VM
2641 * lra-eliminations.c (mark_not_eliminable): Permit addition with
2642 const to be eliminable.
f85021b0 2643
7a8b1ec4
DE
26442013-01-10 David Edelsohn <dje.gcc@gmail.com>
2645
2646 * configure.ac (HAVE_AS_TLS): Add check for powerpc-ibm-aix.
2647 * configure: Regenerate.
2648
ad2e5b71
RB
26492013-01-10 Richard Biener <rguenther@suse.de>
2650
ddf9322d 2651 * builtins.c (expand_builtin_init_trampoline): Use set_mem_attributes.
ad2e5b71 2652
ffc5b2bb
RB
26532013-01-10 Richard Biener <rguenther@suse.de>
2654
2655 PR bootstrap/55792
2656 * tree-into-ssa.c (rewrite_add_phi_arguments): Do not set
2657 locations for virtual PHI arguments.
2658 (rewrite_update_phi_arguments): Likewise.
2659
e1f674e4
JS
26602013-01-10 Joel Sherrill <joel.sherrill@OARcorp.com>
2661
2662 * config/v850/rtems.h (ASM_SPEC): Pass -m8byte-align and -mgcc-abi
2663 on to assembler.
2664
a57fc743
JJ
26652013-01-10 Jakub Jelinek <jakub@redhat.com>
2666
2667 PR tree-optimization/55921
2668 * tree-complex.c (expand_complex_asm): New function.
2669 (expand_complex_operations_1): Call it for GIMPLE_ASM.
2670
0ff4390d
AK
26712013-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2672
2673 PR target/55718
2674 * config/s390/s390.c (s390_symref_operand_p)
2675 (s390_loadrelative_operand_p): Merge the two functions.
2676 (s390_check_qrst_address, print_operand_address): Add parameters
2677 to s390_loadrelative_operand_p invokation.
2678 (s390_check_symref_alignment): Use s390_loadrelative_operand_p.
2679 (s390_reload_larl_operand, s390_secondary_reload): Use
2680 s390_loadrelative_operand_p instead of s390_symref_operand_p.
2681 (legitimize_pic_address): Handle @GOTENT and @PLT + addend.
2682
6f557e0e
MS
26832013-01-09 Mike Stump <mikestump@comcast.net>
2684
2685 * dse.c (record_store): Remove unnecessary assert.
2686
7770c9e9
JH
26872013-01-09 Jan Hubicka <jh@suse.cz>
2688
2689 PR tree-optimization/55569
2690 * cfgloopmanip.c (scale_loop_profile): Make ITERATION_BOUND gcov_type.
2691 * cfgloop.h (scale_loop_profile): Likewise.
2692
a19b1432
JH
26932013-01-09 Jan Hubicka <jh@suse.cz>
2694
2695 PR lto/45375
ddf9322d
UB
2696 * ipa-inline.c (ipa_inline): Remove extern inlines and virtual
2697 functions.
a19b1432
JH
2698 * cgraphclones.c (cgraph_clone_node): Cpoy also LTO file data.
2699
9a002da8
RS
27002013-01-09 Richard Sandiford <rdsandiford@googlemail.com>
2701
2702 PR middle-end/55114
2703 * expr.h (maybe_emit_group_store): Declare.
2704 * expr.c (maybe_emit_group_store): New function.
2705 * builtins.c (expand_builtin_int_roundingfn): Call it.
2706 (expand_builtin_int_roundingfn_2): Likewise.
2707
511dcace
VM
27082013-01-09 Vladimir Makarov <vmakarov@redhat.com>
2709
e1f2b729 2710 PR rtl-optimization/55829
511dcace
VM
2711 * lra-constraints.c (match_reload): Add code for absent output.
2712 (curr_insn_transform): Add code for reloads of matched inputs
2713 without output.
2714
7b0fe4f4
UB
27152013-01-09 Uros Bizjak <ubizjak@gmail.com>
2716
2717 * config/i386/sse.md (*vec_interleave_highv2df): Change mode
2718 attribute of movddup insn to DF.
2719 (*vec_interleave_lowv2df): Ditto.
2720 (vec_dupv2df): Ditto.
2721
870ca331
JH
27222013-01-09 Jan Hubicka <jh@suse.cz>
2723
2724 PR tree-optimiation/55875
2725 * tree-ssa-loop-niter.c (number_of_iterations_cond): Add
2726 EVERY_ITERATION parameter.
7b0fe4f4 2727 (number_of_iterations_exit): Check if exit is executed every iteration.
870ca331
JH
2728 (idx_infer_loop_bounds): Similarly here.
2729 (n_of_executions_at_most): Simplify
2730 to only test for cases where statement is dominated by the
7b0fe4f4 2731 particular bound; handle correctly the "postdominance" test.
870ca331
JH
2732 (scev_probably_wraps_p): Use max loop iterations info
2733 as a global bound first.
2734
6f575fe4 27352013-01-09 Nguyen Duy Dat <dat.nguyen.yn@rvc.renesas.com>
3cd232b5
NDD
2736 Nick Clifton <nickc@redhat.com>
2737
2738 * config/v850/v850.md (cbranchsf4): New pattern.
2739 (cstoresf4): New pattern.
2740 (cbranchdf4): New pattern.
2741 (cstoredf4): New pattern.
2742 (movsicc): Disallow floating point comparisons.
2743 (cmpsf_le_insn): Fix order of operators.
2744 (cmpsf_lt_insn): Likewise.
2745 (cmpsf_eq_insn): Likewise.
2746 (cmpdf_le_insn): Likewise.
2747 (cmpdf_lt_insn): Likewise.
2748 (cmpdf_eq_insn): Likewise.
2749 (cmpsf_ge_insn): Use LE comparison.
2750 (cmpdf_ge_insn): Likewise.
2751 (cmpsf_gt_insn): Use LT comparison.
2752 (cmpdf_gt_insn): Likewise.
2753 (cmpsf_ne_insn): Delete pattern.
2754 (cmpdf_ne_insn): Delete pattern.
2755 * config/v850/v850.c (v850_gen_float_compare): Use
2756 gen_cmpdf_eq_insn for NE comparison.
2757 (v850_float_z_comparison_operator)
2758 (v850_float_nz_comparison_operator): Move from here ...
2759 * config/v850/predicates.md: ... to here. Move GT and GE
2760 comparisons into v850_float_z_comparison_operator.
2761 * config/v850/v850-protos.h (v850_float_z_comparison_operator):
2762 Delete prototype.
2763 (v850_float_nz_comparison_operator): Likewise.
2764
f0d54148
JDA
27652013-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2766
2767 * config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv
2768 with calls to gen_insvsi/gen_insvdi.
2769
8f01beca
VK
27702013-01-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
2771
2772 * config/i386/i386.c (initial_ix86_tune_features): Set up
2773 X86_TUNE_AVX128_OPTIMAL for m_BTVER2.
2774
2aa579ad
JJ
27752013-01-09 Steven Bosscher <steven@gcc.gnu.org>
2776 Jakub Jelinek <jakub@redhat.com>
2777
2778 PR tree-optimization/48189
2779 * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
2780 If nitercst is 0, don't predict the exit edge.
2781
6edc3e32 27822013-01-08 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
01a3a324
N
2783
2784 * config/aarch64/aarch64.c (aarch64_print_operand): Replace %r
2785 in asm_fprintf with reg_names.
2786 (aarch64_print_operand_address): Likewise.
2787 (aarch64_return_addr): Likewise.
2788 * config/aarch64/aarch64.h (ASM_FPRINTF_EXTENSIONS): Remove.
2789
f6f94d94
JDA
27902013-01-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2791
2792 * config/pa/pa.h (VAL_U6_BITS_P): Define.
2793 (INT_U6_BITS): Likewise.
2794 * config/pa/predicates.md (uint6_operand): New predicate.
2795 (shift5_operand, shift6_operand): Likewise.
2796 * config/pa/pa.md (lshrsi3, rotrsi3): Use shift5_operand instead of
2797 arith32_operand.
2798 (lshrdi3): Use shift6_operand.
2799 (shrpsi4, shrpdi4): New insn patterns.
2800 (extzv): Delete expander.
2801 (extzvsi, extzvdi): New expanders. Use uint5_operand and uint6_operand
2802 predicates in unamed zero extract patterns. Tighten common constraint.
2803 (extv): Delete expander.
2804 (extvsi, extvdi): New expanders. Use uint5_operand and uint6_operand
2805 predicates in unamed sign extract patterns. Tighten common constraint.
2806 (insv): Delete expander.
2807 (insvsi, insvdi): New expanders. Use uint5_operand and uint6_operand
2808 predicates in unamed insert patterns. Tighten common constraint.
2809 Change uint32_operand predicate to uint6_operand predicate in unamed
2810 DImode pattern to insert constant values of type 1...1xxxx.
2811
36b72910
JH
28122013-01-04 Jan Hubicka <jh@suse.cz>
2813
2814 PR tree-optimization/55823
7b0fe4f4
UB
2815 * ipa-prop.c (update_indirect_edges_after_inlining): Fix ordering
2816 issue.
36b72910 2817
47876a2a 28182013-01-08 Jakub Jelinek <jakub@redhat.com>
c6d851b9
JJ
2819 Uros Bizjak <ubizjak@gmail.com>
2820
2821 PR rtl-optimization/55845
2822 * df-problems.c (can_move_insns_across): Stop scanning at
2823 volatile_insn_p source instruction or give up if
2824 across_from .. across_to range contains any volatile_insn_p
2825 instructions.
2826
4369c11e
TB
28272013-01-08 Tejas Belagod <tejas.belagod@arm.com>
2828
7b0fe4f4
UB
2829 * config/aarch64/aarch64-simd.md (vec_init<mode>): New.
2830 * config/aarch64/aarch64-protos.h (aarch64_expand_vector_init):
2831 Declare.
4369c11e 2832 * config/aarch64/aarch64.c (aarch64_simd_dup_constant,
7b0fe4f4 2833 aarch64_simd_make_constant, aarch64_expand_vector_init): New.
4369c11e 2834
aeb7e7c1
JJ
28352013-01-08 Jakub Jelinek <jakub@redhat.com>
2836
2837 PR fortran/55341
2838 * asan.c (asan_clear_shadow): New function.
2839 (asan_emit_stack_protection): Use it.
2840
a02ad1aa
TB
28412013-01-08 Tejas Belagod <tejas.belagod@arm.com>
2842
2843 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_<su>mult_lo_<mode>,
2844 aarch64_simd_vec_<su>mult_hi_<mode>): Separate instruction and operand
2845 with tab instead of space.
2846
f90d87f5
NC
28472013-01-08 Nick Clifton <nickc@redhat.com>
2848
2849 * config/rl78/rl78.c (rl78_expand_prologue): Always select
2850 register bank 0 at the start of an interrupt handler.
83ffd964
NC
2851 * config/rl78/rl78.md (mulsi3_g13): Correct values for MDBL and
2852 MDBH registers.
f90d87f5 2853
385eb93d
JG
28542013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
2855
2856 * config/aarch64/aarch64-simd.md
2857 (aarch64_simd_bsl<mode>_internal): Add floating-point modes.
2858 (aarch64_simd_bsl): Likewise.
2859 (aarch64_vcond_internal<mode>): Likewise.
2860 (vcond<mode><mode>): Likewise.
2861 (aarch64_cm<cmp><mode>): Fix constraints, add new modes.
2862 * config/aarch64/iterators.md (V_cmp_result): Add V2DF.
2863
4dcd1054
JG
28642013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
2865
2866 * config/aarch64/aarch64-builtins.c
2867 (aarch64_builtin_vectorized_function): Handle sqrt, sqrtf.
2868
4267a4a6
MJ
28692013-01-08 Martin Jambor <mjambor@suse.cz>
2870
2871 PR debug/55579
2872 * tree-sra.c (analyze_access_subtree): Return true also after
2873 potentially creating a debug-only replacement.
2874
5f4e6de3
JJ
28752013-01-08 Jakub Jelinek <jakub@redhat.com>
2876
3138f224
JJ
2877 PR middle-end/55890
2878 * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_p.
2879
5f4e6de3
JJ
2880 PR tree-optimization/54120
2881 * tree-vrp.c (range_fits_type_p): Don't allow
2882 src_precision < precision from signed vr to unsigned_p
2883 if vr->min or vr->max is negative.
2884 (simplify_float_conversion_using_ranges): Test can_float_p
2885 against CODE_FOR_nothing.
2886
f3ef18ff
JJ
28872013-01-08 Jakub Jelinek <jakub@redhat.com>
2888 Richard Biener <rguenther@suse.de>
2889
2890 PR middle-end/55851
2891 * fold-const.c (int_binop_types_match_p): Allow all INTEGRAL_TYPE_P
2892 types instead of just INTEGER_TYPE types.
2893
25c210f9
MK
28942013-01-07 Mark Kettenis <kettenis@openbsd.org>
2895
2896 * config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT,
2897 TF_SIZE): Define.
f90d87f5 2898
81826a7b
SE
28992013-01-07 Steve Ellcey <sellcey@mips.com>
2900
2901 PR target/42661
2902 * config/mips/mips.opt: Change mad to mmad to match documentation.
2903
35678514
GJL
29042013-01-07 Georg-Johann Lay <avr@gjlay.de>
2905
2906 PR target/55897
2907 * doc/extend.texi (AVR Named Address Spaces): __memx goes into
2908 .progmemx.data now.
2909
e5669488
GJL
29102013-01-07 Georg-Johann Lay <avr@gjlay.de>
2911
2912 PR target/55897
2913 * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
2914 (avr_addrspace_t): Add .section_name field.
2915 * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
2916 array size.
2917 (avr_addrspace): Same. Initialize .section_name. Remove last
2918 NULL entry. Put __memx into .progmemx.data.
2919 (progmem_section_prefix): Remove.
2920 (avr_asm_init_sections): No need to initialize progmem_section.
2921 (avr_asm_named_section): Use avr_addrspace[].section_name to get
2922 section name prefix.
2923 (avr_asm_select_section): Ditto. And use get_unnamed_section to
2924 retrieve the progmem section.
2925 * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
2926 boundary to run over avr_addrspace[].
2927 (avr_register_target_pragmas): Ditto.
2928
656e6f37
JJ
29292013-01-06 Jakub Jelinek <jakub@redhat.com>
2930
2931 * varasm.c (output_constant_def_contents): For asan_protect_global
2932 protected strings, adjust DECL_ALIGN if needed, before testing for
2933 anchored symbols.
2934 (place_block_symbol): Adjust size for asan protected STRING_CSTs if
2935 TREE_CONSTANT_POOL_ADDRESS_P. Increase alignment for asan protected
2936 normal decls.
2937 (output_object_block): For asan protected decls, emit asan padding
2938 after their contents.
2939 * asan.c (asan_protect_global): Don't check TREE_ASM_WRITTEN here.
2940 (asan_finish_file): Test it here instead.
2941
6edc3e32
UB
29422013-01-07 Nick Clifton <nickc@redhat.com>
2943 Matthias Klose <doko@debian.org>
2944 Doug Kwan <dougkwan@google.com>
2945 H.J. Lu <hongjiu.lu@intel.com>
b352afba
NC
2946
2947 PR driver/55470
2948 * collect2.c (main): Support -fuse-ld=bfd and -fuse-ld=gold.
2949
2950 * common.opt: Add fuse-ld=bfd and fuse-ld=gold.
2951
2952 * gcc.c (LINK_COMMAND_SPEC): Pass -fuse-ld=* to collect2.
2953
7b0fe4f4 2954 * opts.c (comman_handle_option): Ignore -fuse-ld=bfd and -fuse-ld=gold.
b352afba
NC
2955
2956 * doc/invoke.texi: Document -fuse-ld=bfd and -fuse-ld=gold.
2957
2a095093
GJL
29582013-01-07 Georg-Johann Lay <avr@gjlay.de>
2959
f3b503f4 2960 PR target/54461
2a095093
GJL
2961 * doc/install.texi (Cross-Compiler-Specific Options): Document
2962 --with-avrlibc.
2963
383f9b34
TB
29642013-01-07 Tejas Belagod <tejas.belagod@arm.com>
2965
2966 * config/aarch64/arm_neon.h (vmovn_high_is16, vmovn_high_s32,
2967 vmovn_high_s64, vmovn_high_u16, vmovn_high_u32, vmovn_high_u64,
2968 vqmovn_high_s16, vqmovn_high_s32, vqmovn_high_s64, vqmovn_high_u16,
2969 vqmovn_high_u32, vqmovn_high_u64, vqmovun_high_s16, vqmovun_high_s32,
2970 vqmovun_high_s64): Fix source operand number and update copyright.
2971
3626621a
RB
29722013-01-07 Richard Biener <rguenther@suse.de>
2973
2974 PR middle-end/55890
2975 * gimple.h (gimple_call_builtin_p): New overload.
2976 * gimple.c (validate_call): New function.
2977 (gimple_call_builtin_p): Likewise.
2978 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
2979 Use gimple_call_builtin_p.
2980 (find_func_clobbers): Likewise.
2981 * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
2982 (strlen_optimize_stmt): Likewise.
2983
8b2ea410
JG
29842013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
2985
2986 * config/aarch64/arm_neon.h (vld1_dup_*): Make argument const.
2987 (vld1q_dup_*): Likewise.
2988 (vld1_*): Likewise.
2989 (vld1q_*): Likewise.
2990 (vld1_lane_*): Likewise.
2991 (vld1q_lane_*): Likewise.
2992
9713d329
RB
29932013-01-07 Richard Biener <rguenther@suse.de>
2994
2995 * lto-streamer.h (LTO_minor_version): Bump to 2.
2996
3520f7cc
JG
29972013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
2998
2999 * config/aarch64/aarch64-protos.h
3000 (aarch64_const_double_zero_rtx_p): Rename to...
3001 (aarch64_float_const_zero_rtx_p): ...this.
3002 (aarch64_float_const_representable_p): New.
3003 (aarch64_output_simd_mov_immediate): Likewise.
3004 * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Refactor
3005 move immediate case.
3006 * config/aarch64/aarch64.c
3007 (aarch64_const_double_zero_rtx_p): Rename to...
3008 (aarch64_float_const_zero_rtx_p): ...this.
3009 (aarch64_print_operand): Allow printing of new constants.
3010 (aarch64_valid_floating_const): New.
3011 (aarch64_legitimate_constant_p): Check for valid floating-point
3012 constants.
3013 (aarch64_simd_valid_immediate): Likewise.
3014 (aarch64_vect_float_const_representable_p): New.
3015 (aarch64_float_const_representable_p): Likewise.
3016 (aarch64_simd_imm_zero_p): Also allow for floating-point 0.0.
3017 (aarch64_output_simd_mov_immediate): New.
3018 * config/aarch64/aarch64.md (*movsf_aarch64): Add new alternative.
3019 (*movdf_aarch64): Likewise.
3020 * config/aarch64/constraints.md (Ufc): New.
3021 (Y): call aarch64_float_const_zero_rtx.
3022 * config/aarch64/predicates.md (aarch64_fp_compare_operand): New.
3023
e167c04d
RB
30242013-01-07 Richard Biener <rguenther@suse.de>
3025
3026 PR tree-optimization/55888
3027 PR tree-optimization/55862
3028 * tree-ssa-pre.c (phi_translate_1): Revert previous change.
3029 (valid_in_sets): Check if a NAME has a leader in AVAIL_OUT,
3030 not if it is contained therein.
3031
0139aaab
GJL
30322013-01-07 Georg-Johann Lay <avr@gjlay.de>
3033
3034 * config/avr/t-avr: Typo.
3035
4a176b23
GJL
30362013-01-07 Georg-Johann Lay <avr@gjlay.de>
3037
3038 PR55243
3039 * config/avr/t-avr: Don't automatically rebuild
3040 $(srcdir)/config/avr/t-multilib
3041 $(srcdir)/config/avr/avr-tables.opt
3042 $(srcdir)/doc/avr-mmcu.texi
3043 (avr-mcus): New phony target to build them on request.
3044 (s-avr-mlib, s-avr-mmcu-texi): Remove.
3045 * avr/avr-mcus.def: Adjust comments.
3046
c7afdc98
UB
30472013-01-07 Uros Bizjak <ubizjak@gmail.com>
3048
3049 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.
3050
1ab05c31
RS
30512013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
3052
3053 * file-find.c, file-find.h, realmpfr.c: Add FSF as copyright holder.
3054
488e3acc
RS
30552013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
3056
3057 * config/tilepro/gen-mul-tables.cc: Put copyright on one line.
3058
a89599d2
DE
30592013-01-05 David Edelsohn <dje.gcc@gmail.com>
3060
3061 * config/rs6000/aix53.h (LIB_SPEC): Add -lpthreads when compiling
3062 to generate profiling.
3063 * config/rs6000/aix64.h (LIB_SPEC): Same.
3064
70f09188
AP
30652013-01-04 Andrew Pinski <apinski@cavium.com>
3066
3067 * config/aarch64/aarch64.c (aarch64_fixed_condition_code_regs):
3068 New function.
3069 (TARGET_FIXED_CONDITION_CODE_REGS): Define.
3070
918d445f
UB
30712013-01-04 Uros Bizjak <ubizjak@gmail.com>
3072
3073 * config/i386/i386.c (ix86_legitimize_address): Call convert_to_mode
3074 unconditionally.
3075 (ix86_expand_move): Ditto.
3076 (ix86_zero_extend_to_Pmode): Ditto.
3077 (ix86_expand_call): Ditto.
3078 (ix86_expand_special_args_builtin): Ditto.
3079 (ix86_expand_builtin): Ditto.
3080
361618ec
RB
30812013-01-04 Richard Biener <rguenther@suse.de>
3082
3083 PR tree-optimization/55862
3084 * tree-ssa-pre.c (phi_translate_1): Valueize SSA names after
3085 translating them through PHI nodes.
3086
87eab554
MJ
30872013-01-04 Martin Jambor <mjambor@suse.cz>
3088
3089 PR tree-optimization/55755
3090 * tree-sra.c (sra_modify_assign): Do not check that an access has no
3091 children when trying to avoid producing a VIEW_CONVERT_EXPR.
3092
33879b9f
MP
30932013-01-04 Marek Polacek <polacek@redhat.com>
3094
3095 PR middle-end/55859
3096 * opts.c (default_options_optimization): Clarify error message.
3097
3068819a
RB
30982013-01-04 Richard Biener <rguenther@suse.de>
3099
3100 PR middle-end/55863
3101 * fold-const.c (split_tree): Undo -X - 1 to ~X folding for
3102 reassociation.
3103
0e4ae794
JDA
31042013-01-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3105
3106 PR target/53789
3107 * config/pa/pa.md (movsi): Revert previous change.
e58d2e48
JDA
3108 * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
3109 references.
0e4ae794 3110
65c88cef
RH
31112013-01-03 Richard Henderson <rth@redhat.com>
3112
3113 * config/i386/i386.c (ix86_expand_move): Always assign to op1
3114 after eliminating TLS symbols.
3115
8ac16127
MG
31162013-01-03 Marc Glisse <marc.glisse@inria.fr>
3117
3118 PR bootstrap/50167
3119 * graphite-interchange.c (pdr_stride_in_loop): Use gmp_fprintf.
3120 * graphite-poly.c (debug_gmp_value): Likewise.
3121
bb664f09
UB
31222013-01-03 Uros Bizjak <ubizjak@gmail.com>
3123
3124 PR target/55712
3125 * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
3126 selected code model, define __code_mode_small__, __code_model_medium__,
3127 __code_model_large__, __code_model_32__ or __code_model_kernel__.
3128 * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
3129 xchg temporary register with %k. Declare temporary register as
3130 early clobbered.
3131 [__x86_64__]: For medium and large code models, preserve %rbx register.
3132
bcf1ef00
RB
31332013-01-03 Richard Biener <rguenther@suse.de>
3134
0506634a 3135 * tree-data-ref.c (dump_conflict_function): Use less vertical spacing.
bcf1ef00
RB
3136 (dump_subscript): Adjust.
3137 (finalize_ddr_dependent): Do not dump redundant info.
3138 (analyze_siv_subscript): Adjust.
3139 (subscript_dependence_tester): Likewise.
3140 (compute_affine_dependence): Likewise.
3141
59fd17e3
RB
31422013-01-03 Richard Biener <rguenther@suse.de>
3143
3144 Revert
3145 2013-01-03 Richard Biener <rguenther@suse.de>
3146
3147 PR tree-optimization/55857
3148 * tree-vect-stmts.c (vectorizable_load): Do not setup
3149 re-alignment for invariant loads.
3150
3151 2013-01-02 Richard Biener <rguenther@suse.de>
3152
3153 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
0506634a 3154 invariant load do not generate a vector load from the scalar location.
59fd17e3 3155
595c2679
RB
31562013-01-03 Richard Biener <rguenther@suse.de>
3157
3158 * tree-vect-loop.c (vect_analyze_loop_form): Clarify reason
3159 for not vectorizing.
3160 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
3161 not build INDIRECT_REFs, call get_name once only.
3162 (vect_create_data_ref_ptr): Likewise. Dump base object kind
3163 based on DR_BASE_OBJECT, not DR_BASE_ADDRESS.
3164
90bb7d7a
RB
31652013-01-03 Richard Biener <rguenther@suse.de>
3166
3167 PR tree-optimization/55857
3168 * tree-vect-stmts.c (vectorizable_load): Do not setup
3169 re-alignment for invariant loads.
3170
f09b77ca
RB
31712013-01-03 Richard Biener <rguenther@suse.de>
3172
3173 PR lto/55848
3174 * lto-symtab.c (lto_symtab_merge_decls_1): As last resort, always
3175 prefer a built-in decl.
3176
3461a16e
JJ
31772013-01-03 Jakub Jelinek <jakub@redhat.com>
3178
df8e2b4f
JJ
3179 * gcc.c (process_command): Update copyright notice dates.
3180 * gcov.c (print_version): Likewise.
3181 * gcov-dump.c (print_version): Likewise.
3182
3461a16e
JJ
3183 PR rtl-optimization/55838
3184 * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
3185 iv0.step, iv1.step and step.
3186
8b5546d6
JJ
31872013-01-03 Jakub Jelinek <jakub@redhat.com>
3188 Marc Glisse <marc.glisse@inria.fr>
3189
3190 PR tree-optimization/55832
3191 * fold-const.c (fold_binary_loc): For ABS_EXPR<x> >= 0 and
3192 ABS_EXPR<x> < 0 folding use constant_boolean_node instead of
3193 integer_{one,zero}_node.
3194
8ab1d2e9
JJ
31952013-01-03 Jakub Jelinek <jakub@redhat.com>
3196
3197 PR debug/54402
3198 * params.def (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE): New param.
3199 * var-tracking.c (reverse_op): Don't add reverse ops to
3200 VALUEs that have already
0506634a 3201 PARAM_VALUE (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE) or longer locs list.
8ab1d2e9 3202
5b9ad1d4
GP
32032013-01-02 Gerald Pfeifer <gerald@pfeifer.com>
3204
3205 * doc/contrib.texi: Note years as release manager for Mark Mitchell.
3206
e25a6711
TJ
32072013-01-02 Teresa Johnson <tejohnson@google.com>
3208
3209 * dumpfile.c (dump_loc): Print filename with location.
3210 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Use
3211 new location_t parameter to emit complete unroll message with
3212 new dump framework.
3213 (canonicalize_loop_induction_variables): Compute loops location
3214 and pass to try_unroll_loop_completely.
3215 * loop-unroll.c (report_unroll_peel): New function.
3216 (peel_loops_completely): Use new dump format with location
3217 for main dumpfile message, and invoke report_unroll_peel on success.
3218 (decide_unrolling_and_peeling): Ditto.
3219 (decide_peel_once_rolling): Remove old dumpfile message subsumed
3220 by report_unroll_peel.
3221 (decide_peel_completely): Ditto.
3222 (decide_unroll_constant_iterations): Ditto.
3223 (decide_unroll_runtime_iterations): Ditto.
3224 (decide_peel_simple): Ditto.
3225 (decide_unroll_stupid): Ditto.
3226 * cfgloop.c (get_loop_location): New function.
3227 * cfgloop.h (get_loop_location): Declare.
3228
77878621
ST
32292013-01-02 Sriraman Tallam <tmsriram@google.com>
3230
3231 * config/i386/i386.c (fold_builtin_cpu): Remove unnecessary checks for
3232 NULL.
3233
9e65d03e
JDA
32342013-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3235
3236 PR middle-end/55198
3237 * expr.c (expand_expr_real_1): Don't use bitfield extraction for non
3238 BLKmode objects when EXPAND_MEMORY is specified.
3239
6a7da30f
ST
32402013-01-02 Sriraman Tallam <tmsriram@google.com>
3241
3242 * config/i386/i386.c (ix86_get_function_versions_dispatcher): Fix bug
3243 in loop predicate.
3244 (fold_builtin_cpu): Do not share cpu model decls across statements.
3245
e78167f2
JM
32462013-01-02 Jason Merrill <jason@redhat.com>
3247
3248 PR c++/55804
3249 * tree.c (build_array_type_1): Revert earlier change.
3250
8c075fb4
YZ
32512013-01-02 Yufeng Zhang <yufeng.zhang@arm.com>
3252
3253 * config/aarch64/aarch64-cores.def: Add entries for "cortex-a53" and
3254 "cortex-a57".
3255 * config/aarch64/aarch64-tune.md: Re-generate.
3256
0682ed3e
RB
32572013-01-02 Richard Biener <rguenther@suse.de>
3258
3259 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
0506634a 3260 invariant load do not generate a vector load from the scalar location.
0682ed3e 3261
b8f6a302
RB
32622013-01-02 Richard Biener <rguenther@suse.de>
3263
3264 PR bootstrap/55784
3265 * configure.ac: Add $GMPINC to CFLAGS/CXXFLAGS.
3266 * configure: Regenerate.
3267
04b80dbb
RS
32682013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3269
3270 * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2)
3271 (expand_builtin_mathfn_ternary, expand_builtin_mathfn_3)
3272 (expand_builtin_int_roundingfn_2): Keep the original target around
3273 for the fallback case.
3274
635b0b0c
RS
32752013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3276
3277 * tree-vrp.c (range_fits_type_p): Require the MSB of the double_int
3278 to be clear for sign changes.
3279
42d57399
JH
32802013-01-01 Jan Hubicka <jh@suse.cz>
3281
3282 * ipa-inline-analysis.c: Fix formatting.
3283
5bb6669d
JJ
32842013-01-01 Jakub Jelinek <jakub@redhat.com>
3285
3286 PR tree-optimization/55831
3287 * tree-vect-loop.c (get_initial_def_for_induction): Use
3288 gsi_after_labels instead of gsi_start_bb.
ad41bd84 3289\f
86a2db33 3290Copyright (C) 2013 Free Software Foundation, Inc.
ad41bd84
JM
3291
3292Copying and distribution of this file, with or without modification,
3293are permitted in any medium without royalty provided the copyright
3294notice and this notice are preserved.