re PR rtl-optimization/55547 (Alias analysis does not handle AND addresses correctly)
[gcc.git] / gcc / ChangeLog
1 2013-01-18 Alexandre Oliva <aoliva@redhat.com>
2
3 PR rtl-optimization/55547
4 PR rtl-optimization/53827
5 PR debug/53671
6 PR debug/49888
7 * alias.c (offset_overlap_p): New, factored out of...
8 (memrefs_conflict_p): ... this. Use absolute sizes. Retain
9 the conservative special case for symbolic constants. Don't
10 adjust zero sizes on alignment.
11
12 2013-01-18 Bernd Schmidt <bernds@codesourcery.com>
13
14 PR rtl-optimization/52573
15 * regrename.c (build_def_use): Ignore REG_DEAD notes if there is a
16 REG_UNUSED for the same register.
17
18
19 2013-01-17 Richard Biener <rguenther@suse.de>
20 Marek Polacek <polacek@redhat.com>
21
22 PR rtl-optimization/55833
23 * loop-unswitch.c (unswitch_loops): Move loop verification...
24 (unswitch_single_loop): ...here. Call mark_irreducible_loops.
25 * cfgloopmanip.c (fix_loop_placement): Add IRRED_INVALIDATED parameter.
26 Set it to true when we're removing a loop from hierarchy tree in
27 an irreducible region.
28 (fix_bb_placements): Adjust caller.
29 (fix_loop_placements): Likewise.
30
31 2013-01-17 Georg-Johann Lay <avr@gjlay.de>
32
33 * config/avr/builtins.def (DEF_BUILTIN): Factor out
34 "__builtin_avr_" from NAME, turn NAME to an uppercase identifier.
35 Factor out 'CODE_FOR_' from ICODE, use 'nothing' instead of '-1'.
36 Remove ID. Adjust comments.
37 * config/avr/avr-c.c (avr_builtin_name): Remove.
38 (avr_cpu_cpp_builtins): Use DEF_BUILTIN instead of for-loop.
39 * config/avr/avr.c (avr_tolower): New static function.
40 (DEF_BUILTIN): Remove parameter ID. Prefix ICODE by 'CODE_FOR_'.
41 Stringify NAME, prefix it with "__builtin_avr_" and lowercase it.
42 (avr_expand_builtin): Assert insn_code != CODE_FOR_nothing for
43 default expansion.
44
45 2013-01-17 Jan Hubicka <jh@suse.cz>
46
47 PR tree-optimization/55273
48 * loop-iv.c (iv_number_of_iterations): Consider zero iteration case.
49
50 2012-01-17 Uros Bizjak <ubizjak@gmail.com>
51
52 PR target/55981
53 * config/i386/sync.md (atomic_store<mode>): Always generate SWImode
54 store through atomic_store<mode>_1.
55 (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
56
57 2013-01-17 Martin Jambor <mjambor@suse.cz>
58
59 PR tree-optimizations/55264
60 * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
61 for virtual methods.
62 * ipa.c (symtab_remove_unreachable_nodes): Never return true for
63 virtual methods before inlining is over.
64 * cgraph.h (cgraph_only_called_directly_or_aliased_p): Return false for
65 virtual functions.
66 * cgraphclones.c (cgraph_create_virtual_clone): Mark clones as
67 non-virtual.
68
69 2013-01-16 Vladimir Makarov <vmakarov@redhat.com>
70
71 PR rtl-optimization/56005
72 * sched-deps.c (sched_analyze_2): Check deps->readonly for adding
73 pending reads for prefetch.
74
75 2013-01-16 Ian Bolton <ian.bolton@arm.com>
76
77 * gcc/config/aarch64/aarch64.md
78 (*cstoresi_neg_uxtw): New pattern.
79 (*cmovsi_insn_uxtw): New pattern.
80 (*<optab>si3_uxtw): New pattern.
81 (*<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): New pattern.
82 (*<optab>si3_insn_uxtw): New pattern.
83 (*bswapsi2_uxtw): New pattern.
84
85 2013-01-16 Richard Biener <rguenther@suse.de>
86
87 * tree-inline.c (tree_function_versioning): Remove set but
88 never used variable.
89
90 2013-01-16 Richard Biener <rguenther@suse.de>
91
92 PR tree-optimization/55964
93 * tree-flow.h (rename_variables_in_loop): Remove.
94 (rename_variables_in_bb): Likewise.
95 * tree-loop-distribution.c (update_phis_for_loop_copy): Remove.
96 (copy_loop_before): Adjust and delete update-ssa status.
97 * tree-vect-loop-manip.c (rename_variables_in_bb): Make static.
98 (rename_variables_in_bb): Likewise. Properly walk over predecessors.
99 (rename_variables_in_loop): Remove.
100 (slpeel_update_phis_for_duplicate_loop): Likewise.
101 (slpeel_tree_duplicate_loop_to_edge_cfg): Handle nested loops,
102 use available cfg machinery instead of duplicating it.
103 Update PHI nodes and perform poor-mans SSA update here.
104 (slpeel_tree_peel_loop_to_edge): Adjust.
105
106 2013-01-16 Richard Biener <rguenther@suse.de>
107
108 PR tree-optimization/54767
109 PR tree-optimization/53465
110 * tree-vrp.c (vrp_meet_1): Revert original fix for PR53465.
111 (vrp_visit_phi_node): For PHI arguments coming via backedges
112 drop all symbolical range information.
113 (execute_vrp): Compute backedges.
114
115 2013-01-16 Richard Biener <rguenther@suse.de>
116
117 * doc/install.texi: Update CLooG and ISL requirements to
118 0.18.0 and 0.11.1.
119
120 2013-01-16 Christian Bruel <christian.bruel@st.com>
121
122 PR target/55301
123 * config/sh/sh.c (sh_expand_prologue): Postpone new_stack mem symbol.
124 (broken_move): Handle UNSPECV_SP_SWITCH_B.
125 * config/sh/sh.md (sp_switch_1): Use set (reg:SI SP_REG).
126
127 2013-01-16 DJ Delorie <dj@redhat.com>
128
129 * config/sh/sh.md (UNSPECV_SP_SWITCH_B): New.
130 (UNSPECV_SP_SWITCH_E): New.
131 (sp_switch_1): Change to an unspec.
132 (sp_switch_2): Change to an unspec. Don't use post-inc when we
133 replace $r15.
134
135 2013-01-16 Uros Bizjak <ubizjak@gmail.com>
136
137 * emit-rtl.c (need_atomic_barrier_p): Mask memory model argument
138 with MEMMODEL_MASK before comparing with MEMMODEL_* memory types.
139 * optabs.c (maybe_emit_sync_lock_test_and_set): Ditto.
140 (expand_mem_thread_fence): Ditto.
141 (expand_mem_signal_fence): Ditto.
142 (expand_atomic_load): Ditto.
143 (expand_atomic_store): Ditto.
144
145 2013-01-16 Alexandre Oliva <aoliva@redhat.com>
146
147 PR rtl-optimization/55547
148 PR rtl-optimization/53827
149 PR debug/53671
150 PR debug/49888
151 * alias.c (memrefs_conflict_p): Set sizes to negative after
152 AND adjustments.
153
154 2013-01-15 Jakub Jelinek <jakub@redhat.com>
155
156 PR target/55940
157 * function.c (thread_prologue_and_epilogue_insns): Always
158 add crtl->drap_reg to set_up_by_prologue.set, even if
159 stack_realign_drap is false.
160
161 2013-01-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
162
163 * config/vax/vax.md (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3,
164 and<mode>3, *and<mode>_const_int, ior<mode>3, xor<mode>3, ashrsi3,
165 *call): Fix indention.
166
167 2013-01-15 Tom de Vries <tom@codesourcery.com>
168
169 PR target/55876
170 * optabs.c (widen_operand): Use gen_lowpart instead of gen_rtx_SUBREG.
171 Update comment.
172
173 2013-01-15 Vladimir Makarov <vmakarov@redhat.com>
174
175 PR rtl-optimization/55153
176 * sched-deps.c (sched_analyze_2): Add pending reads for prefetch.
177
178 2013-01-15 Martin Jambor <mjambor@suse.cz>
179
180 PR tree-optimization/55920
181 * tree-sra.c (analyze_access_subtree): Do not mark non-removable
182 accesses as grp_to_be_debug_replaced.
183
184 2013-01-15 Jakub Jelinek <jakub@redhat.com>
185
186 PR tree-optimization/55920
187 * tree-sra.c (sra_modify_assign): If for lacc->grp_to_be_debug_replaced
188 there is non-useless type conversion needed from debug rhs to lhs,
189 use build_debug_ref_for_model and/or VIEW_CONVERT_EXPR.
190
191 2013-01-15 Joseph Myers <joseph@codesourcery.com>
192 Mikael Pettersson <mikpe@it.uu.se>
193
194 PR target/43961
195 * config/arm/arm.h (ADDR_VEC_ALIGN): Align SImode jump tables for
196 Thumb.
197 (ASM_OUTPUT_CASE_LABEL): Remove.
198 (ASM_OUTPUT_BEFORE_CASE_LABEL): Define to empty.
199 * final.c (shorten_branches): Update alignment of labels before
200 jump tables if CASE_VECTOR_SHORTEN_MODE.
201
202 2013-01-15 Richard Biener <rguenther@suse.de>
203
204 PR bootstrap/55961
205 * system.h: Do not include gmp.h for building host tools.
206
207 2013-01-15 Richard Biener <rguenther@suse.de>
208
209 PR middle-end/55882
210 * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
211 account for bitpos when computing alignment.
212
213 2013-01-15 Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
214
215 * config/i386/i386-c.c (ix86_target_macros_internal): New case.
216 (ix86_target_macros_internal): Likewise.
217
218 * config/i386/i386.c (m_CORE2I7): Removed.
219 (m_CORE_HASWELL): New macro.
220 (m_CORE_ALL): Likewise.
221 (initial_ix86_tune_features): m_CORE2I7 is replaced by m_CORE_ALL.
222 (initial_ix86_arch_features): Likewise.
223 (processor_target_table): Initializations for Core avx2.
224 (cpu_names): New names "core-avx2".
225 (ix86_option_override_internal): Changed PROCESSOR_COREI7 by
226 PROCESSOR_CORE_HASWELL.
227 (ix86_issue_rate): New case.
228 (ia32_multipass_dfa_lookahead): Likewise.
229 (ix86_sched_init_global): Likewise.
230
231 * config/i386/i386.h (TARGET_HASWELL): New macro.
232 (target_cpu_default): New TARGET_CPU_DEFAULT_haswell.
233 (processor_type): New PROCESSOR_HASWELL.
234
235 2013-01-15 Jakub Jelinek <jakub@redhat.com>
236
237 PR tree-optimization/55955
238 * tree-vect-loop.c (vectorizable_reduction): Give up early on
239 *SHIFT_EXPR and *ROTATE_EXPR codes.
240
241 PR tree-optimization/48766
242 * opts.c (common_handle_option): For -fwrapv disable -ftrapv, for
243 -ftrapv disable -fwrapv.
244
245 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
246
247 PR target/55974
248 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
249 etc. to 1 and not to __flash.
250 Use LL suffix for __INT24_MAX__ with -mint8.
251 Use ULL suffix for __UINT24_MAX__ with -mint8.
252
253 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
254
255 * config/avr/avr-arch.h
256 (struct base_arch_s): Use typedef avr_arch_t instead.
257 (struct arch_info_s): Use typedef avr_arch_info_t instead.
258 (struct mcu_type_s): Use typedef avr_mcu_t instead.
259 * config/avr/avr.c: Same.
260 * config/avr/avr-devices.c: Same.
261 * config/avr/driver-avr.c: Same.
262 * config/avr/gen-avr-mmcu-texi.c: Same.
263 * config/avr/avr-mcus.def: Adjust comment.
264
265 2013-01-14 Tejas Belagod <tejas.belagod@arm.com>
266
267 * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): New.
268 * config/aarch64/iterators.md (VALLDI): New.
269
270 2012-01-14 Uros Bizjak <ubizjak@gmail.com>
271 Andi Kleen <ak@linux.intel.com>
272
273 PR target/55948
274 * config/i386/sync.md (atomic_store<mode>_1): New pattern.
275 (atomic_store<mode>): Call atomic_store<mode>_1 for IX86_HLE_RELEASE
276 memmodel flag.
277
278 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
279
280 * config/avr/avr-stdint.h: Remove trailing blanks.
281 * config/avr/avr-log.h: Same.
282 * config/avr/avr-arch.h: Same.
283 * config/avr/avr-devices.c: Same.
284 * config/avr/avr-dimode.md: Same.
285 * config/avr/predicates.md: Same.
286 * config/avr/avr-c.c: Same. And fix typo.
287
288 * config/avr/avr-protos.h: Same. And:
289 (function_arg_regno_p): Rename to avr_function_arg_regno_p.
290 (init_cumulative_args): Rename to avr_init_cumulative_args.
291 (expand_prologue): Rename to avr_expand_prologue.
292 (expand_epilogue): Rename to avr_expand_epilogue.
293 (adjust_insn_length): Rename to avr_adjust_insn_length.
294 (notice_update_cc): Rename to avr_notice_update_cc.
295 (final_prescan_insn): Rename to avr_final_prescan_insn.
296 * config/avr/avr.c: Same.
297 * config/avr/avr.h: Same.
298 * config/avr/avr.md: Remove trailing blanks.
299 (prologue): Use avr_expand_prologue.
300 (epilogue, sibcall_epilogue): Use avr_expand_epilogue.
301
302 2013-01-14 Richard Biener <rguenther@suse.de>
303
304 * tree-cfg.c (verify_expr_location, verify_expr_location_1,
305 verify_location, collect_subblocks): New functions.
306 (verify_gimple_in_cfg): Verify that locations only reference
307 BLOCKs in the functions BLOCK tree.
308
309 2013-01-14 Richard Biener <rguenther@suse.de>
310
311 * tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated
312 PHI argument.
313 * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Properly
314 unshare reference.
315 (insert_out_of_ssa_copy_on_edge): Likewise.
316 (rewrite_close_phi_out_of_ssa): Likewise.
317 * tree-ssa.c (insert_debug_temp_for_var_def): Properly unshare
318 debug expressions.
319 * tree-ssa-pre.c (insert_into_preds_of_block): Properly unshare
320 propagated constants.
321 * tree-cfg.c (tree_node_can_be_shared): Handled component-refs
322 can not be shared.
323
324 2013-01-14 Georg-Johann Lay <avr@gjlay.de>
325
326 * config/avr/avr-modes.def: Add GPL copyright notice.
327
328 2013-01-13 Uros Bizjak <ubizjak@gmail.com>
329
330 * config/i386/sync.md (mem_thread_fence): Mask operands[0] with
331 MEMMODEL_MASK to determine memory model.
332 (atomic_store<mode>): Ditto from operands[2].
333 * config/i386/i386.c (ix86_memmodel_check): Declare "strong" as bool.
334
335 2013-01-13 Jakub Jelinek <jakub@redhat.com>
336
337 PR fortran/55935
338 * gimple-fold.c (get_symbol_constant_value): Call unshare_expr.
339 (fold_gimple_assign): Don't call unshare_expr here.
340 (fold_ctor_reference): Call unshare_expr.
341
342 2013-01-13 Terry Guo <terry.guo@arm.com>
343
344 * gcc/Makefile.in (s-mlib): New argument MULTILIB_REUSE.
345 * gcc/doc/fragments.texi: Document MULTILIB_REUSE.
346 * gcc/gcc.c (multilib_reuse): New internal spec.
347 (set_multilib_dir): Also search multilib from multilib_reuse.
348 * gcc/genmultilib (tmpmultilib3): Refactor code.
349 (tmpmultilib4): Ditto.
350 (multilib_reuse): New multilib argument.
351
352 2013-01-13 Richard Sandiford <rdsandiford@googlemail.com>
353
354 * Makefile.in: Update copyright.
355
356 2013-01-12 Tom de Vries <tom@codesourcery.com>
357
358 PR middle-end/55890
359 * calls.c (expand_call): Check if arg_nr is valid.
360
361 2013-01-11 Michael Meissner <meissner@linux.vnet.ibm.com>
362
363 * doc/extend.texi (X86 Built-in Functions): Add whitespace in
364 __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
365 documentation. Add missing '__' in front of
366 __builtin_ia32_packssdw256.
367
368 2013-01-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
369
370 PR target/55719
371 * config/s390/s390.c (s390_preferred_reload_class): Do not return
372 NO_REGS for larl operands.
373 (s390_reload_larl_operand): Use s390_load_address instead of
374 emit_move_insn.
375
376 2013-01-11 Richard Biener <rguenther@suse.de>
377
378 * tree-cfg.c (verify_node_sharing_1): Split out from ...
379 (verify_node_sharing): ... here.
380 (verify_gimple_in_cfg): Use verify_node_sharing_1 for walk_tree.
381
382 2013-01-11 Eric Botcazou <ebotcazou@adacore.com>
383
384 * configure.ac (Tree checking): Set TREECHECKING to yes if enabled.
385 Substitute TREECHECKING.
386 * configure: Regenerate.
387 * Makefile.in (TREECHECKING): New.
388
389 2012-01-11 Richard Guenther <rguenther@suse.de>
390
391 PR tree-optimization/44061
392 * tree-vrp.c (extract_range_basic): Compute zero as
393 value-range for __builtin_constant_p of function parameters.
394
395 2013-01-10 Richard Sandiford <rdsandiford@googlemail.com>
396
397 Update copyright years.
398
399 2013-01-10 Vladimir Makarov <vmakarov@redhat.com>
400
401 PR rtl-optimization/55672
402 * lra-eliminations.c (mark_not_eliminable): Permit addition with
403 const to be eliminable.
404
405 2013-01-10 David Edelsohn <dje.gcc@gmail.com>
406
407 * configure.ac (HAVE_AS_TLS): Add check for powerpc-ibm-aix.
408 * configure: Regenerate.
409
410 2013-01-10 Richard Biener <rguenther@suse.de>
411
412 * builtins.c (expand_builtin_init_trampoline): Use set_mem_attributes.
413
414 2013-01-10 Richard Biener <rguenther@suse.de>
415
416 PR bootstrap/55792
417 * tree-into-ssa.c (rewrite_add_phi_arguments): Do not set
418 locations for virtual PHI arguments.
419 (rewrite_update_phi_arguments): Likewise.
420
421 2013-01-10 Joel Sherrill <joel.sherrill@OARcorp.com>
422
423 * config/v850/rtems.h (ASM_SPEC): Pass -m8byte-align and -mgcc-abi
424 on to assembler.
425
426 2013-01-10 Jakub Jelinek <jakub@redhat.com>
427
428 PR tree-optimization/55921
429 * tree-complex.c (expand_complex_asm): New function.
430 (expand_complex_operations_1): Call it for GIMPLE_ASM.
431
432 2013-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
433
434 PR target/55718
435 * config/s390/s390.c (s390_symref_operand_p)
436 (s390_loadrelative_operand_p): Merge the two functions.
437 (s390_check_qrst_address, print_operand_address): Add parameters
438 to s390_loadrelative_operand_p invokation.
439 (s390_check_symref_alignment): Use s390_loadrelative_operand_p.
440 (s390_reload_larl_operand, s390_secondary_reload): Use
441 s390_loadrelative_operand_p instead of s390_symref_operand_p.
442 (legitimize_pic_address): Handle @GOTENT and @PLT + addend.
443
444 2013-01-09 Mike Stump <mikestump@comcast.net>
445
446 * dse.c (record_store): Remove unnecessary assert.
447
448 2013-01-09 Jan Hubicka <jh@suse.cz>
449
450 PR tree-optimization/55569
451 * cfgloopmanip.c (scale_loop_profile): Make ITERATION_BOUND gcov_type.
452 * cfgloop.h (scale_loop_profile): Likewise.
453
454 2013-01-09 Jan Hubicka <jh@suse.cz>
455
456 PR lto/45375
457 * ipa-inline.c (ipa_inline): Remove extern inlines and virtual
458 functions.
459 * cgraphclones.c (cgraph_clone_node): Cpoy also LTO file data.
460
461 2013-01-09 Richard Sandiford <rdsandiford@googlemail.com>
462
463 PR middle-end/55114
464 * expr.h (maybe_emit_group_store): Declare.
465 * expr.c (maybe_emit_group_store): New function.
466 * builtins.c (expand_builtin_int_roundingfn): Call it.
467 (expand_builtin_int_roundingfn_2): Likewise.
468
469 2013-01-09 Vladimir Makarov <vmakarov@redhat.com>
470
471 PR rtl-optimization/55829
472 * lra-constraints.c (match_reload): Add code for absent output.
473 (curr_insn_transform): Add code for reloads of matched inputs
474 without output.
475
476 2013-01-09 Uros Bizjak <ubizjak@gmail.com>
477
478 * config/i386/sse.md (*vec_interleave_highv2df): Change mode
479 attribute of movddup insn to DF.
480 (*vec_interleave_lowv2df): Ditto.
481 (vec_dupv2df): Ditto.
482
483 2013-01-09 Jan Hubicka <jh@suse.cz>
484
485 PR tree-optimiation/55875
486 * tree-ssa-loop-niter.c (number_of_iterations_cond): Add
487 EVERY_ITERATION parameter.
488 (number_of_iterations_exit): Check if exit is executed every iteration.
489 (idx_infer_loop_bounds): Similarly here.
490 (n_of_executions_at_most): Simplify
491 to only test for cases where statement is dominated by the
492 particular bound; handle correctly the "postdominance" test.
493 (scev_probably_wraps_p): Use max loop iterations info
494 as a global bound first.
495
496 2013-01-09 Nguyen Duy Dat <dat.nguyen.yn@rvc.renesas.com>
497 Nick Clifton <nickc@redhat.com>
498
499 * config/v850/v850.md (cbranchsf4): New pattern.
500 (cstoresf4): New pattern.
501 (cbranchdf4): New pattern.
502 (cstoredf4): New pattern.
503 (movsicc): Disallow floating point comparisons.
504 (cmpsf_le_insn): Fix order of operators.
505 (cmpsf_lt_insn): Likewise.
506 (cmpsf_eq_insn): Likewise.
507 (cmpdf_le_insn): Likewise.
508 (cmpdf_lt_insn): Likewise.
509 (cmpdf_eq_insn): Likewise.
510 (cmpsf_ge_insn): Use LE comparison.
511 (cmpdf_ge_insn): Likewise.
512 (cmpsf_gt_insn): Use LT comparison.
513 (cmpdf_gt_insn): Likewise.
514 (cmpsf_ne_insn): Delete pattern.
515 (cmpdf_ne_insn): Delete pattern.
516 * config/v850/v850.c (v850_gen_float_compare): Use
517 gen_cmpdf_eq_insn for NE comparison.
518 (v850_float_z_comparison_operator)
519 (v850_float_nz_comparison_operator): Move from here ...
520 * config/v850/predicates.md: ... to here. Move GT and GE
521 comparisons into v850_float_z_comparison_operator.
522 * config/v850/v850-protos.h (v850_float_z_comparison_operator):
523 Delete prototype.
524 (v850_float_nz_comparison_operator): Likewise.
525
526 2013-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
527
528 * config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv
529 with calls to gen_insvsi/gen_insvdi.
530
531 2013-01-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
532
533 * config/i386/i386.c (initial_ix86_tune_features): Set up
534 X86_TUNE_AVX128_OPTIMAL for m_BTVER2.
535
536 2013-01-09 Steven Bosscher <steven@gcc.gnu.org>
537 Jakub Jelinek <jakub@redhat.com>
538
539 PR tree-optimization/48189
540 * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
541 If nitercst is 0, don't predict the exit edge.
542
543 2013-01-08 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
544
545 * config/aarch64/aarch64.c (aarch64_print_operand): Replace %r
546 in asm_fprintf with reg_names.
547 (aarch64_print_operand_address): Likewise.
548 (aarch64_return_addr): Likewise.
549 * config/aarch64/aarch64.h (ASM_FPRINTF_EXTENSIONS): Remove.
550
551 2013-01-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
552
553 * config/pa/pa.h (VAL_U6_BITS_P): Define.
554 (INT_U6_BITS): Likewise.
555 * config/pa/predicates.md (uint6_operand): New predicate.
556 (shift5_operand, shift6_operand): Likewise.
557 * config/pa/pa.md (lshrsi3, rotrsi3): Use shift5_operand instead of
558 arith32_operand.
559 (lshrdi3): Use shift6_operand.
560 (shrpsi4, shrpdi4): New insn patterns.
561 (extzv): Delete expander.
562 (extzvsi, extzvdi): New expanders. Use uint5_operand and uint6_operand
563 predicates in unamed zero extract patterns. Tighten common constraint.
564 (extv): Delete expander.
565 (extvsi, extvdi): New expanders. Use uint5_operand and uint6_operand
566 predicates in unamed sign extract patterns. Tighten common constraint.
567 (insv): Delete expander.
568 (insvsi, insvdi): New expanders. Use uint5_operand and uint6_operand
569 predicates in unamed insert patterns. Tighten common constraint.
570 Change uint32_operand predicate to uint6_operand predicate in unamed
571 DImode pattern to insert constant values of type 1...1xxxx.
572
573 2013-01-04 Jan Hubicka <jh@suse.cz>
574
575 PR tree-optimization/55823
576 * ipa-prop.c (update_indirect_edges_after_inlining): Fix ordering
577 issue.
578
579 2012-01-08 Jakub Jelinek <jakub@redhat.com>
580 Uros Bizjak <ubizjak@gmail.com>
581
582 PR rtl-optimization/55845
583 * df-problems.c (can_move_insns_across): Stop scanning at
584 volatile_insn_p source instruction or give up if
585 across_from .. across_to range contains any volatile_insn_p
586 instructions.
587
588 2013-01-08 Tejas Belagod <tejas.belagod@arm.com>
589
590 * config/aarch64/aarch64-simd.md (vec_init<mode>): New.
591 * config/aarch64/aarch64-protos.h (aarch64_expand_vector_init):
592 Declare.
593 * config/aarch64/aarch64.c (aarch64_simd_dup_constant,
594 aarch64_simd_make_constant, aarch64_expand_vector_init): New.
595
596 2013-01-08 Jakub Jelinek <jakub@redhat.com>
597
598 PR fortran/55341
599 * asan.c (asan_clear_shadow): New function.
600 (asan_emit_stack_protection): Use it.
601
602 2013-01-08 Tejas Belagod <tejas.belagod@arm.com>
603
604 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_<su>mult_lo_<mode>,
605 aarch64_simd_vec_<su>mult_hi_<mode>): Separate instruction and operand
606 with tab instead of space.
607
608 2013-01-08 Nick Clifton <nickc@redhat.com>
609
610 * config/rl78/rl78.c (rl78_expand_prologue): Always select
611 register bank 0 at the start of an interrupt handler.
612 * config/rl78/rl78.md (mulsi3_g13): Correct values for MDBL and
613 MDBH registers.
614
615 2013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
616
617 * config/aarch64/aarch64-simd.md
618 (aarch64_simd_bsl<mode>_internal): Add floating-point modes.
619 (aarch64_simd_bsl): Likewise.
620 (aarch64_vcond_internal<mode>): Likewise.
621 (vcond<mode><mode>): Likewise.
622 (aarch64_cm<cmp><mode>): Fix constraints, add new modes.
623 * config/aarch64/iterators.md (V_cmp_result): Add V2DF.
624
625 2013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
626
627 * config/aarch64/aarch64-builtins.c
628 (aarch64_builtin_vectorized_function): Handle sqrt, sqrtf.
629
630 2013-01-08 Martin Jambor <mjambor@suse.cz>
631
632 PR debug/55579
633 * tree-sra.c (analyze_access_subtree): Return true also after
634 potentially creating a debug-only replacement.
635
636 2013-01-08 Jakub Jelinek <jakub@redhat.com>
637
638 PR middle-end/55890
639 * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_p.
640
641 PR tree-optimization/54120
642 * tree-vrp.c (range_fits_type_p): Don't allow
643 src_precision < precision from signed vr to unsigned_p
644 if vr->min or vr->max is negative.
645 (simplify_float_conversion_using_ranges): Test can_float_p
646 against CODE_FOR_nothing.
647
648 2013-01-08 Jakub Jelinek <jakub@redhat.com>
649 Richard Biener <rguenther@suse.de>
650
651 PR middle-end/55851
652 * fold-const.c (int_binop_types_match_p): Allow all INTEGRAL_TYPE_P
653 types instead of just INTEGER_TYPE types.
654
655 2013-01-07 Mark Kettenis <kettenis@openbsd.org>
656
657 * config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT,
658 TF_SIZE): Define.
659
660 2013-01-07 Steve Ellcey <sellcey@mips.com>
661
662 PR target/42661
663 * config/mips/mips.opt: Change mad to mmad to match documentation.
664
665 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
666
667 PR target/55897
668 * doc/extend.texi (AVR Named Address Spaces): __memx goes into
669 .progmemx.data now.
670
671 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
672
673 PR target/55897
674 * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
675 (avr_addrspace_t): Add .section_name field.
676 * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
677 array size.
678 (avr_addrspace): Same. Initialize .section_name. Remove last
679 NULL entry. Put __memx into .progmemx.data.
680 (progmem_section_prefix): Remove.
681 (avr_asm_init_sections): No need to initialize progmem_section.
682 (avr_asm_named_section): Use avr_addrspace[].section_name to get
683 section name prefix.
684 (avr_asm_select_section): Ditto. And use get_unnamed_section to
685 retrieve the progmem section.
686 * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
687 boundary to run over avr_addrspace[].
688 (avr_register_target_pragmas): Ditto.
689
690 2013-01-06 Jakub Jelinek <jakub@redhat.com>
691
692 * varasm.c (output_constant_def_contents): For asan_protect_global
693 protected strings, adjust DECL_ALIGN if needed, before testing for
694 anchored symbols.
695 (place_block_symbol): Adjust size for asan protected STRING_CSTs if
696 TREE_CONSTANT_POOL_ADDRESS_P. Increase alignment for asan protected
697 normal decls.
698 (output_object_block): For asan protected decls, emit asan padding
699 after their contents.
700 * asan.c (asan_protect_global): Don't check TREE_ASM_WRITTEN here.
701 (asan_finish_file): Test it here instead.
702
703 2013-01-07 Nick Clifton <nickc@redhat.com>
704 Matthias Klose <doko@debian.org>
705 Doug Kwan <dougkwan@google.com>
706 H.J. Lu <hongjiu.lu@intel.com>
707
708 PR driver/55470
709 * collect2.c (main): Support -fuse-ld=bfd and -fuse-ld=gold.
710
711 * common.opt: Add fuse-ld=bfd and fuse-ld=gold.
712
713 * gcc.c (LINK_COMMAND_SPEC): Pass -fuse-ld=* to collect2.
714
715 * opts.c (comman_handle_option): Ignore -fuse-ld=bfd and -fuse-ld=gold.
716
717 * doc/invoke.texi: Document -fuse-ld=bfd and -fuse-ld=gold.
718
719 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
720
721 PR target/54461
722 * doc/install.texi (Cross-Compiler-Specific Options): Document
723 --with-avrlibc.
724
725 2013-01-07 Tejas Belagod <tejas.belagod@arm.com>
726
727 * config/aarch64/arm_neon.h (vmovn_high_is16, vmovn_high_s32,
728 vmovn_high_s64, vmovn_high_u16, vmovn_high_u32, vmovn_high_u64,
729 vqmovn_high_s16, vqmovn_high_s32, vqmovn_high_s64, vqmovn_high_u16,
730 vqmovn_high_u32, vqmovn_high_u64, vqmovun_high_s16, vqmovun_high_s32,
731 vqmovun_high_s64): Fix source operand number and update copyright.
732
733 2013-01-07 Richard Biener <rguenther@suse.de>
734
735 PR middle-end/55890
736 * gimple.h (gimple_call_builtin_p): New overload.
737 * gimple.c (validate_call): New function.
738 (gimple_call_builtin_p): Likewise.
739 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
740 Use gimple_call_builtin_p.
741 (find_func_clobbers): Likewise.
742 * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
743 (strlen_optimize_stmt): Likewise.
744
745 2013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
746
747 * config/aarch64/arm_neon.h (vld1_dup_*): Make argument const.
748 (vld1q_dup_*): Likewise.
749 (vld1_*): Likewise.
750 (vld1q_*): Likewise.
751 (vld1_lane_*): Likewise.
752 (vld1q_lane_*): Likewise.
753
754 2013-01-07 Richard Biener <rguenther@suse.de>
755
756 * lto-streamer.h (LTO_minor_version): Bump to 2.
757
758 2013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
759
760 * config/aarch64/aarch64-protos.h
761 (aarch64_const_double_zero_rtx_p): Rename to...
762 (aarch64_float_const_zero_rtx_p): ...this.
763 (aarch64_float_const_representable_p): New.
764 (aarch64_output_simd_mov_immediate): Likewise.
765 * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Refactor
766 move immediate case.
767 * config/aarch64/aarch64.c
768 (aarch64_const_double_zero_rtx_p): Rename to...
769 (aarch64_float_const_zero_rtx_p): ...this.
770 (aarch64_print_operand): Allow printing of new constants.
771 (aarch64_valid_floating_const): New.
772 (aarch64_legitimate_constant_p): Check for valid floating-point
773 constants.
774 (aarch64_simd_valid_immediate): Likewise.
775 (aarch64_vect_float_const_representable_p): New.
776 (aarch64_float_const_representable_p): Likewise.
777 (aarch64_simd_imm_zero_p): Also allow for floating-point 0.0.
778 (aarch64_output_simd_mov_immediate): New.
779 * config/aarch64/aarch64.md (*movsf_aarch64): Add new alternative.
780 (*movdf_aarch64): Likewise.
781 * config/aarch64/constraints.md (Ufc): New.
782 (Y): call aarch64_float_const_zero_rtx.
783 * config/aarch64/predicates.md (aarch64_fp_compare_operand): New.
784
785 2013-01-07 Richard Biener <rguenther@suse.de>
786
787 PR tree-optimization/55888
788 PR tree-optimization/55862
789 * tree-ssa-pre.c (phi_translate_1): Revert previous change.
790 (valid_in_sets): Check if a NAME has a leader in AVAIL_OUT,
791 not if it is contained therein.
792
793 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
794
795 * config/avr/t-avr: Typo.
796
797 2013-01-07 Georg-Johann Lay <avr@gjlay.de>
798
799 PR55243
800 * config/avr/t-avr: Don't automatically rebuild
801 $(srcdir)/config/avr/t-multilib
802 $(srcdir)/config/avr/avr-tables.opt
803 $(srcdir)/doc/avr-mmcu.texi
804 (avr-mcus): New phony target to build them on request.
805 (s-avr-mlib, s-avr-mmcu-texi): Remove.
806 * avr/avr-mcus.def: Adjust comments.
807
808 2013-01-07 Uros Bizjak <ubizjak@gmail.com>
809
810 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.
811
812 2013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
813
814 * file-find.c, file-find.h, realmpfr.c: Add FSF as copyright holder.
815
816 2013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
817
818 * config/tilepro/gen-mul-tables.cc: Put copyright on one line.
819
820 2013-01-05 David Edelsohn <dje.gcc@gmail.com>
821
822 * config/rs6000/aix53.h (LIB_SPEC): Add -lpthreads when compiling
823 to generate profiling.
824 * config/rs6000/aix64.h (LIB_SPEC): Same.
825
826 2013-01-04 Andrew Pinski <apinski@cavium.com>
827
828 * config/aarch64/aarch64.c (aarch64_fixed_condition_code_regs):
829 New function.
830 (TARGET_FIXED_CONDITION_CODE_REGS): Define.
831
832 2013-01-04 Uros Bizjak <ubizjak@gmail.com>
833
834 * config/i386/i386.c (ix86_legitimize_address): Call convert_to_mode
835 unconditionally.
836 (ix86_expand_move): Ditto.
837 (ix86_zero_extend_to_Pmode): Ditto.
838 (ix86_expand_call): Ditto.
839 (ix86_expand_special_args_builtin): Ditto.
840 (ix86_expand_builtin): Ditto.
841
842 2013-01-04 Richard Biener <rguenther@suse.de>
843
844 PR tree-optimization/55862
845 * tree-ssa-pre.c (phi_translate_1): Valueize SSA names after
846 translating them through PHI nodes.
847
848 2013-01-04 Martin Jambor <mjambor@suse.cz>
849
850 PR tree-optimization/55755
851 * tree-sra.c (sra_modify_assign): Do not check that an access has no
852 children when trying to avoid producing a VIEW_CONVERT_EXPR.
853
854 2013-01-04 Marek Polacek <polacek@redhat.com>
855
856 PR middle-end/55859
857 * opts.c (default_options_optimization): Clarify error message.
858
859 2013-01-04 Richard Biener <rguenther@suse.de>
860
861 PR middle-end/55863
862 * fold-const.c (split_tree): Undo -X - 1 to ~X folding for
863 reassociation.
864
865 2013-01-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
866
867 PR target/53789
868 * config/pa/pa.md (movsi): Revert previous change.
869 * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
870 references.
871
872 2013-01-03 Richard Henderson <rth@redhat.com>
873
874 * config/i386/i386.c (ix86_expand_move): Always assign to op1
875 after eliminating TLS symbols.
876
877 2013-01-03 Marc Glisse <marc.glisse@inria.fr>
878
879 PR bootstrap/50167
880 * graphite-interchange.c (pdr_stride_in_loop): Use gmp_fprintf.
881 * graphite-poly.c (debug_gmp_value): Likewise.
882
883 2013-01-03 Uros Bizjak <ubizjak@gmail.com>
884
885 PR target/55712
886 * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
887 selected code model, define __code_mode_small__, __code_model_medium__,
888 __code_model_large__, __code_model_32__ or __code_model_kernel__.
889 * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
890 xchg temporary register with %k. Declare temporary register as
891 early clobbered.
892 [__x86_64__]: For medium and large code models, preserve %rbx register.
893
894 2013-01-03 Richard Biener <rguenther@suse.de>
895
896 * tree-data-ref.c (dump_conflict_function): Use less vertical spacing.
897 (dump_subscript): Adjust.
898 (finalize_ddr_dependent): Do not dump redundant info.
899 (analyze_siv_subscript): Adjust.
900 (subscript_dependence_tester): Likewise.
901 (compute_affine_dependence): Likewise.
902
903 2013-01-03 Richard Biener <rguenther@suse.de>
904
905 Revert
906 2013-01-03 Richard Biener <rguenther@suse.de>
907
908 PR tree-optimization/55857
909 * tree-vect-stmts.c (vectorizable_load): Do not setup
910 re-alignment for invariant loads.
911
912 2013-01-02 Richard Biener <rguenther@suse.de>
913
914 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
915 invariant load do not generate a vector load from the scalar location.
916
917 2013-01-03 Richard Biener <rguenther@suse.de>
918
919 * tree-vect-loop.c (vect_analyze_loop_form): Clarify reason
920 for not vectorizing.
921 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
922 not build INDIRECT_REFs, call get_name once only.
923 (vect_create_data_ref_ptr): Likewise. Dump base object kind
924 based on DR_BASE_OBJECT, not DR_BASE_ADDRESS.
925
926 2013-01-03 Richard Biener <rguenther@suse.de>
927
928 PR tree-optimization/55857
929 * tree-vect-stmts.c (vectorizable_load): Do not setup
930 re-alignment for invariant loads.
931
932 2013-01-03 Richard Biener <rguenther@suse.de>
933
934 PR lto/55848
935 * lto-symtab.c (lto_symtab_merge_decls_1): As last resort, always
936 prefer a built-in decl.
937
938 2013-01-03 Jakub Jelinek <jakub@redhat.com>
939
940 * gcc.c (process_command): Update copyright notice dates.
941 * gcov.c (print_version): Likewise.
942 * gcov-dump.c (print_version): Likewise.
943
944 PR rtl-optimization/55838
945 * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
946 iv0.step, iv1.step and step.
947
948 2013-01-03 Jakub Jelinek <jakub@redhat.com>
949 Marc Glisse <marc.glisse@inria.fr>
950
951 PR tree-optimization/55832
952 * fold-const.c (fold_binary_loc): For ABS_EXPR<x> >= 0 and
953 ABS_EXPR<x> < 0 folding use constant_boolean_node instead of
954 integer_{one,zero}_node.
955
956 2013-01-03 Jakub Jelinek <jakub@redhat.com>
957
958 PR debug/54402
959 * params.def (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE): New param.
960 * var-tracking.c (reverse_op): Don't add reverse ops to
961 VALUEs that have already
962 PARAM_VALUE (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE) or longer locs list.
963
964 2013-01-02 Gerald Pfeifer <gerald@pfeifer.com>
965
966 * doc/contrib.texi: Note years as release manager for Mark Mitchell.
967
968 2013-01-02 Teresa Johnson <tejohnson@google.com>
969
970 * dumpfile.c (dump_loc): Print filename with location.
971 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Use
972 new location_t parameter to emit complete unroll message with
973 new dump framework.
974 (canonicalize_loop_induction_variables): Compute loops location
975 and pass to try_unroll_loop_completely.
976 * loop-unroll.c (report_unroll_peel): New function.
977 (peel_loops_completely): Use new dump format with location
978 for main dumpfile message, and invoke report_unroll_peel on success.
979 (decide_unrolling_and_peeling): Ditto.
980 (decide_peel_once_rolling): Remove old dumpfile message subsumed
981 by report_unroll_peel.
982 (decide_peel_completely): Ditto.
983 (decide_unroll_constant_iterations): Ditto.
984 (decide_unroll_runtime_iterations): Ditto.
985 (decide_peel_simple): Ditto.
986 (decide_unroll_stupid): Ditto.
987 * cfgloop.c (get_loop_location): New function.
988 * cfgloop.h (get_loop_location): Declare.
989
990 2013-01-02 Sriraman Tallam <tmsriram@google.com>
991
992 * config/i386/i386.c (fold_builtin_cpu): Remove unnecessary checks for
993 NULL.
994
995 2013-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
996
997 PR middle-end/55198
998 * expr.c (expand_expr_real_1): Don't use bitfield extraction for non
999 BLKmode objects when EXPAND_MEMORY is specified.
1000
1001 2013-01-02 Sriraman Tallam <tmsriram@google.com>
1002
1003 * config/i386/i386.c (ix86_get_function_versions_dispatcher): Fix bug
1004 in loop predicate.
1005 (fold_builtin_cpu): Do not share cpu model decls across statements.
1006
1007 2013-01-02 Jason Merrill <jason@redhat.com>
1008
1009 PR c++/55804
1010 * tree.c (build_array_type_1): Revert earlier change.
1011
1012 2013-01-02 Yufeng Zhang <yufeng.zhang@arm.com>
1013
1014 * config/aarch64/aarch64-cores.def: Add entries for "cortex-a53" and
1015 "cortex-a57".
1016 * config/aarch64/aarch64-tune.md: Re-generate.
1017
1018 2013-01-02 Richard Biener <rguenther@suse.de>
1019
1020 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
1021 invariant load do not generate a vector load from the scalar location.
1022
1023 2013-01-02 Richard Biener <rguenther@suse.de>
1024
1025 PR bootstrap/55784
1026 * configure.ac: Add $GMPINC to CFLAGS/CXXFLAGS.
1027 * configure: Regenerate.
1028
1029 2013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1030
1031 * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2)
1032 (expand_builtin_mathfn_ternary, expand_builtin_mathfn_3)
1033 (expand_builtin_int_roundingfn_2): Keep the original target around
1034 for the fallback case.
1035
1036 2013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1037
1038 * tree-vrp.c (range_fits_type_p): Require the MSB of the double_int
1039 to be clear for sign changes.
1040
1041 2013-01-01 Jan Hubicka <jh@suse.cz>
1042
1043 * ipa-inline-analysis.c: Fix formatting.
1044
1045 2013-01-01 Jakub Jelinek <jakub@redhat.com>
1046
1047 PR tree-optimization/55831
1048 * tree-vect-loop.c (get_initial_def_for_induction): Use
1049 gsi_after_labels instead of gsi_start_bb.
1050 \f
1051 Copyright (C) 2013 Free Software Foundation, Inc.
1052
1053 Copying and distribution of this file, with or without modification,
1054 are permitted in any medium without royalty provided the copyright
1055 notice and this notice are preserved.