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