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