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