PR rtl-optimization/54300
[official-gcc.git] / gcc / ChangeLog
blob97075a5e6ffd40b8b06779470ac6d7be6241832b
1 2014-01-09  Richard Earnshaw  <rearnsha@arm.com>
3         PR rtl-optimization/54300
4         * regcprop.c (copyprop_hardreg_forward_1): Ensure any unused
5         outputs in a single-set are killed from the value chains.
7 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
9         PR rtl-optimization/59724
10         * ifcvt.c (cond_exec_process_if_block): Don't call
11         flow_find_head_matching_sequence with 0 longest_match.
12         * cfgcleanup.c (flow_find_head_matching_sequence): Count even
13         non-active insns if !stop_after.
14         (try_head_merge_bb): Revert 2014-01-07 changes.
16 2014-01-09  Hans-Peter Nilsson  <hp@axis.com>
18         Backport from mainline
19         2013-12-23  Hans-Peter Nilsson  <hp@axis.com>
21         PR middle-end/59584
22         * config/cris/predicates.md (cris_nonsp_register_operand):
23         New define_predicate.
24         * config/cris/cris.md: Replace register_operand with
25         cris_nonsp_register_operand for destinations in all
26         define_splits where a register is set more than once.
28 2014-01-08   H.J. Lu  <hongjiu.lu@intel.com>
30         Backport from mainline
31         2013-12-25   H.J. Lu  <hongjiu.lu@intel.com>
33         PR target/59587
34         * config/i386/i386.c (struct ptt): Add a field for processor
35         name.
36         (processor_target_table): Sync with processor_type.  Add
37         processor names.
38         (cpu_names): Removed.
39         (ix86_option_override_internal): Default x_ix86_tune_string
40         to processor_target_table[TARGET_CPU_DEFAULT].name.
41         (ix86_function_specific_print): Assert arch and tune <
42         PROCESSOR_max.  Use processor_target_table to print arch and
43         tune names.
44         * config/i386/i386.h (TARGET_CPU_DEFAULT): Default to
45         PROCESSOR_GENERIC32.
46         (target_cpu_default): Removed.
47         (processor_type): Reordered.
49 2014-01-08  Uros Bizjak  <ubizjak@gmail.com>
51         Backport from mainline
52         2014-01-05  Uros Bizjak  <ubizjak@gmail.com>
54         * config/i386/i386.c (ix86_data_alignment): Calculate max_align
55         from prefetch_block tune setting.
56         (nocona_cost): Correct size of prefetch block to 64.
58 2014-01-08  Martin Jambor  <mjambor@suse.cz>
60         PR ipa/59610
61         * ipa-prop.c (ipa_compute_jump_functions): Bail out if not optimizing.
62         (parm_preserved_before_stmt_p): Assume modification present when not
63         optimizing.
65 2014-01-07  John David Anglin  <danglin@gcc.gnu.org>
67         PR target/59652
68         * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
69         for 14-bit register offsets when INT14_OK_STRICT is false.
71 2014-01-07  Roland Stigge  <stigge@antcom.de>
72             Michael Meissner  <meissner@linux.vnet.ibm.com>
74         PR 57386/target
75         * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
76         Only check TFmode for SPE constants.  Don't check TImode or TDmode.
78 2014-01-07  Jakub Jelinek  <jakub@redhat.com>
80         PR rtl-optimization/58668
81         * cfgcleanup.c (flow_find_cross_jump): Don't count
82         any jumps if dir_p is NULL.  Remove p1 variable and make USE/CLOBBER
83         check consistent with other places.
84         (flow_find_head_matching_sequence): Don't count USE or CLOBBER insns.
85         (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
86         counting change.
87         * ifcvt.c (count_bb_insns): Don't count USE or CLOBBER insns.
89 2014-01-07  Mike Stump  <mikestump@comcast.net>
90             Jakub Jelinek  <jakub@redhat.com>
92         PR pch/59436
93         * tree.h (struct tree_optimization_option): Change optabs
94         type from unsigned char * to void *.
95         * optabs.c (init_tree_optimization_optabs): Adjust
96         TREE_OPTIMIZATION_OPTABS initialization.
98 2014-01-07  Jakub Jelinek  <jakub@redhat.com>
100         Backported from mainline
101         2013-12-16  Jakub Jelinek  <jakub@redhat.com>
103         PR middle-end/58956
104         PR middle-end/59470
105         * gimple.h (walk_stmt_load_store_addr_fn): New typedef.
106         (walk_stmt_load_store_addr_ops, walk_stmt_load_store_ops): Use it
107         for callback params.
108         * gimple.c (walk_stmt_load_store_ops): Likewise.
109         (walk_stmt_load_store_addr_ops): Likewise.  Adjust all callback
110         calls to supply the gimple operand containing the base tree
111         as an extra argument.
112         * tree-ssa-ter.c (find_ssaname, find_ssaname_in_store): New helper
113         functions.
114         (find_replaceable_in_bb): For calls or GIMPLE_ASM, only set
115         same_root_var if USE is used somewhere in the stores of the stmt.
116         * ipa-prop.c (visit_ref_for_mod_analysis): Remove name of the stmt
117         argument and ATTRIBUTE_UNUSED, add another unnamed tree argument.
118         * ipa-pure-const.c (check_load, check_store, check_ipa_load,
119         check_ipa_store): Likewise.
120         * gimple.c (gimple_ior_addresses_taken_1): Likewise.
121         * ipa-split.c (test_nonssa_use, mark_nonssa_use): Likewise.
122         (verify_non_ssa_vars, visit_bb): Adjust their callers.
123         * cfgexpand.c (add_scope_conflicts_1): Use
124         walk_stmt_load_store_addr_fn type for visit variable.
125         (visit_op, visit_conflict): Remove name of the stmt
126         argument and ATTRIBUTE_UNUSED, add another unnamed tree argument.
127         * tree-sra.c (asm_visit_addr): Likewise.  Remove name of the data
128         argument and ATTRIBUTE_UNUSED.
129         * cgraphbuild.c (mark_address, mark_load, mark_store): Add another
130         unnamed tree argument.
132 2014-01-03  Andreas Schwab  <schwab@linux-m68k.org>
134         * config/m68k/m68k.c (handle_move_double): Handle pushes with
135         overlapping registers also for registers other than the stack
136         pointer.
138 2014-01-03  Jakub Jelinek  <jakub@redhat.com>
140         PR target/59625
141         * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
142         asm goto as jump.
144 2014-01-01  Jakub Jelinek  <jakub@redhat.com>
146         PR rtl-optimization/59647
147         * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
148         new_rtx into UNSIGNED_FLOAT rtxes.
150 2013-12-28  Eric Botcazou  <ebotcazou@adacore.com>
152         * doc/invoke.texi (output file options): Document -fada-spec-parent.
154 2013-12-26  Uros Bizjak  <ubizjak@gmail.com>
156         * config/i386/driver-i386.c (decode_caches_intel): Add missing entries.
158 2013-12-20  Jakub Jelinek  <jakub@redhat.com>
160         PR c++/59255
161         Backported from mainline
162         2013-08-19  Dehao Chen  <dehao@google.com>
164         * value-prof.c (gimple_ic): Fix the bug of adding EH edge.
166 2013-12-19  James Greenhalgh  <james.greenhalgh@arm.com>
168         Backport from Mainline.
169         2013-05-01  James Greenhalgh  <james.greenhalgh@arm.com>
171         * config/aarch64/aarch64-simd-builtins.def (cmhs): Rename to...
172         (cmgeu): ...This.
173         (cmhi): Rename to...
174         (cmgtu): ...This.
175         * config/aarch64/aarch64-simd.md
176         (simd_mode): Add SF.
177         (aarch64_vcond_internal): Use new names for unsigned comparison insns.
178         (aarch64_cm<optab><mode>): Rewrite to not use UNSPECs.
179         * config/aarch64/aarch64.md (*cstore<mode>_neg): Rename to...
180         (cstore<mode>_neg): ...This.
181         * config/aarch64/iterators.md
182         (VALLF): new.
183         (unspec): Remove UNSPEC_CM<EQ, LE, LT, GE, GT, HS, HI, TST>.
184         (COMPARISONS): New.
185         (UCOMPARISONS): Likewise.
186         (optab): Add missing comparisons.
187         (n_optab): New.
188         (cmp_1): Likewise.
189         (cmp_2): Likewise.
190         (CMP): Likewise.
191         (cmp): Remove.
192         (VCMP_S): Likewise.
193         (VCMP_U): Likewise.
194         (V_cmp_result): Add DF, SF modes.
195         (v_cmp_result): Likewise.
196         (v): Likewise.
197         (vmtype): Likewise.
198         * config/aarch64/predicates.md (aarch64_reg_or_fp_zero): New.
200         Partial Backport from mainline.
201         2013-05-01  James Greenhalgh  <james.greenhalgh@arm.com>
203         * config/aarch64/arm_neon.h
204         (vc<eq, lt, le, gt, ge, tst><qsd>_<u><8,16,32,64>): Remap
205         to builtins or C as appropriate.
207 2013-12-19  Dominik Vogt  <vogt@linux.vnet.ibm.com>
208             Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
210         Backport from mainline
211         2013-12-19  Dominik Vogt  <vogt@linux.vnet.ibm.com>
212         * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default): New
213         constant
214         (s390_hotpatch_trampoline_halfwords_max): New constant
215         (s390_hotpatch_trampoline_halfwords): New static variable
216         (get_hotpatch_attribute): New function
217         (s390_handle_hotpatch_attribute): New function
218         (s390_attribute_table): New target specific attribute table to implement
219         the hotpatch attribute
220         (s390_option_override): Parse hotpatch options
221         (s390_function_num_hotpatch_trampoline_halfwords): New function
222         (s390_can_inline_p): Implement target hook to
223         suppress hotpatching for explicitly inlined functions
224         (s390_asm_output_function_label): Generate hotpatch prologue
225         (TARGET_ATTRIBUTE_TABLE): Define to implement target attribute table
226         (TARGET_CAN_INLINE_P): Define to implement target hook
227         * config/s390/s390.opt (mhotpatch): New options -mhotpatch, -mhotpatch=
228         * config/s390/s390-protos.h (s390_asm_output_function_label): Add
229         prototype
230         * config/s390/s390.h (ASM_OUTPUT_FUNCTION_LABEL): Target specific
231         function label generation for hotpatching
232         (FUNCTION_BOUNDARY): Align functions to eight bytes
233         * doc/extend.texi: Document hotpatch attribute
234         * doc/invoke.texi: Document -mhotpatch option
236 2013-12-18  Eric Botcazou  <ebotcazou@adacore.com>
238         * config/arm/arm.c (arm_expand_epilogue_apcs_frame): Fix thinko.
240 2013-12-12  Vladimir Makarov  <vmakarov@redhat.com>
242         PR middle-end/59470
243         * lra-coalesce.c (lra_coalesce): Invalidate inheritance pseudo
244         values if necessary.
246 2013-12-12  Jakub Jelinek  <jakub@redhat.com>
248         PR libgomp/59467
249         * gimplify.c (omp_check_private): Add copyprivate argument, if it
250         is true, don't check omp_privatize_by_reference.
251         (gimplify_scan_omp_clauses): For OMP_CLAUSE_COPYPRIVATE verify
252         decl is private in outer context.  Adjust omp_check_private caller.
254 2013-12-10  Eric Botcazou  <ebotcazou@adacore.com>
256         PR rtl-optimization/58295
257         * simplify-rtx.c (simplify_truncation): Restrict the distribution for
258         WORD_REGISTER_OPERATIONS targets.
260 2013-12-10  Kai Tietz  <ktietz@redhat.com>
262         PR target/56807
263         * config/i386/i386.c (ix86_expand_prologue): Address saved
264         registers stack-relative, not via frame-pointer.
266 2013-12-09  Alan Modra  <amodra@gmail.com>
268         Apply from mainline
269         2013-12-05  Alan Modra  <amodra@gmail.com>
270         * configure.ac (BUILD_CXXFLAGS) Don't use ALL_CXXFLAGS for
271         build != host.
272         <recursive call for build != host>: Clear GMPINC.  Don't bother
273         saving CFLAGS.
274         * configure: Regenerate.
276 2013-12-08  Uros Bizjak  <ubizjak@gmail.com>
278         Backport from mainline
279         2013-12-06  Uros Bizjak  <ubizjak@gmail.com>
281         PR target/59405
282         * config/i386/i386.c (type_natural_mode): Properly handle
283         size 8 for !TARGET_64BIT.
285 2013-12-07  Ralf Corsépius  <ralf.corsepius@rtems.org>
287         * config.gcc (microblaze*-*-rtems*): Add TARGET_BIG_ENDIAN_DEFAULT.
289 2013-12-06  Jakub Jelinek  <jakub@redhat.com>
291         PR tree-optimization/59388
292         * tree-ssa-reassoc.c (update_range_test): If op == range->exp,
293         gimplify tem after stmt rather than before it.
295 2013-12-06  Oleg Endo  <olegendo@gcc.gnu.org>
297         Backport from mainline
298         2013-11-26  Oleg Endo  <olegendo@gcc.gnu.org>
300         PR target/58314
301         PR target/50751
302         * config/sh/sh.c (max_mov_insn_displacement, disp_addr_displacement):
303         Prefix function names with 'sh_'.  Make them non-static.
304         * config/sh/sh-protos.h (sh_disp_addr_displacement,
305         sh_max_mov_insn_displacement): Add declarations.
306         * config/sh/constraints.md (Q): Reject QImode.
307         (Sdd): Use match_code "mem".
308         (Snd): Fix erroneous matching of non-memory operands.
309         * config/sh/predicates.md (short_displacement_mem_operand): New
310         predicate.
311         (general_movsrc_operand): Disallow PC relative QImode loads.
312         * config/sh/sh.md (*mov<mode>_reg_reg): Remove it.
313         (*movqi, *movhi): Merge both insns into...
314         (*mov<mode>): ... this new insn.  Replace generic 'm' constraints with
315         'Snd' and 'Sdd' constraints.  Calculate insn length dynamically based
316         on the operand types.
318 2013-12-06  Richard Biener  <rguenther@suse.de>
320         Backport from mainline
321         2013-11-29  Richard Biener  <rguenther@suse.de>
323         PR tree-optimization/59334
324         * tree-ssa-dce.c (eliminate_unnecessary_stmts): Fix bug
325         in previous commit.
327         2013-11-28  Richard Biener  <rguenther@suse.de>
329         PR tree-optimization/59330
330         * tree-ssa-dce.c (eliminate_unnecessary_stmts): Simplify
331         and fix delayed marking of free calls not necessary.
333 2013-12-06  Richard Biener  <rguenther@suse.de>
335         Backport from mainline
336         2013-11-27  Richard Biener  <rguenther@suse.de>
338         PR tree-optimization/59288
339         * tree-vect-loop.c (get_initial_def_for_induction): Do not
340         re-analyze the PHI but use STMT_VINFO_LOOP_PHI_EVOLUTION_PART.
342         2013-11-19  Richard Biener  <rguenther@suse.de>
344         PR tree-optimization/59164
345         * tree-vect-loop.c (vect_analyze_loop_operations): Adjust
346         check whether we can create an epilogue loop to reflect the
347         cases where we create one.
349         2013-09-05  Richard Biener  <rguenther@suse.de>
351         PR tree-optimization/58137
352         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
353         Do not create vectors of pointers.
354         * tree-vect-loop.c (get_initial_def_for_induction): Use proper
355         types for the components of the vector initializer.
356         * tree-cfg.c (verify_gimple_assign_binary): Remove special-casing
357         allowing pointer vectors with PLUS_EXPR/MINUS_EXPR.
359 2013-12-06  Oleg Endo  <olegendo@gcc.gnu.org>
361         PR target/51244
362         PR target/59343
363         * config/sh/sh.md (*cbranch_t): Check that there are no labels between
364         the s1 insn and the testing insn.  Remove REG_DEAD note from s1 insn.
366 2013-12-05  Richard Biener  <rguenther@suse.de>
368         Backport from mainline
369         2013-11-19  Richard Biener  <rguenther@suse.de>
371         PR middle-end/58956
372         * tree-ssa-ter.c (find_replaceable_in_bb): Avoid forwarding
373         loads into stmts that may clobber it.
375 2013-12-04  Jakub Jelinek  <jakub@redhat.com>
377         PR rtl-optimization/58726
378         * combine.c (force_to_mode): Fix comment typo.  Don't destructively
379         modify x for ROTATE, ROTATERT and IF_THEN_ELSE.
381 2013-12-04  Jakub Jelinek  <jakub@redhat.com>
382             Uros Bizjak  <ubizjak@gmail.com>
384         PR target/59163
385         * config/i386/i386.c (ix86_legitimate_combined_insn): If for
386         !TARGET_AVX there is misaligned MEM operand with vector mode
387         and get_attr_ssememalign is 0, return false.
388         (ix86_expand_special_args_builtin): Add get_pointer_alignment
389         computed alignment and for non-temporal loads/stores also
390         at least GET_MODE_ALIGNMENT as MEM_ALIGN.
391         * config/i386/sse.md
392         (<sse>_loadu<ssemodesuffix><avxsizesuffix>,
393         <sse>_storeu<ssemodesuffix><avxsizesuffix>,
394         <sse2>_loaddqu<avxsizesuffix>,
395         <sse2>_storedqu<avxsizesuffix>, <sse3>_lddqu<avxsizesuffix>,
396         sse_vmrcpv4sf2, sse_vmrsqrtv4sf2, sse2_cvtdq2pd, sse_movhlps,
397         sse_movlhps, sse_storehps, sse_loadhps, sse_loadlps,
398         *vec_interleave_highv2df, *vec_interleave_lowv2df,
399         *vec_extractv2df_1_sse, sse2_loadhpd, sse2_loadlpd, sse2_movsd,
400         sse4_1_<code>v8qiv8hi2, sse4_1_<code>v4qiv4si2,
401         sse4_1_<code>v4hiv4si2, sse4_1_<code>v2qiv2di2,
402         sse4_1_<code>v2hiv2di2, sse4_1_<code>v2siv2di2, sse4_2_pcmpestr,
403         *sse4_2_pcmpestr_unaligned, sse4_2_pcmpestri, sse4_2_pcmpestrm,
404         sse4_2_pcmpestr_cconly, sse4_2_pcmpistr, *sse4_2_pcmpistr_unaligned,
405         sse4_2_pcmpistri, sse4_2_pcmpistrm, sse4_2_pcmpistr_cconly): Add
406         ssememalign attribute.
407         * config/i386/i386.md (ssememalign): New define_attr.
409 2013-12-03  Jakub Jelinek  <jakub@redhat.com>
411         PR middle-end/59011
412         * gimplify.c (nonlocal_vla_vars): New variable.
413         (gimplify_var_or_parm_decl): Put VAR_DECLs for VLAs into
414         nonlocal_vla_vars chain.
415         (gimplify_body): Call declare_vars on nonlocal_vla_vars chain
416         if outer_bind has DECL_INITIAL (current_function_decl) block.
418         PR target/58864
419         * optabs.c (emit_conditional_move): Save and restore
420         pending_stack_adjust and stack_pointer_delta if cmove can't be used.
422 2013-12-02  Jakub Jelinek  <jakub@redhat.com>
424         PR tree-optimization/59358
425         * tree-vrp.c (union_ranges): To check for the partially
426         overlapping ranges or adjacent ranges, also compare *vr0max
427         with vr1max.
429 2013-12-02  Richard Biener  <rguenther@suse.de>
431         PR tree-optimization/59139
432         * tree-ssa-loop-niter.c (chain_of_csts_start): Properly match
433         code in get_val_for.
434         (get_val_for): Use gcc_checking_asserts.
436 2013-11-27  Tom de Vries  <tom@codesourcery.com>
437             Marc Glisse  <marc.glisse@inria.fr>
439         PR middle-end/59037
440         * fold-const.c (fold_indirect_ref_1): Don't create out-of-bounds
441         BIT_FIELD_REF.
442         * gimplify.c (gimple_fold_indirect_ref): Same.
444 2013-12-01  Eric Botcazou  <ebotcazou@adacore.com>
446         * config/i386/winnt.c (i386_pe_asm_named_section): Be prepared for an
447         identifier node.
449 2013-12-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
451         * expr.c (emit_group_store): Fix off-by-one BITFIELD_END argument.
453 2013-11-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
455         Backport from mainline
456         2013-11-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
458         * config/arm/iterators.md (vrint_conds): New int attribute.
459         * config/arm/vfp.md (<vrint_pattern><SDF:mode>2): Set conds attribute.
460         (smax<mode>3): Likewise.
461         (smin<mode>3): Likewise.
463 2013-11-28  Uros Bizjak  <ubizjak@gmail.com>
465         Backport from mainline
466         2013-11-27  Uros Bizjak  <ubizjak@gmail.com>
467                     Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
469         PR target/56788
470         * gcc.target/i386/xop-frczX.c: New test.
472 2013-11-28  Terry Guo  <terry.guo@arm.com>
474         Backport mainline r205391
475         2013-11-26  Terry Guo  <terry.guo@arm.com>
477         * config/arm/arm.c (require_pic_register): Handle high pic base
478         register for thumb-1.
479         (arm_load_pic_register): Also initialize high pic base register.
480         * doc/invoke.texi: Update documentation for option -mpic-register.
482 2013-11-27  Jakub Jelinek  <jakub@redhat.com>
484         Backported from mainline
485         2013-11-26  Jakub Jelinek  <jakub@redhat.com>
487         PR tree-optimization/59014
488         * tree-vrp.c (register_edge_assert_for_1): Don't look
489         through conversions from non-integral types or through
490         narrowing conversions.
492 2013-11-27  Eric Botcazou  <ebotcazou@adacore.com>
494         PR middle-end/59138
495         * expr.c (emit_group_store): Don't write past the end of the structure.
496         (store_bit_field): Fix formatting.
498 2013-11-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
500         Backport from mainline
501         2013-09-17  Sebastian Huber  <sebastian.huber@embedded-brains.de>
503         * config/sparc/t-rtems: Add leon3 multilibs.
505 2013-11-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
507         Backport from mainline
508         2013-08-09  Eric Botcazou  <ebotcazou@adacore.com>
510         * configure.ac: Add GAS check for LEON instructions on SPARC.
511         * configure: Regenerate.
512         * config.in: Likewise.
513         * config.gcc (with_cpu): Remove sparc-leon*-* and deal with LEON in the
514         sparc*-*-* block.
515         * config/sparc/sparc.opt (LEON, LEON3): New masks.
516         * config/sparc/sparc.h (ASM_CPU32_DEFAULT_SPEC): Set to AS_LEON_FLAG
517         for LEON or LEON3.
518         (ASM_CPU_SPEC): Pass AS_LEON_FLAG if -mcpu=leon or -mcpu=leon3.
519         (AS_LEON_FLAG): New macro.
520         * config/sparc/sparc.c (sparc_option_override): Set MASK_LEON for leon
521         and MASK_LEON3 for leon3 and unset them if HAVE_AS_LEON is not defined.
522         Deal with LEON and LEON3 for the memory model.
523         * config/sparc/sync.md (atomic_compare_and_swap<mode>): Enable if LEON3
524         (atomic_compare_and_swap<mode>_1): Likewise.
525         (*atomic_compare_and_swap<mode>_1): Likewise.
527 2013-11-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
529         Backport from mainline
530         2013-07-23  Eric Botcazou  <ebotcazou@adacore.com>
532         * doc/invoke.texi (SPARC Options): Document new leon3 processor value.
534 2013-11-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
536         Backport from mainline
537         2013-07-22  Eric Botcazou  <ebotcazou@adacore.com>
539         * config.gcc (sparc*-*-*): Accept leon3 processor.
540         (sparc-leon*-*): Merge with sparc*-*-* and add leon3 support.
541         * doc/invoke.texi (SPARC Options): Adjust -mfix-ut699 entry.
542         * config/sparc/sparc-opts.h (enum processor_type): Add PROCESSOR_LEON3.
543         * config/sparc/sparc.opt (enum processor_type): Add leon3.
544         (mfix-ut699): Adjust comment.
545         * config/sparc/sparc.h (TARGET_CPU_leon3): New define.
546         (CPP_CPU32_DEFAULT_SPEC): Add leon3 support.
547         (CPP_CPU_SPEC): Likewise.
548         (ASM_CPU_SPEC): Likewise.
549         * config/sparc/sparc.c (leon3_cost): New constant.
550         (sparc_option_override): Add leon3 support.
551         (mem_ref): New function.
552         (sparc_gate_work_around_errata): Return true if -mfix-ut699 is enabled.
553         (sparc_do_work_around_errata): Look into the instruction in the delay
554         slot and adjust accordingly.  Add fix for the data cache nullify issues
555         of the UT699.  Change insertion position for the NOP.
556         * config/sparc/leon.md (leon_fpalu, leon_fpmds, write_buf): Delete.
557         (leon3_load): New reservation.
558         (leon_store): Bump latency to 2.
559         (grfpu): New automaton.
560         (grfpu_alu): New unit.
561         (grfpu_ds): Likewise.
562         (leon_fp_alu): Adjust.
563         (leon_fp_mult): Delete.
564         (leon_fp_div): Split into leon_fp_divs and leon_fp_divd.
565         (leon_fp_sqrt): Split into leon_fp_sqrts and leon_fp_sqrtd.
566         * config/sparc/sparc.md (cpu): Add leon3.
567         * config/sparc/sync.md (atomic_exchangesi): Disable if -mfix-ut699.
568         (swapsi): Likewise.
569         (atomic_test_and_set): Likewise.
570         (ldstub): Likewise.
572 2013-11-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
574         Backport from mainline
575         2013-04-10  Steven Bosscher  <steven@gcc.gnu.org>
577         * config/sparc/sparc.c: Include tree-pass.h.
578         (TARGET_MACHINE_DEPENDENT_REORG): Do not redefine.
579         (sparc_reorg): Rename to sparc_do_work_around_errata.  Move to
580         head of file.  Change return type.  Split off gate function.
581         (sparc_gate_work_around_errata): New function.
582         (pass_work_around_errata): New pass definition.
583         (insert_pass_work_around_errata) New pass insert definition to
584         insert pass_work_around_errata just after delayed-branch scheduling.
585         (sparc_option_override): Insert the pass.
586         * config/sparc/t-sparc (sparc.o): Add TREE_PASS_H dependence.
588 2013-11-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
590         Backport from mainline
591         2013-05-28  Eric Botcazou  <ebotcazou@adacore.com>
593         * doc/invoke.texi (SPARC Options): Document -mfix-ut699.
594         * builtins.c (expand_builtin_mathfn) <BUILT_IN_SQRT>: Try to widen the
595         mode if the instruction isn't available in the original mode.
596         * config/sparc/sparc.opt (mfix-ut699): New option.
597         * config/sparc/sparc.md (muldf3_extend): Disable if -mfix-ut699.
598         (divdf3): Turn into expander.
599         (divdf3_nofix): New insn.
600         (divdf3_fix): Likewise.
601         (divsf3): Disable if -mfix-ut699.
602         (sqrtdf2): Turn into expander.
603         (sqrtdf2_nofix): New insn.
604         (sqrtdf2_fix): Likewise.
605         (sqrtsf2): Disable if -mfix-ut699.
607 2013-11-22  Eric Botcazou  <ebotcazou@adacore.com>
609         * print-rtl.c (print_rtx) <case MEM>: Output a space if no MEM_EXPR.
611 2013-11-21  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
613         PR bootstrap/57683
614         Backport from mainline: r197467 and r198999.
615         2013-04-03  Jeff Law  <law@redhat.com>
617         * Makefile.in (lra-constraints.o): Depend on $(OPTABS_H).
618         (lra-eliminations.o): Likewise.
620         2013-05-16  Jeff Law  <law@redhat.com>
622         * Makefile.in (tree-switch-conversion.o): Depend on $(OPTABS_H).
624 2013-11-20  Eric Botcazou  <ebotcazou@adacore.com>
626         PR target/59207
627         * config/sparc/sparc.c (sparc_fold_builtin) <case CODE_FOR_pdist_vis>:
628         Make sure neg2_ovf is set before being used.
630 2013-11-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
631             Dominik Vogt  <vogt@linux.vnet.ibm.com>
633         Backport from mainline
634         * config/s390/s390.c (s390_canonicalize_comparison): Don't fold
635         int comparisons with an out of range condition code.
636         (s390_optimize_nonescaping_tx): Skip empty BBs.
637         Generate the new tbegin RTX when removing the FPR clobbers (with
638         two SETs).
639         (s390_expand_tbegin): Fix the retry loop counter.  Copy CC to the
640         result before doing the retry calculations.
641         (s390_init_builtins): Make tbegin "returns_twice" and tabort
642         "noreturn".
643         * config/s390/s390.md (UNSPECV_TBEGIN_TDB): New constant used for
644         the TDB setting part of an tbegin.
645         ("tbegin_1", "tbegin_nofloat_1"): Add a set for the TDB.
646         ("tx_assist"): Set unused argument to an immediate zero instead of
647         loading zero into a GPR and pass it as argument.
648         * config/s390/htmxlintrin.h (__TM_simple_begin, __TM_begin):
649         Remove inline and related attributes.
650         (__TM_nesting_depth, __TM_is_user_abort, __TM_is_named_user_abort)
651         (__TM_is_illegal, __TM_is_footprint_exceeded)
652         (__TM_is_nested_too_deep, __TM_is_conflict): Fix format value
653         check.
655 2013-11-19  Uros Bizjak  <ubizjak@gmail.com>
657         Backport from mainline
658         2013-11-18  Uros Bizjak  <ubizjak@gmail.com>
660         * config/i386/i386.c (ix86_decompose_address): Use REG_P instead of
661         ix86_address_subreg_operand.  Move subreg checks to
662         ix86_validate_address_register.  Move address override check to
663         ix86_legitimate_address_p.
664         (ix86_validate_address_register): New function.
665         (ix86_legitimate_address_p): Call ix86_validate_address_register
666         to validate base and index registers.  Add address override check
667         from ix86_decompose_address.
668         (ix86_decompose_address): Remove.
670         Backport from mainline
671         2013-11-17  Uros Bizjak  <ubizjak@gmail.com>
673         PR target/59153
674         * config/i386/i386.c (ix86_address_subreg_operand): Do not
675         reject non-integer subregs.
676         (ix86_decompose_address): Do not reject invalid CONST_INT RTXes.
677         Move check for invalid x32 constant addresses ...
678         (ix86_legitimate_address_p): ... here.
680 2013-11-19  Richard Biener  <rguenther@suse.de>
682         Backport from mainline
683         2013-11-07  Richard Biener  <rguenther@suse.de>
685         * tree-dfa.c (get_ref_base_and_extent): Fix casting.
687 2013-11-19  Richard Biener  <rguenther@suse.de>
689         PR tree-optimization/57517
690         * tree-predcom.c (combinable_refs_p): Verify the combination
691         is always executed when the refs are.
693 2013-11-19  Richard Biener  <rguenther@suse.de>
695         Backport from mainline
696         2013-11-05  Richard Biener  <rguenther@suse.de>
698         PR middle-end/58941
699         * tree-dfa.c (get_ref_base_and_extent): Merge common code
700         in MEM_REF and TARGET_MEM_REF handling.  Make sure to
701         process trailing array detection before diving into the
702         view-converted object (and possibly apply some extra offset).
704 2013-11-18  Richard Biener  <rguenther@suse.de>
706         Backport from mainline
707         2013-10-21  Richard Biener  <rguenther@suse.de>
709         PR tree-optimization/58794
710         * fold-const.c (operand_equal_p): Compare FIELD_DECL operand
711         of COMPONENT_REFs with OEP_CONSTANT_ADDRESS_OF left in place.
713         2013-10-21  Richard Biener  <rguenther@suse.de>
715         PR middle-end/58742
716         * fold-const.c (fold_binary_loc): Fold ((T) (X /[ex] C)) * C
717         to (T) X for sign-changing conversions (or no conversion).
719         2013-11-06  Richard Biener  <rguenther@suse.de>
721         PR tree-optimization/58653
722         * tree-predcom.c (ref_at_iteration): Rewrite to generate
723         a MEM_REF.
724         (prepare_initializers_chain): Adjust.
726         PR tree-optimization/59047
727         * tree-predcom.c (ref_at_iteration): Handle bitfield accesses
728         properly.
730         2013-10-15  Richard Biener  <rguenther@suse.de>
732         PR tree-optimization/58143
733         * tree-ssa-loop-im.c (arith_code_with_undefined_signed_overflow):
734         New function.
735         (rewrite_to_defined_overflow): Likewise.
736         (move_computations_dom_walker::before_dom): Rewrite stmts
737         with undefined signed overflow that are not always executed
738         into unsigned arithmetic.
740 2013-11-14  Uros Bizjak  <ubizjak@gmail.com>
742         Backport from mainline
743         2013-11-10  Uros Bizjak  <ubizjak@gmail.com>
745         * mode-switching.c (optimize_mode_switching): Mark block as
746         nontransparent, if last_mode at block exit is different from no_mode.
748         Backport from mainline
749         2013-11-06  Uros Bizjak  <ubizjak@gmail.com>
751         PR target/59021
752         * config/i386/i386.c (ix86_avx_u128_mode_needed): Require
753         AVX_U128_DIRTY mode for call_insn RTXes that use AVX256 registers.
754         (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY mode for call_insn
755         RTXes that return in AVX256 register.
757 2013-11-14  Jakub Jelinek  <jakub@redhat.com>
758             Uros Bizjak  <ubizjak@gmail.com>
760         PR target/59101
761         * config/i386/i386.md (*anddi_2): Only allow CCZmode if
762         operands[2] satisfies_constraint_Z that might have bit 31 set.
764 2013-11-12  H.J. Lu  <hongjiu.lu@intel.com>
766         Backported from mainline
767         2013-11-12  H.J. Lu  <hongjiu.lu@intel.com>
769         PR target/59088
770         * config/i386/i386.c (initial_ix86_tune_features): Set
771         X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL and
772         X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL for m_HASWELL.
774 2013-11-11  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
776         Backported from mainline
777         2013-10-30  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
779         PR target/58854
780         * config/arm/arm.c (arm_expand_epilogue_apcs_frame): Emit blockage
782 2013-11-11  Jakub Jelinek  <jakub@redhat.com>
784         Backported from mainline
785         2013-11-06  Jakub Jelinek  <jakub@redhat.com>
787         PR middle-end/58970
788         * expr.c (get_bit_range): Handle *offset == NULL_TREE.
789         (expand_assignment): If *bitpos is negative, set *offset
790         and adjust *bitpos, so that it is not negative.
792         2013-11-05  Jakub Jelinek  <jakub@redhat.com>
794         PR rtl-optimization/58997
795         * loop-iv.c (iv_subreg): For IV_UNKNOWN_EXTEND, expect
796         get_iv_value to be in iv->mode rather than iv->extend_mode.
797         (iv_extend): Likewise.  Otherwise, if iv->extend != extend,
798         use lowpart_subreg on get_iv_value before calling simplify_gen_unary.
799         * loop-unswitch.c (may_unswitch_on): Make sure op[i] is in the right
800         mode.
802 2013-11-10  Karlson2k  <k2k@narod.ru>
803             Kai Tietz  <ktietz@redhat.com>
805         Merged from trunk
806         PR plugins/52872
807         * configure.ac: Adding for exported symbols check
808         and for rdynamic-check executable-extension.
809         * configure: Regenerated.
811 2013-11-07  H.J. Lu  <hongjiu.lu@intel.com>
813         PR target/59034
814         * config/i386/i386.md (push peepholer/splitter): Use Pmode
815         with stack_pointer_rtx.
817 2013-11-05  Uros Bizjak  <ubizjak@gmail.com>
819         * config/i386/t-rtems (MULTILIB_MATCHES): Fix option typos.
821 2013-11-05  Jakub Jelinek  <jakub@redhat.com>
823         PR tree-optimization/58984
824         * ipa-prop.c (ipa_load_from_parm_agg_1): Add SIZE_P argument,
825         set *SIZE_P if non-NULL on success.
826         (ipa_load_from_parm_agg, ipa_analyze_indirect_call_uses): Adjust
827         callers.
828         (ipcp_transform_function): Likewise.  Punt if size of access
829         is different from TYPE_SIZE on v->value's type.
831 2013-11-03  H.J. Lu  <hongjiu.lu@intel.com>
833         Backport from mainline
834         2013-10-12  H.J. Lu  <hongjiu.lu@intel.com>
836         PR target/58690
837         * config/i386/i386.c (ix86_copy_addr_to_reg): New function.
838         (ix86_expand_movmem): Replace copy_addr_to_reg with
839         ix86_copy_addr_to_reg.
840         (ix86_expand_setmem): Likewise.
842 2013-10-29  Uros Bizjak  <ubizjak@gmail.com>
844         Backport from mainline
845         2013-08-08  Richard Sandiford  <rdsandiford@googlemail.com>
847         PR rtl-optimization/58079
848         * combine.c (combine_simplify_rtx): Avoid using SUBST if
849         simplify_comparison has widened a comparison with an integer.
851 2013-10-29  Martin Jambor  <mjambor@suse.cz>
853         PR middle-end/58789
854         Backport from mainline
855         2013-05-09  Martin Jambor  <mjambor@suse.cz>
857         PR lto/57084
858         * gimple-fold.c (canonicalize_constructor_val): Call
859         cgraph_get_create_real_symbol_node instead of cgraph_get_create_node.
861         Backport from mainline
862         2013-03-16  Jan Hubicka  <jh@suse.cz>
864         * cgraph.h (cgraph_get_create_real_symbol_node): Declare.
865         * cgraph.c (cgraph_get_create_real_symbol_node): New function.
866         * cgrpahbuild.c: Use cgraph_get_create_real_symbol_node instead
867         of cgraph_get_create_node.
868         * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
870 2013-10-28  Tom de Vries  <tom@codesourcery.com>
872         * cfgexpand.c (gimple_expand_cfg): Remove test for parm_birth_insn.
873         Don't commit insertions after NOTE_INSN_FUNCTION_BEG.
875 2013-10-26  Uros Bizjak  <ubizjak@gmail.com>
877         Backport from mainline
878         2013-10-22  Uros Bizjak  <ubizjak@gmail.com>
880         PR target/58779
881         * config/i386/i386.c (put_condition_code) <case GTU, case LEU>:
882         Remove CCCmode handling.
883         <case LTU>: Return 'c' suffix for CCCmode.
884         <case GEU>: Return 'nc' suffix for CCCmode.
885         (ix86_cc_mode) <case GTU, case LEU>: Do not generate overflow checks.
886         * config/i386/i386.md (*sub<mode>3_cconly_overflow): Remove.
887         (*sub<mode>3_cc_overflow): Ditto.
888         (*subsi3_zext_cc_overflow): Ditto.
890 2013-10-26  Uros Bizjak  <ubizjak@gmail.com>
892         Backport from mainline
893         2013-10-19  Uros Bizjak  <ubizjak@gmail.com>
895         PR target/58792
896         * config/i386/i386.c (ix86_function_value_regno): Add DX_REG,
897         ST1_REG and XMM1_REG for 32bit and 64bit targets.  Also add DI_REG
898         and SI_REG for 64bit SYSV ABI targets.
900 2013-08-25  Richard Henderson  <rth@twiddle.net>
902         PR rtl/58542
903         * optabs.c (maybe_emit_atomic_exchange): Use create_input_operand
904         instead of create_convert_operand_to.
905         (maybe_emit_sync_lock_test_and_set): Likewise.
906         (expand_atomic_compare_and_swap): Likewise.
907         (maybe_emit_compare_and_swap_exchange_loop): Don't convert_modes.
909 2013-10-25  Eric Botcazou  <ebotcazou@adacore.com>
911         PR rtl-optimization/58831
912         * alias.c (init_alias_analysis): At the beginning of each iteration, set
913         the reg_seen[N] bit if static_reg_base_value[N] is non-null.
915 2013-10-25  Eric Botcazou  <ebotcazou@adacore.com>
917         * recog.c (search_ofs): New static variable moved from...
918         (peep2_find_free_register): ...here.
919         (peephole2_optimize): Initialize it.
921 2013-10-24  David Edelsohn  <dje.gcc@gmail.com>
923         Backport from mainline
924         2013-10-23  David Edelsohn  <dje.gcc@gmail.com>
926         PR target/58838
927         * config/rs6000/rs6000.md (mulsi3_internal1 and splitter): Add
928         TARGET_32BIT final condition.
929         (mulsi3_internal2 and splitter): Same.
931 2013-10-23  Tom de Vries  <tom@codesourcery.com>
933         PR tree-optimization/58805
934         * tree-ssa-tail-merge.c (stmt_local_def): Add gimple_vdef check.
936 2013-10-23  Richard Biener  <rguenther@suse.de>
938         Backport from mainline
939         2013-06-24  Richard Biener  <rguenther@suse.de>
941         PR tree-optimization/57488
942         * tree-ssa-pre.c (insert): Clear NEW sets before each iteration.
944 2013-10-16  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
946         Backport from mainline
947         2013-10-16  Ganesh Gopalasubramanian
948                     <Ganesh.Gopalasubramanian@amd.com>
950         * config/i386/i386.c (ix86_option_override_internal): Enable FMA4
951         for AMD bdver3.
953 2013-10-16  Jakub Jelinek  <jakub@redhat.com>
955         * BASE-VER: Set to 4.8.3.
956         * DEV-PHASE: Set to prerelease.
958 2013-10-16  Release Manager
960         * GCC 4.8.2 released.
962 2013-10-12  James Greenhalgh  <james.greenhalgh@arm.com>
964         Backport from mainline.
965         2013-10-12  James Greenhalgh  <james.greenhalgh@arm.com>
967         * config/aarch64/arm_neon.h
968         (vtbx<1,3>_<psu>8): Fix register constriants.
970 2013-10-10  Jakub Jelinek  <jakub@redhat.com>
972         PR middle-end/58670
973         * stmt.c (expand_asm_operands): Add FALLTHRU_BB argument,
974         if any labels are in FALLTHRU_BB, use a special label emitted
975         immediately after the asm goto insn rather than label_rtx
976         of the LABEL_DECL.
977         (expand_asm_stmt): Adjust caller.
978         * cfgrtl.c (commit_one_edge_insertion): Force splitting of
979         edge if the last insn in predecessor is a jump with single successor,
980         but it isn't simplejump_p.
982 2013-10-09  Jakub Jelinek  <jakub@redhat.com>
984         Backport from mainline
985         2013-09-26  Richard Biener  <rguenther@suse.de>
987         PR tree-optimization/58539
988         * tree-vect-loop.c (vect_create_epilog_for_reduction): Honor
989         the fact that debug statements are not taking part in loop-closed
990         SSA construction.
992 2013-10-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
994         * config/s390/s390.c (s390_register_info): Make the call-saved FPR
995         loop to work also for 31bit ABI.
996         Save the stack pointer for frame_size > 0.
998 2013-10-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1000         * config/s390/s390.md ("tbegin", "tbegin_nofloat", "tbegin_retry")
1001         ("tbegin_retry_nofloat", "tend", "tabort", "tx_assist"): Remove
1002         constraint letters from expanders.
1003         ("tbegin_retry", "tbegin_retry_nofloat"): Change predicate of the
1004         retry count to general_operand.
1005         ("tabort"): Give operand 0 a mode.
1006         ("tabort_1"): Add mode and constraint letter for operand 0.
1007         * doc/extend.texi: Fix protoype of __builtin_non_tx_store.
1009 2013-10-04  Marcus Shawcroft  <marcus.shawcroft@arm.com>
1011         Backport from mainline.
1013         PR target/58460
1014         * config/aarch64/aarch64.md (*add_<shift>_<mode>)
1015         (*add_<shift>_si_uxtw,*add_mul_imm_<mode>)
1016         (*sub_<shift>_<mode>)
1017         (*sub_<shift>_si_uxtw,*sub_mul_imm_<mode>, *sub_mul_imm_si_uxtw):
1018         Remove k constraint.
1020 2013-10-02  John David Anglin  <danglin@gcc.gnu.org>
1022         * config.gcc (hppa*64*-*-linux*): Don't add pa/t-linux to tmake_file.
1024 2013-10-01  Jakub Jelinek  <jakub@redhat.com>
1025             Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1027         PR target/58574
1028         * config/s390/s390.c (s390_chunkify_start): Handle tablejump_p first,
1029         continue when done, for other jumps look through PARALLEL
1030         unconditionally.
1032 2013-09-30  Jakub Jelinek  <jakub@redhat.com>
1034         PR middle-end/58564
1035         * fold-const.c (fold_ternary_loc): For A < 0 : <sign bit of A> : 0
1036         optimization, punt if sign_bit_p looked through any zero extension.
1038 2013-09-27  Paulo Matos  <pmatos@broadcom.com>
1040         Backport from mainline.
1042         PR middle-end/58463
1043         2013-03-27  Richard Biener  <rguenther@suse.de>
1045         PR tree-optimization/56716
1046         * tree-ssa-structalias.c (perform_var_substitution): Adjust
1047         dumping for ref nodes.
1049 2013-09-27  Paulo Matos  <pmatos@broadcom.com>
1051         Backport from mainline.
1053         2013-09-27  Paulo Matos  <pmatos@broadcom.com>
1054         PR middle-end/58463
1055         * gcc.dg/pr58463.c: New test.
1057 2013-09-23  Eric Botcazou  <ebotcazou@adacore.com>
1059         * tree-ssa-ccp.c (insert_clobber_before_stack_restore): Recurse on copy
1060         assignment statements.
1062 2013-09-23  Alan Modra  <amodra@gmail.com>
1064         PR target/58330
1065         * config/rs6000/rs6000.md (bswapdi2_64bit): Disable for volatile mems.
1067 2013-09-23  Alan Modra  <amodra@gmail.com>
1069         * config/rs6000/predicates.md (add_cint_operand): New.
1070         (reg_or_add_cint_operand, small_toc_ref): Use add_cint_operand.
1071         * config/rs6000/rs6000.md (largetoc_high_plus): Restrict offset
1072         using add_cint_operand.
1073         (largetoc_high_plus_aix): Likewise.
1074         * config/rs6000/rs6000.c (toc_relative_expr_p): Use add_cint_operand.
1076 2013-09-20  John David Anglin  <danglin@gcc.gnu.org>
1078         PR middle-end/56791
1079         * config/pa/pa.c (pa_option_override): Disable auto increment and
1080         decrement instructions until reload is completed.
1082         * config/pa/pa.md: In "scc" insn patterns, change output template to
1083         handle const0_rtx in reg_or_0_operand operands.
1085 2013-09-19  Jakub Jelinek  <jakub@redhat.com>
1087         * omp-low.c (expand_omp_sections): Always pass len - 1 to
1088         GOMP_sections_start, even if !exit_reachable.
1090 2013-09-18  Richard Earnshaw  <rearnsha@arm.com>
1092         * arm.c (arm_expand_prologue): Validate architecture supports
1093         LDRD/STRD before accepting tuning preferences.
1094         (arm_expand_epilogue): Likewise.
1096 2013-09-18  Daniel Morris  <danielm@ecoscentric.com>
1097             Paolo Carlini  <paolo.carlini@oracle.com>
1099         PR c++/58458
1100         * doc/implement-cxx.texi: Fix references to the C++ standards.
1102 2013-09-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1104         PR tree-optimization/58088
1105         * fold-const.c (mask_with_trailing_zeros): New function.
1106         (fold_binary_loc): Make sure we don't recurse infinitely
1107         when the X in (X & C1) | C2 is a tree of the form (Y * K1) & K2.
1108         Use mask_with_trailing_zeros where appropriate.
1110 2013-09-14  John David Anglin  <danglin@gcc.gnu.org>
1112         PR target/58382
1113         * config/pa/pa.c (pa_expand_prologue): Change mode in gen_rtx_POST_INC
1114         calls to word_mode.
1116 2013-09-13  Christian Bruel  <christian.bruel@st.com>
1118         PR target/58314
1119         * config/sh/sh.md (mov<mode>_reg_reg): Allow memory reloads.
1121 2013-09-11  Andi Kleen  <ak@linux.intel.com>
1123         Backport from mainline
1124         * doc/extend.texi: Use __atomic_store_n instead of
1125         __atomic_store in HLE example.
1127 2013-09-11  Andi Kleen  <ak@linux.intel.com>
1129         Backport from mainline
1130         * doc/extend.texi: Dont use __atomic_clear in HLE
1131         example.  Fix typo.
1133 2013-09-11  Andi Kleen  <ak@linux.intel.com>
1135         Backport from mainline
1136         * doc/extend.texi: Document that __atomic_clear and
1137           __atomic_test_and_set should only be used with bool.
1139 2013-09-11  Richard Biener  <rguenther@suse.de>
1141         PR middle-end/58377
1142         * passes.c (init_optimization_passes): Split critical edges
1143         before late uninit warning pass in the -Og pipeline.
1145 2013-09-11  Jakub Jelinek  <jakub@redhat.com>
1147         PR tree-optimization/58385
1148         * fold-const.c (build_range_check): If both low and high are NULL,
1149         use omit_one_operand_loc to preserve exp side-effects.
1151 2013-09-10  Richard Earnshaw  <rearnsha@arm.com>
1153         PR target/58361
1154         * arm/vfp.md (combine_vcvt_f32_<FCVTI32typename>): Fix pattern to
1155         support conditional execution.
1156         (combine_vcvt_f64_<FCVTI32typename>): Likewise.
1158 2013-09-10  Jakub Jelinek  <jakub@redhat.com>
1160         PR rtl-optimization/58365
1161         * cfgcleanup.c (merge_memattrs): Also clear MEM_READONLY_P
1162         resp. MEM_NOTRAP_P if they differ, or set MEM_VOLATILE_P if
1163         it differs.
1165 2013-09-09  Jakub Jelinek  <jakub@redhat.com>
1167         PR tree-optimization/58364
1168         * tree-ssa-reassoc.c (init_range_entry): For BIT_NOT_EXPR on
1169         BOOLEAN_TYPE, only invert in_p and continue with arg0 if
1170         the current range can't be an unconditional true or false.
1172 2013-09-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1174         PR target/57735
1175         Backport from mainline
1176         2013-04-30  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
1178         * explow.c (plus_constant): Pass "mode" to immed_double_int_const.
1179         Use gen_int_mode rather than GEN_INT.
1181 2013-09-09  Richard Biener  <rguenther@suse.de>
1183         Backport from mainline
1184         2013-08-27  Richard Biener  <rguenther@suse.de>
1186         PR tree-optimization/57521
1187         * tree-if-conv.c (if_convertible_bb_p): Verify that at least
1188         one edge is non-critical.
1189         (find_phi_replacement_condition): Make sure to use a non-critical
1190         edge.  Cleanup and remove old bug workarounds.
1191         (bb_postdominates_preds): Remove.
1192         (if_convertible_loop_p_1): Do not compute post-dominators.
1193         (combine_blocks): Do not free post-dominators.
1194         (main_tree_if_conversion): Likewise.
1196 2013-09-09  Richard Biener  <rguenther@suse.de>
1198         Backport from mainline
1199         2013-09-03  Richard Biener  <rguenther@suse.de>
1201         PR middle-end/57656
1202         * fold-const.c (negate_expr_p): Fix division case.
1203         (negate_expr): Likewise.
1205 2013-09-09  Richard Biener  <rguenther@suse.de>
1207         Backport from mainline
1208         2013-08-29  Richard Biener  <rguenther@suse.de>
1210         PR tree-optimization/57685
1211         * tree-vrp.c (register_edge_assert_for_1): Recurse only for
1212         single-use operands to avoid exponential complexity.
1214 2013-09-09  Richard Biener  <rguenther@suse.de>
1216         Backport from mainline
1217         2013-08-30  Richard Biener  <rguenther@suse.de>
1219         PR tree-optimization/58223
1220         * tree-loop-distribution.c (has_anti_dependence): Rename to ...
1221         (has_anti_or_output_dependence): ... this and adjust to also
1222         look for output dependences.
1223         (mark_nodes_having_upstream_mem_writes): Adjust.
1224         (rdg_flag_uses): Likewise.
1226 2013-09-03  Richard Biener  <rguenther@suse.de>
1228         Backport from mainline
1229         2013-08-29  Richard Biener  <rguenther@suse.de>
1231         PR tree-optimization/58246
1232         * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Properly
1233         handle the dominance check inside a basic-block.
1235 2013-09-03  Richard Biener  <rguenther@suse.de>
1237         Backport from mainline
1238         2013-08-30  Richard Biener  <rguenther@suse.de>
1240         PR tree-optimization/58228
1241         * tree-vect-data-refs.c (vect_analyze_data_ref_access): Do not
1242         allow invariant loads in nested loop vectorization.
1244 2013-09-03  Richard Biener  <rguenther@suse.de>
1246         Backport from mainline
1247         2013-08-30  Richard Biener  <rguenther@suse.de>
1249         PR tree-optimization/58010
1250         * tree-vect-loop.c (vect_create_epilog_for_reduction): Remove
1251         assert that we have a loop-closed PHI.
1253 2013-09-01  Uros Bizjak  <ubizjak@gmail.com>
1255         Backport from mainline
1256         2013-08-31  Uros Bizjak  <ubizjak@gmail.com>
1258         * config/alpha/alpha.c (alpha_emit_conditional_move): Update
1259         "cmp" RTX before signed_comparison_operator check to account
1260         for "code" changes.
1262 2013-09-01  John David Anglin  <danglin@gcc.gnu.org>
1264         * config/pa/pa.md: Allow "const 0" operand 1 in "scc" insns.
1266 2013-08-30  Jakub Jelinek  <jakub@redhat.com>
1268         PR tree-optimization/58277
1269         * tree-ssa-strlen.c (strlen_enter_block): If do_invalidate gave up
1270         after seeing too many stmts with vdef in between dombb and current
1271         bb, invalidate everything.
1273 2013-08-29  Oleg Endo  <olegendo@gcc.gnu.org>
1275         Backport from mainline
1276         2013-08-05  Oleg Endo  <olegendo@gcc.gnu.org>
1278         PR other/12081
1279         * recog.h (rtx (*insn_gen_fn) (rtx, ...)): Replace typedef with new
1280         class insn_gen_fn.
1281         * expr.c (move_by_pieces_1, store_by_pieces_2): Replace argument
1282         rtx (*) (rtx, ...) with insn_gen_fn.
1283         * genoutput.c (output_insn_data): Cast gen_? function pointers to
1284         insn_gen_fn::stored_funcptr.  Add initializer braces.
1286         Backport from mainline
1287         2013-08-07  Oleg Endo  <olegendo@gcc.gnu.org>
1289         PR other/12081
1290         * config/rs6000/rs6000.c (gen_2arg_fn_t): Remove typedef.
1291         (rs6000_emit_swdiv_high_precision, rs6000_emit_swdiv_low_precision,
1292         rs6000_emit_swrsqrt): Don't cast result of GEN_FCN to gen_2arg_fn_t.
1294 2013-08-29  Jakub Jelinek  <jakub@redhat.com>
1296         Backported from mainline
1297         2013-05-27  Richard Biener  <rguenther@suse.de>
1299         PR middle-end/57381
1300         PR tree-optimization/57417
1301         * tree-ssa-sccvn.c (vn_reference_fold_indirect): Fix test
1302         for unchanged base.
1303         (set_ssa_val_to): Compare addresses using
1304         get_addr_base_and_unit_offset.
1306         PR tree-optimization/57396
1307         * tree-affine.c (double_int_constant_multiple_p): Properly
1308         return false for val == 0 and div != 0.
1310         PR tree-optimization/57343
1311         * tree-ssa-loop-niter.c (number_of_iterations_ne_max): Do not
1312         use multiple_of_p if not TYPE_OVERFLOW_UNDEFINED.
1313         (number_of_iterations_cond): Do not build the folded tree.
1315 2013-08-28  Jakub Jelinek  <jakub@redhat.com>
1317         PR middle-end/58257
1318         * omp-low.c (copy_var_decl): Copy over TREE_NO_WARNING flag.
1320 2013-08-28  Richard Biener  <rguenther@suse.de>
1322         Backport from mainline
1323         2013-06-24  Richard Biener  <rguenther@suse.de>
1325         PR middle-end/56977
1326         * passes.c (init_optimization_passes): Move pass_fold_builtins
1327         and pass_dce earlier with -Og.
1329 2013-08-28  Uros Bizjak  <ubizjak@gmail.com>
1331         Backport from mainline
1332         2013-08-27  H.J. Lu  <hongjiu.lu@intel.com>
1334         * config/i386/driver-i386.c (host_detect_local_cpu): Update
1335         Haswell processor detection.
1337         Backport from mainline
1338         2013-08-27  Christian Widmer  <shadow@umbrox.de>
1340         PR target/57927
1341         * config/i386/driver-i386.c (host_detect_local_cpu): Add detection
1342         of Ivy Bridge and Haswell processors.  Assume core-avx2 for unknown
1343         AVX2 capable processors.
1345 2013-08-23  Jakub Jelinek  <jakub@redhat.com>
1347         PR target/58218
1348         * config/i386/x86-64.h (TARGET_SECTION_TYPE_FLAGS): Define.
1349         * config/i386/i386.c (x86_64_elf_section_type_flags): New function.
1351         PR tree-optimization/58209
1352         * tree-tailcall.c (find_tail_calls): Give up for pointer result types
1353         if m or a is non-NULL.
1355 2013-08-21  Richard Earnshaw  <rearnsha@arm.com>
1357         PR target/56979
1358         * arm.c (aapcs_vfp_allocate): Decompose the argument if the
1359         suggested mode for the assignment isn't compatible with the
1360         registers required.
1362 2013-08-20  Alan Modra  <amodra@gmail.com>
1364         PR target/57865
1365         * config/rs6000/rs6000.c (rs6000_emit_prologue): Correct ool_adjust.
1366         (rs6000_emit_epilogue): Likewise.
1368 2013-08-19  Peter Bergner  <bergner@vnet.ibm.com>
1369             Jakub Jelinek  <jakub@redhat.com>
1371         Backport from mainline
1372         * config/rs6000/dfp.md (*negtd2_fpr): Handle non-overlapping
1373         destination and source operands.
1375 2013-08-18  Jakub Jelinek  <jakub@redhat.com>
1377         PR tree-optimization/58006
1378         * tree-parloops.c (take_address_of): Don't ICE if get_name
1379         returns NULL.
1380         (eliminate_local_variables_stmt): Remove clobber stmts.
1382 2013-08-16  Jakub Jelinek  <jakub@redhat.com>
1384         PR tree-optimization/58164
1385         * gimple.c (walk_stmt_load_store_addr_ops): For visit_addr
1386         walk gimple_goto_dest of GIMPLE_GOTO.
1388         PR tree-optimization/58165
1389         * tree-call-cdce.c (shrink_wrap_one_built_in_call): If
1390         bi_call must be the last stmt in a bb, don't split_block, instead
1391         use fallthru edge from it and give up if there is none.
1392         Release conds vector when returning early.
1394 2013-08-15  David Given  <dg@cowlark.com>
1396         Backport from mainline
1397         2013-04-26  Vladimir Makarov  <vmakarov@redhat.com>
1399         * lra-constraints.c (process_alt_operands): Use #if HAVE_ATTR_enable
1400         instead of #ifdef.
1402 2013-08-14  Jakub Jelinek  <jakub@redhat.com>
1404         PR tree-optimization/58145
1405         * tree-sra.c (build_ref_for_offset): If prev_base has
1406         TREE_THIS_VOLATILE or TREE_SIDE_EFFECTS, propagate it to MEM_REF.
1408 2013-08-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1410         * config/s390/htmxlintrin.h: Add file missing from last commit.
1411         * config/s390/htmintrin.h: Likewise.
1412         * config/s390/s390intrin.h: Likewise.
1414 2013-08-14  Uros Bizjak  <ubizjak@gmail.com>
1416         Backport from mainline
1417         2013-08-13  Uros Bizjak  <ubizjak@gmail.com>
1419         * config/i386/sse.md (*sse2_maskmovdqu): Emit addr32 prefix
1420         when Pmode != word_mode.  Add length_address attribute.
1421         (sse3_monitor_<mode>): Merge from sse3_monitor and
1422         sse3_monitor64_<mode> insn patterns.  Emit addr32 prefix when
1423         Pmode != word_mode.  Update insn length attribute.
1424         * config/i386/i386.c (ix86_option_override_internal): Update
1425         ix86_gen_monitor selection for merged sse3_monitor insn.
1427 2013-08-14  Jakub Jelinek  <jakub@redhat.com>
1428             Alexandre Oliva  <aoliva@redhat.com>
1430         PR target/58067
1431         * config/i386/i386.c (ix86_delegitimize_address): For CM_MEDIUM_PIC
1432         and CM_LARGE_PIC ix86_cmodel fall thru into the -m32 code, handle
1433         there also UNSPEC_PLTOFF.
1435 2013-08-13  Jakub Jelinek  <jakub@redhat.com>
1437         PR sanitizer/56417
1438         * asan.c (instrument_strlen_call): Fix typo in comment.
1439         Use char * type even for the lhs of POINTER_PLUS_EXPR.
1441 2013-08-13  Vladimir Makarov  <vmakarov@redhat.com>
1443         Backport from mainline
1444         2013-06-06  Vladimir Makarov  <vmakarov@redhat.com>
1446         PR rtl-optimization/57459
1447         * lra-constraints.c (update_ebb_live_info): Fix typo for operand
1448         type when setting live regs.
1450 2013-08-13  Marek Polacek  <polacek@redhat.com>
1451             Jakub Jelinek  <jakub@redhat.com>
1453         PR tree-optimization/57980
1454         * tree-tailcall.c (process_assignment): Return false
1455         when not dealing with integers or floats.
1457 2013-08-12  Andrew Haley  <aph@redhat.com>
1459         Backport from mainline:
1460         * 2013-07-11  Andreas Schwab  <schwab@suse.de>
1462         * config/aarch64/aarch64-linux.h (CPP_SPEC): Define.
1464 2013-08-13  Uros Bizjak  <ubizjak@gmail.com>
1466         Backport from mainline
1467         2013-08-12  Perez Read  <netfirewall@gmail.com>
1469         PR target/58132
1470         * config/i386/i386.md (*movabs<mode>_1):  Add <ptrsize> PTR before
1471         operand 0 for intel asm alternative.
1472         (*movabs<mode>_2): Ditto for operand 1.
1474 2013-08-09  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
1476         Backport from mainline:
1477         2013-08-09  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
1479         * config/arm/neon.md (vcond): Fix floating-point vector
1480         comparisons against 0.
1482 2013-08-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1484         Backport from mainline:
1485         2013-08-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1487         * config/arm/neon.md (movmisalign<mode>): Disable when we
1488         don't allow unaligned accesses.
1489         (*movmisalign<mode>_neon_store): Likewise.
1490         (*movmisalign<mode>_neon_load): Likewise.
1491         (*movmisalign<mode>_neon_store): Likewise.
1492         (*movmisalign<mode>_neon_load): Likewise.
1494 2013-08-06  Martin Jambor  <mjambor@suse.cz>
1496         PR middle-end/58041
1497         * gimple-ssa-strength-reduction.c (replace_ref): Make sure built
1498         MEM_REF has proper alignment information.
1500 2013-08-05  Richard Earnshaw  <rearnsha@arm.com>
1502         PR rtl-optimization/57708
1503         * recog.c (peep2_find_free_register): Validate all regs in a
1504         multi-reg mode.
1506 2013-08-02  Eric Botcazou  <ebotcazou@adacore.com>
1508         * config/sparc/sparc.c (sparc_emit_membar_for_model) <SMM_TSO>: Add
1509         the implied StoreLoad barrier for atomic operations if before.
1511 2013-08-02  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1513         Backports from mainline:
1514         2013-06-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1516         * config/s390/s390.c: Rename UNSPEC_CCU_TO_INT to
1517         UNSPEC_STRCMPCC_TO_INT and UNSPEC_CCZ_TO_INT to UNSPEC_CC_TO_INT.
1518         (struct machine_function): Add tbegin_p.
1519         (s390_canonicalize_comparison): Fold CC mode compares to
1520         conditional jump if possible.
1521         (s390_emit_jump): Return the emitted jump.
1522         (s390_branch_condition_mask, s390_branch_condition_mnemonic):
1523         Handle CCRAWmode compares.
1524         (s390_option_override): Default to -mhtm if available.
1525         (s390_reg_clobbered_rtx): Handle floating point regs as well.
1526         (s390_regs_ever_clobbered): Use s390_regs_ever_clobbered also for
1527         FPRs instead of df_regs_ever_live_p.
1528         (s390_optimize_nonescaping_tx): New function.
1529         (s390_init_frame_layout): Extend clobbered_regs array to cover
1530         FPRs as well.
1531         (s390_emit_prologue): Call s390_optimize_nonescaping_tx.
1532         (s390_expand_tbegin): New function.
1533         (enum s390_builtin): New enum definition.
1534         (code_for_builtin): New array definition.
1535         (s390_init_builtins): New function.
1536         (s390_expand_builtin): New function.
1537         (TARGET_INIT_BUILTINS): Define.
1538         (TARGET_EXPAND_BUILTIN): Define.
1539         * common/config/s390/s390-common.c (processor_flags_table): Add PF_TX.
1540         * config/s390/predicates.md (s390_comparison): Handle CCRAWmode.
1541         (s390_alc_comparison): Likewise.
1542         * config/s390/s390-modes.def: Add CCRAWmode.
1543         * config/s390/s390.h (processor_flags): Add PF_TX.
1544         (TARGET_CPU_HTM): Define macro.
1545         (TARGET_HTM): Define macro.
1546         (TARGET_CPU_CPP_BUILTINS): Define __HTM__ for htm.
1547         * config/s390/s390.md: Rename UNSPEC_CCU_TO_INT to
1548         UNSPEC_STRCMPCC_TO_INT and UNSPEC_CCZ_TO_INT to UNSPEC_CC_TO_INT.
1549         (UNSPECV_TBEGIN, UNSPECV_TBEGINC, UNSPECV_TEND, UNSPECV_TABORT)
1550         (UNSPECV_ETND, UNSPECV_NTSTG, UNSPECV_PPA): New unspecv enum
1551         values.
1552         (TBEGIN_MASK, TBEGINC_MASK): New constants.
1553         ("*cc_to_int"): Move up.
1554         ("*mov<mode>cc", "*cjump_64", "*cjump_31"): Accept integer
1555         constants other than 0.
1556         ("*ccraw_to_int"): New insn and splitter definition.
1557         ("tbegin", "tbegin_nofloat", "tbegin_retry")
1558         ("tbegin_retry_nofloat", "tbeginc", "tend", "tabort")
1559         ("tx_assist"): New expander.
1560         ("tbegin_1", "tbegin_nofloat_1", "*tbeginc_1", "*tend_1")
1561         ("*tabort_1", "etnd", "ntstg", "*ppa"): New insn definition.
1562         * config/s390/s390.opt: Add -mhtm option.
1563         * config/s390/s390-protos.h (s390_emit_jump): Add return type.
1564         * config/s390/htmxlintrin.h: New file.
1565         * config/s390/htmintrin.h: New file.
1566         * config/s390/s390intrin.h: New file.
1567         * doc/extend.texi: Document htm builtins.
1568         * config.gcc: Add the new header files to extra_headers.
1570         2013-07-17  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1572         * config/s390/s390.c: (s390_expand_builtin): Allow -mhtm to be
1573         enabled without -march=zEC12.
1574         * config/s390/s390.h (TARGET_HTM): Do not require EC12 machine
1575         flags to be set.
1577 2013-08-01  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
1579         Backport from mainline
1580         2013-05-13  Ganesh Gopalasubramanian
1581                     <Ganesh.Gopalasubramanian@amd.com>
1583         * config/i386/i386.c (processor_target_table): Modified default
1584         alignment values for AMD BD and BT architectures.
1586 2013-07-31  Sriraman Tallam  <tmsriram@google.com>
1588         * config/i386/i386.c (dispatch_function_versions): Fix array
1589         indexing of function_version_info to match actual_versions.
1591 2013-07-31  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1593         * config.gcc (*-*-rtems*): Use __cxa_atexit by default.
1594         * config/rs6000/rtems.h (TARGET_LIBGCC_SDATA_SECTION): Define.
1596 2013-07-31  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1598         Backport from mainline
1599         2013-03-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1601         * config/s390/s390.h (TARGET_FLT_EVAL_METHOD): Define.
1603         2013-07-23  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1605         * config/s390/linux-unwind.h: Use the proper dwarf to hard reg
1606         mapping for FPRs when creating the fallback framestate.
1608         2013-07-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
1610         * config/s390/s390.md ("movcc"): Swap load and store instructions.
1612 2013-07-25  Terry Guo  <terry.guo@arm.com>
1614         Backport from mainline:
1615         2013-07-25  Terry Guo  <terry.guo@arm.com>
1617         * config/arm/arm.c (thumb1_size_rtx_costs): Assign proper cost for
1618         shift_add/shift_sub0/shift_sub1 RTXs.
1620 2013-07-22  Iain Sandoe  <iain@codesourcery.com>
1622         Backport from mainline:
1623         2013-07-22  Uros Bizjak  <ubizjak@gmail.com>
1625         * config/i386/i386.md (nonlocal_goto_receiver): Delete insn if
1626         it is not needed after split.
1628         2013-07-20  Iain Sandoe  <iain@codesourcery.com>
1630         PR target/51784
1631         * config/i386/i386.c (output_set_got) [TARGET_MACHO]: Adjust to emit a
1632         second label for nonlocal goto receivers. Don't output pic base labels
1633         unless we're producing PIC; mark that action unreachable().
1634         (ix86_save_reg): If the function contains a nonlocal label, save the
1635         PIC base reg.
1636         * config/darwin-protos.h (machopic_should_output_picbase_label): New.
1637         * gcc/config/darwin.c (emitted_pic_label_num): New GTY.
1638         (update_pic_label_number_if_needed): New.
1639         (machopic_output_function_base_name): Adjust for nonlocal receiver
1640         case.
1641         (machopic_should_output_picbase_label): New.
1642         * config/i386/i386.md (enum unspecv): UNSPECV_NLGR: New.
1643         (nonlocal_goto_receiver): New insn and split.
1645 2013-07-19 Wei Mi  <wmi@google.com>
1647         Backport from mainline:
1648         2013-07-18  Vladimir Makarov  <vmakarov@redhat.com>
1649                     Wei Mi  <wmi@google.com>
1651         PR rtl-optimization/57878
1652         * lra-assigns.c (assign_by_spills): Move non_reload_pseudos to the
1653         top. Promote lra_assert to gcc_assert.
1654         (reload_pseudo_compare_func): Check regs first for reload pseudos.
1656 2013-07-11  Georg-Johann Lay  <avr@gjlay.de>
1658         Backport from 2013-07-19 trunk r201051.
1660         PR target/57516
1661         * config/avr/avr-fixed.md (round<mode>3_const): Turn expander to insn.
1662         * config/avr/avr.md (adjust_len): Add `round'.
1663         * config/avr/avr-protos.h (avr_out_round): New prototype.
1664         (avr_out_plus): Add `out_label' argument.
1665         * config/avr/avr.c (avr_out_plus_1): Add `out_label' argument.
1666         (avr_out_plus): Pass down `out_label' to avr_out_plus_1.
1667         Handle the case where `insn' is just a pattern.
1668         (avr_out_bitop): Handle the case where `insn' is just a pattern.
1669         (avr_out_round): New function.
1670         (avr_adjust_insn_length): Handle ADJUST_LEN_ROUND.
1672 2013-07-19  Kirill Yukhin  <kirill.yukhin@intel.com>
1674         * config/i386/bmiintrin.h (_bextr_u32): New.
1675         (_bextr_u64): Ditto.
1676         (_blsi_u32): New.
1677         (_blsi_u64): Ditto.
1678         (_blsr_u32): Ditto.
1679         (_blsr_u64): Ditto.
1680         (_blsmsk_u32): Ditto.
1681         (_blsmsk_u64): Ditto.
1682         (_tzcnt_u32): Ditto.
1683         (_tzcnt_u64): Ditto.
1685 2013-07-17  James Greenhalgh  <james.greenhalgh@arm.com>
1687         Backport From mainline:
1688         2013-07-03  James Greenhalgh  <james.greenhalgh@arm.com>
1690         * config/aarch64/aarch64-builtins.c
1691         (aarch64_simd_expand_builtin): Handle AARCH64_SIMD_STORE1.
1692         * config/aarch64/aarch64-simd-builtins.def (ld1): New.
1693         (st1): Likewise.
1694         * config/aarch64/aarch64-simd.md
1695         (aarch64_ld1<VALL:mode>): New.
1696         (aarch64_st1<VALL:mode>): Likewise.
1697         * config/aarch64/arm_neon.h
1698         (vld1<q>_<fpsu><8, 16, 32, 64>): Convert to RTL builtins.
1700 2013-07-11  Georg-Johann Lay  <avr@gjlay.de>
1702         Backport from 2013-07-11 trunk r200901.
1704         PR target/57631
1705         * config/avr/avr.c (avr_set_current_function): Sanity-check signal
1706         name seen by assembler/linker if available.
1708 2013-07-10  Georg-Johann Lay  <avr@gjlay.de>
1710         Backport from 2013-07-10 trunk r200872.
1712         PR target/57844
1713         * config/avr/avr.c (avr_prologue_setup_frame): Trunk -size to mode
1714         of my_fp.
1716 2013-07-10  Georg-Johann Lay  <avr@gjlay.de>
1718         Backport from 2013-07-10 trunk r200870.
1720         PR target/57506
1721         * config/avr/avr-mcus.def (atmega16hva, atmega16hva2, atmega16hvb)
1722         (atmega16m1, atmega16u4, atmega32a, atmega32c1, atmega32hvb)
1723         (atmega32m1, atmega32u4, atmega32u6, atmega64c1, atmega64m1):
1724         Remove duplicate devices.
1725         * config/avr/gen-avr-mmcu-texi.c (print_mcus): Fail on duplicate MCUs.
1726         * config/avr/t-multilib: Regenerate.
1727         * config/avr/avr-tables.opt: Regenerate.
1728         * doc/avr-mmcu.texi: Regenerate.
1730 2013-07-10  Georg-Johann Lay  <avr@gjlay.de>
1732         PR target/56987
1733         * config/avr/avr.opt (Waddr-space-convert): Fix typo.
1735 2013-07-09  Joseph Myers  <joseph@codesourcery.com>
1737         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Only
1738         adjust register size for TDmode and TFmode for VSX registers.
1740 2013-07-08  Kai Tietz  <ktietz@redhat.com>
1742         Backport from mainline
1743         PR target/56892
1744         * config/i386/i386.c (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): Define as
1745         hook_bool_const_tree_true.
1747 2013-07-08  Uros Bizjak  <ubizjak@gmail.com>
1749         Backport from mainline
1750         2013-07-07  Uros Bizjak  <ubizjak@gmail.com>
1752         * config/i386/driver-i386.c (host_detect_local_cpu): Do not check
1753         signature_TM2_ebx, it interferes with signature_INTEL_ebx.
1755         Backport from mainline
1756         2013-07-06  Uros Bizjak  <ubizjak@gmail.com>
1758         * config/i386/sse.md (sse_movlhps): Change alternative 3
1759         of operand 2 to "m".
1761 2013-07-08  Eric Botcazou  <ebotcazou@adacore.com>
1763         * Makefile.in (tree-ssa-reassoc.o): Add dependency on $(PARAMS_H).
1765 2013-07-08  Jakub Jelinek  <jakub@redhat.com>
1767         PR rtl-optimization/57829
1768         * simplify-rtx.c (simplify_binary_operation_1) <case IOR>: Ensure that
1769         mask bits outside of mode are just sign-extension from mode to HWI.
1771 2013-07-03  Jakub Jelinek  <jakub@redhat.com>
1773         PR target/57777
1774         * config/i386/predicates.md (vsib_address_operand): Disallow
1775         SYMBOL_REF or LABEL_REF in parts.disp if TARGET_64BIT && flag_pic.
1777 2013-06-30  Terry Guo  <terry.guo@arm.com>
1779         Backport from mainline
1780         2013-03-27  Bin Cheng  <bin.cheng@arm.com>
1782         PR target/56102
1783         * config/arm/arm.c (thumb1_rtx_costs, thumb1_size_rtx_costs): Fix
1784         rtx costs for SET/ASHIFT/ASHIFTRT/LSHIFTRT/ROTATERT patterns with
1785         mult-word mode.
1787 2013-06-28  Jakub Jelinek  <jakub@redhat.com>
1789         PR target/57736
1790         * config/i386/i386.c (ix86_expand_builtin): If target == NULL
1791         and mode is VOIDmode, don't create a VOIDmode pseudo to copy result
1792         into.
1794 2013-06-27  Jakub Jelinek  <jakub@redhat.com>
1796         PR target/57623
1797         * config/i386/i386.md (bmi_bextr_<mode>): Swap predicates and
1798         constraints of operand 1 and 2.
1800         PR target/57623
1801         * config/i386/i386.md (bmi2_bzhi_<mode>3): Swap AND arguments
1802         to match RTL canonicalization.  Swap predicates and
1803         constraints of operand 1 and 2.
1805         * tree-vect-stmts.c (vectorizable_store): Move ptr_incr var
1806         decl before the loop, initialize to NULL.
1807         (vectorizable_load): Initialize ptr_incr to NULL.
1809 2013-06-24  Martin Jambor  <mjambor@suse.cz>
1811         PR tree-optimization/57358
1812         * ipa-prop.c (parm_ref_data_preserved_p): Always return true when
1813         not optimizing.
1815 2013-06-24  Alan Modra  <amodra@gmail.com>
1817         * config/rs6000/rs6000.c (vspltis_constant): Correct for little-endian.
1818         (gen_easy_altivec_constant): Likewise.
1819         * config/rs6000/predicates.md (easy_vector_constant_add_self,
1820         easy_vector_constant_msb): Likewise.
1822 2013-06-21  Uros Bizjak  <ubizjak@gmail.com>
1824         Backport from mainline
1825         2013-06-20  Uros Bizjak  <ubizjak@gmail.com>
1827         PR target/57655
1828         * config/i386/i386.c (construct_container): Report error if
1829         long double is used with disabled x87 float returns.
1831 2013-06-20  Wei Mi  <wmi@google.com>
1833         Backport from mainline
1834         2013-06-19  Wei Mi  <wmi@google.com>
1836         PR rtl-optimization/57518
1837         * ira.c (set_paradoxical_subreg): Set pdx_subregs[regno]
1838         if regno is used in paradoxical subreg.
1839         (update_equiv_regs): Check pdx_subregs[regno] before
1840         set a reg to be equivalent with a mem.
1843 2013-06-20  David Edelsohn  <dje.gcc@gmail.com>
1845         Backport from mainline
1846         2013-06-19  David Edelsohn  <dje.gcc@gmail.com>
1848         PR driver/57652
1849         * collect2.c (collect_atexit): New.
1850         (collect_exit): Delete.
1851         (main): Register collect_atexit with atexit.
1852         (collect_wait): Change collect_exit to exit.
1853         (do_wait): Same.
1854         * collect2.h (collect_exit): Delete.
1855         * tlink.c (do_tlink): Rename exit to ret. Change collect_exit to exit.
1857 2013-06-19  Matthias Klose  <doko@ubuntu.com>
1859         PR driver/57651
1860         * file-find.h (find_a_file): Add a mode parameter.
1861         * file-find.c (find_a_file): Likewise.
1862         * gcc-ar.c (main): Call find_a_file with R_OK for the plugin,
1863         with X_OK for the executables.
1864         * collect2.c (main): Call find_a_file with X_OK.
1866 2013-06-19  Igor Zamyatin  <igor.zamyatin@intel.com>
1868         * doc/invoke.texi (core-avx2): Document.
1869         (atom): Updated with MOVBE.
1871 2013-06-19  Jakub Jelinek  <jakub@redhat.com>
1873         PR driver/57651
1874         * gcc-ar.c (main): If not CROSS_DIRECTORY_STRUCTURE, look for
1875         PERSONALITY in $PATH derived prefixes.
1877 2013-06-19  Paolo Carlini  <paolo.carlini@oracle.com>
1879         PR c++/56544
1880         * doc/cpp.texi [Standard Predefined Macros, __cplusplus]: Document
1881         that now in C++ the value is correct per the C++ standards.
1883 2013-06-19  Alan Modra  <amodra@gmail.com>
1885         Apply mainline patches
1886         2013-06-13  Alan Modra  <amodra@gmail.com>
1887         * config/rs6000/rs6000.h (LONG_DOUBLE_LARGE_FIRST): Define.
1888         * config/rs6000/rs6000.md (signbittf2): New insn.
1889         (extenddftf2_internal): Use LONG_DOUBLE_LARGE_FIRST.
1890         (abstf2_internal, cmptf_internal2): Likewise.
1891         * config/rs6000/spe.md (spe_abstf2_cmp, spe_abstf2_tst): Likewise.
1893         2013-06-11  Anton Blanchard  <anton@samba.org>
1894         * config/rs6000/rs6000.c (rs6000_adjust_atomic_subword): Calculate
1895         correct shift value in little-endian mode.
1897         2013-06-07  Alan Modra  <amodra@gmail.com>
1898         * config/rs6000/rs6000.c (setup_incoming_varargs): Round up
1899         va_list_gpr_size.
1901         2013-06-04  Alan Modra  <amodra@gmail.com>
1902         * config/rs6000/rs6000.c (output_toc): Correct little-endian float
1903         constant output.
1905         2013-05-10  Alan Modra  <amodra@gmail.com>
1906         * configure.ac (HAVE_AS_TLS): Swap powerpc64 and powerpc cases.
1907         (HAVE_LD_LARGE_TOC): Don't mention AIX in help text.
1908         * configure: Regenerate.
1910         2013-05-09  Alan Modra  <amodra@gmail.com>
1911         * configure.ac (HAVE_AS_TLS): Enable tests for powerpcle and
1912         powerpc64le.
1913         * configure: Regenerate.
1915         2013-05-07  Anton Blanchard  <anton@samba.org>
1916         * configure.ac (HAVE_LD_LARGE_TOC): Use right linker emulation
1917         for powerpc64 little endian.
1918         * configure: Regenerate.
1920         2013-05-06  Alan Modra  <amodra@gmail.com>
1921         * config/rs6000/linux.h (DEFAULT_ASM_ENDIAN): Define.
1922         (LINK_OS_LINUX_EMUL): Use ENDIAN_SELECT.
1923         * config/rs6000/linux64.h (DEFAULT_ASM_ENDIAN): Define.
1924         * config/rs6000/sysv4le.h (DEFAULT_ASM_ENDIAN): Define.
1925         (LINK_TARGET_SPEC): Use ENDIAN_SELECT.
1926         * config/rs6000/sysv4.h (DEFAULT_ASM_ENDIAN): Define as -mbig.
1928         2013-05-06  Alan Modra  <amodra@gmail.com>
1929         * config/rs6000/sysv4.h (ENDIAN_SELECT): Define, extracted from
1930         (ASM_SPEC): ..here.  Emit DEFAULT_ASM_ENDIAN too.
1931         (DEFAULT_ASM_ENDIAN): Define.
1932         (CC1_SPEC, LINK_TARGET_SPEC): Use ENDIAN_SELECT.
1933         * config/rs6000/linux64.h (ASM_SPEC32): Remove endian options.
1934         Update -K PIC clause from sysv4.h.
1935         (ASM_SPEC_COMMON): Use ENDIAN_SELECT.
1936         (LINK_OS_LINUX_EMUL32, LINK_OS_LINUX_EMUL64): Likewise.
1938         2013-05-06  Alan Modra  <amodra@gmail.com>
1939         * config/rs6000/rs6000.md (bswapdi 2nd splitter): Don't swap words
1940         twice for little-endian.
1941         (ashrdi3_no_power, ashrdi3): Support little-endian.
1943         2013-04-25  Alan Modra  <amodra@gmail.com>
1944         * config.gcc: Support little-endian powerpc-linux targets.
1945         * config/rs6000/linux.h (LINK_OS_LINUX_EMUL): Define.
1946         (LINK_OS_LINUX_SPEC): Define.
1947         * config/rs6000/linuxspe.h (TARGET_DEFAULT):
1948         Preserve MASK_LITTLE_ENDIAN.
1949         * config/rs6000/default64.h (TARGET_DEFAULT): Likewise.
1950         * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Likewise.
1951         * config/rs6000/linux64.h (OPTION_LITTLE_ENDIAN): Don't zero.
1952         (LINK_OS_LINUX_EMUL32, LINK_OS_LINUX_EMUL64): Define.
1953         (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Use above.
1954         * config/rs6000/rs6000.c (output_toc): Don't use .tc for TARGET_ELF.
1955         Correct fp word order for little-endian.  Don't shift toc entries
1956         smaller than a word for little-endian.
1957         * config/rs6000/rs6000.md (bswaphi2, bswapsi2 split): Comment.
1958         (bswapdi2 splits): Correct low-part subreg for little-endian.
1959         Remove wrong BYTES_BIG_ENDIAN tests, and rename vars to remove
1960         low/high where such is correct only for be.
1961         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Allow
1962         little-endian for -mcall-aixdesc.
1964 2013-06-12  Martin Jambor  <mjambor@suse.cz>
1966         * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that param_index is
1967         within bounds at the beginning of the function.
1969 2013-06-12  Jakub Jelinek  <jakub@redhat.com>
1971         PR tree-optimization/57537
1972         * tree-vect-patterns.c (vect_recog_widen_mult_pattern): If
1973         vect_handle_widen_op_by_const, convert oprnd1 to half_type1.
1975 2013-06-10  Uros Bizjak  <ubizjak@gmail.com>
1977         Backport from mainline
1978         2013-06-10  Uros Bizjak  <ubizjak@gmail.com>
1980         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Also use
1981         cmp_code to construct REG_EQUAL note.
1983 2013-06-10  Oleg Endo  <olegendo@gcc.gnu.org>
1985         Backport from mainline
1986         2013-05-20  Oleg Endo  <olegendo@gcc.gnu.org>
1988         PR target/56547
1989         * config/sh/sh.md (fmasf4): Remove empty constraints strings.
1990         (*fmasf4, *fmasf4_media): New insns.
1992 2013-06-09  Jakub Jelinek  <jakub@redhat.com>
1994         PR target/57568
1995         * config/i386/i386.md (TARGET_READ_MODIFY_WRITE peepholes): Ensure
1996         that operands[2] doesn't overlap with operands[0].
1998 2013-06-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
2000         * recog.c (offsettable_address_addr_space_p): Fix calculation of
2001         address mode.  Move pointer mode initialization to the same place.
2003 2013-06-07  Sofiane Naci  <sofiane.naci@arm.com>
2005         Backport from mainline
2006         * config/aarch64/aarch64.md (*movdi_aarch64): Define "simd" attribute.
2008 2013-06-07  Uros Bizjak  <ubizjak@gmail.com>
2010         Backport from mainline
2011         2013-06-05  Uros Bizjak  <ubizjak@gmail.com>
2013         * config/alpha/alpha.c (alpha_emit_conditional_move): Swap all
2014         GE, GT, GEU and GTU compares, modulo DImode compares with zero.
2016         Backport from mainline
2017         2013-05-23  Uros Bizjak  <ubizjak@gmail.com>
2019         PR target/57379
2020         * config/alpha/alpha.md (unspec): Add UNSPEC_XFLT_COMPARE.
2021         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Construct
2022         REG_EQUAL note as UNSPEC_XFLT_COMPARE unspec.
2024 2013-06-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2026         Backport from mainline.
2027         2013-05-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2029         * config/rs6000/rs6000.h (MALLOC_ABI_ALIGNMENT): New #define.
2031 2013-06-03  James Greenhalgh  <james.greenhalgh@arm.com>
2033         Backport from mainline.
2034         2013-04-25  James Greenhalgh  <james.greenhalgh@arm.com>
2036         * config/aarch64/aarch64.c (aarch64_print_operand): Fix asm_fprintf
2037         format specifier in 'X' case.
2039 2013-05-31  Richard Henderson  <rth@redhat.com>
2041         PR target/56742
2042         * config/i386/i386.c (ix86_seh_fixup_eh_fallthru): New.
2043         (ix86_reorg): Call it.
2045 2012-05-31  Jakub Jelinek  <jakub@redhat.com>
2047         * BASE-VER: Set to 4.8.2.
2048         * DEV-PHASE: Set to prerelease.
2050 2013-05-31  Release Manager
2052         * GCC 4.8.1 released.
2054 2013-05-24  Greta Yorsh  <Greta.Yorsh@arm.com>
2056         Backport from mainline
2057         2013-05-02  Greta Yorsh  <Greta.Yorsh@arm.com>
2059         PR target/56732
2060         * config/arm/arm.c (arm_expand_epilogue): Check really_return before
2061         generating simple_return for naked functions.
2063 2013-05-24  Alexander Ivchenko  <alexander.ivchenko@intel.com>
2065         PR tree-ssa/57385
2066         * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Check
2067         that index is not negative.
2069 2013-05-23  Martin Jambor  <mjambor@suse.cz>
2071         PR middle-end/57347
2072         * tree.h (contains_bitfld_component_ref_p): Declare.
2073         * tree-sra.c (contains_bitfld_comp_ref_p): Move...
2074         * tree.c (contains_bitfld_component_ref_p): ...here.  Adjust its caller.
2075         * ipa-prop.c (determine_known_aggregate_parts): Check that LHS does
2076         not access a bit-field.  Assert all final offsets are byte-aligned.
2078 2013-05-23  Richard Biener  <rguenther@suse.de>
2080         PR rtl-optimization/57341
2081         * ira.c (validate_equiv_mem_from_store): Use anti_dependence
2082         instead of true_dependence.
2084 2013-05-23  Jakub Jelinek  <jakub@redhat.com>
2086         PR middle-end/57344
2087         * expmed.c (store_split_bit_field): If op0 is a REG or
2088         SUBREG of a REG, don't lower unit.  Handle unit not being
2089         always BITS_PER_WORD.
2091 2013-05-22  Uros Bizjak  <ubizjak@gmail.com>
2093         PR target/57356
2094         * config/i386/i386.md (*movti_internal_rex64): Emit movaps/movups
2095         for non-sse2 targets.
2096         (*movti_internal): Simplify mode attribute calculation.
2098 2013-05-22  Richard Biener  <rguenther@suse.de>
2100         Backport from mainline
2101         2013-05-21  Richard Biener  <rguenther@suse.de>
2103         PR tree-optimization/57318
2104         * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Do not
2105         estimate stmts with side-effects as likely eliminated.
2107         2013-05-21  Richard Biener  <rguenther@suse.de>
2109         PR tree-optimization/57330
2110         * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Properly
2111         preserve the call stmts fntype.
2113         2013-05-21  Richard Biener  <rguenther@suse.de>
2115         PR tree-optimization/57303
2116         * tree-ssa-sink.c (statement_sink_location): Properly handle
2117         self-assignments.
2119 2013-05-21  Magnus Granberg  <baldrick@free.fr>
2121         PR plugins/56754
2122         * Makefile.in (PLUGIN_HEADERS): Add $(TARGET_H).
2124 2013-05-21  Eric Botcazou  <ebotcazou@adacore.com>
2126         Backport from mainline
2127         2013-05-14  Eric Botcazou  <ebotcazou@adacore.com>
2129         * config/sparc/sp64-elf.h (CPP_SUBTARGET_SPEC): Delete.
2130         * config/sparc/openbsd64.h (CPP_SUBTARGET_SPEC): Likewise.
2132 2013-05-17  Jakub Jelinek  <jakub@redhat.com>
2134         PR rtl-optimization/57281
2135         PR rtl-optimization/57300
2136         * config/i386/i386.md (extendsidi2_1 dead reg splitter): Remove.
2137         (extendsidi2_1 peephole2s): Add instead 2 new peephole2s, that undo
2138         what the other splitter did if the registers are dead.
2140 2013-05-17  Uros Bizjak  <ubizjak@gmail.com>
2142         Backport from mainline
2143         2013-05-16  Uros Bizjak  <ubizjak@gmail.com>
2145         * config/i386/driver-i386.c (host_detect_local_cpu): Determine
2146         cache parameters using detect_caches_amd also for CYRIX,
2147         NSC and TM2 signatures.
2149         2013-05-16  Uros Bizjak  <ubizjak@gmail.com>
2150                     Dzianis Kahanovich  <mahatma@eu.by>
2152         PR target/45359
2153         PR target/46396
2154         * config/i386/driver-i386.c (host_detect_local_cpu): Detect
2155         VIA/Centaur processors and determine their cache parameters
2156         using detect_caches_amd.
2158         2013-05-15  Uros Bizjak  <ubizjak@gmail.com>
2160         * config/i386/i386.c (ix86_option_override_internal): Update
2161         processor_alias_table for missing PTA_PRFCHW and PTA_FXSR flags.  Add
2162         PTA_POPCNT to corei7 entry. Do not enable SSE prefetch on
2163         non-SSE 3dNow! targets.  Enable TARGET_PRFCHW for TARGET_3DNOW targets.
2164         * config/i386/i386.md (prefetch): Enable for TARGET_PRFCHW instead
2165         of TARGET_3DNOW.
2166         (*prefetch_3dnow): Enable for TARGET_PRFCHW only.
2168 2013-05-17  Jakub Jelinek  <jakub@redhat.com>
2170         * gcc.c (SANITIZER_SPEC): Reject -fsanitize=address -fsanitize=thread
2171         linking.
2173         PR tree-optimization/57051
2174         * fold-const.c (const_binop) <case VEC_LSHIFT_EXPR,
2175         case VEC_RSHIFT_EXPR>: Fix BYTES_BIG_ENDIAN handling.
2177 2013-05-16  Jakub Jelinek  <jakub@redhat.com>
2179         * omp-low.c (extract_omp_for_data): For collapsed loops,
2180         if at least one of the loops is known at compile time to
2181         iterate zero times, set count to 0.
2182         (expand_omp_regimplify_p): New function.
2183         (expand_omp_for_generic): For collapsed loops, if at least
2184         one of the loops isn't known to iterate at least once,
2185         add runtime check with setting count to 0.
2186         (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
2187         For unsigned types if it isn't known at compile time that
2188         the loop will iterate at least once, add runtime check to bypass
2189         the whole loop if initial condition isn't true.
2191 2013-05-14  Jakub Jelinek  <jakub@redhat.com>
2193         PR middle-end/57251
2194         * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Handle
2195         the case when both op0 and op1 have VOIDmode.
2197 2013-05-13  Jakub Jelinek  <jakub@redhat.com>
2199         PR tree-optimization/57230
2200         * tree-ssa-strlen.c (handle_char_store): Add missing integer_zerop
2201         check.
2203 2013-05-12  Joern Rennecke  <joern.rennecke@embecosm.com>
2205         * config/epiphany/epiphany.c (epiphany_init): Check size of
2206         NUM_MODES_FOR_MODE_SWITCHING.
2207         (epiphany_expand_prologue):
2208         Remove CONFIG_REGNUM initial value handling code.
2209         (epiphany_optimize_mode_switching): Handle EPIPHANY_MSW_ENTITY_CONFIG.
2210         (epiphany_mode_needed, epiphany_mode_entry_exit): Likewise.
2211         (emit_set_fp_mode, epiphany_mode_after): Likewise.
2212         (epiphany_mode_needed) <Handle EPIPHANY_MSW_ENTITY_AND>:
2213         Don't return 1 for FP_MODE_NONE.
2214         * config/epiphany/epiphany.h (NUM_MODES_FOR_MODE_SWITCHING):
2215         Add value for EPIPHANY_MSW_ENTITY_CONFIG.
2216         (EPIPHANY_MSW_ENTITY_CONFIG, EPIPHANY_MSW_ENTITY_NUM): Define.
2217         * config/epiphany/epiphany.md (save_config): New pattern.
2219 2013-05-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2221         * config/arm/t-rtems-eabi: Remove mthumb/march=armv7 multilib.
2222         Add mthumb/march=armv7-a multilib.
2223         Add mthumb/march=armv7-r multilib.
2224         Add mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard multilib.
2226 2013-05-10  Ralf Corsépius  <ralf.corsepius@rtems.org>
2228         PR target/57237
2229         * config/v850/t-rtems: Add more multilibs.
2231 2013-05-10  Richard Biener  <rguenther@suse.de>
2233         PR tree-optimization/57214
2234         * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling): Do
2235         not propagate from SSA names that occur in abnormal PHI nodes.
2237 2013-05-10  Alan Modra  <amodra@gmail.com>
2239         PR target/55033
2240         * varasm.c (default_elf_select_section): Move !DECL_P check..
2241         (get_named_section): ..to here before calling get_section_name.
2242         Adjust assertion.
2243         (default_section_type_flags): Add DECL_P check.
2244         * config/i386/winnt.c (i386_pe_section_type_flags): Likewise.
2245         * config/rs6000/rs6000.c (rs6000_xcoff_section_type_flags): Likewise.
2247 2013-05-09  Joern Rennecke  <joern.rennecke@embecosm.com>
2249         * config/epiphany/epiphany.c (epiphany_expand_prologue):
2250         When using gen_stack_adjust_str with a register offset, add a
2251         REG_FRAME_RELATED_EXPR note.
2253 2013-05-09  Martin Jambor  <mjambor@suse.cz>
2255         PR middle-end/56988
2256         * ipa-prop.h (ipa_agg_replacement_value): New flag by_ref.
2257         * ipa-cp.c (find_aggregate_values_for_callers_subset): Fill in the
2258         by_ref flag of ipa_agg_replacement_value structures.
2259         (known_aggs_to_agg_replacement_list): Likewise.
2260         * ipa-prop.c (write_agg_replacement_chain): Stream by_ref flag.
2261         (read_agg_replacement_chain): Likewise.
2262         (ipcp_transform_function): Also check that by_ref flags match.
2264 2013-05-08  Diego Novillo  <dnovillo@google.com>
2266         PR bootstrap/54659
2268         Revert:
2270         2012-08-17  Diego Novillo  <dnovillo@google.com>
2272                 PR bootstrap/54281
2273                 * configure.ac: Add libintl.h to AC_CHECK_HEADERS list.
2274                 * config.in: Regenerate.
2275                 * configure: Regenerate.
2276                 * intl.h: Always include libintl.h if HAVE_LIBINTL_H is
2277                 set.
2279 2013-05-08  Paolo Carlini  <paolo.carlini@oracle.com>
2281         PR tree-optimization/57200
2282         * tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations):
2283         Only call inform if the preceding warning_at returns true.
2285 2013-05-07  Jakub Jelinek  <jakub@redhat.com>
2287         PR tree-optimization/57149
2288         * tree-ssa-uninit.c (uninit_undefined_value_p): New inline.
2289         (can_skip_redundant_opnd, compute_uninit_opnds_pos,
2290         collect_phi_def_edges, execute_late_warn_uninitialized): Use
2291         uninit_undefined_value_p instead of ssa_undefined_value_p.
2293         PR debug/57184
2294         * expr.c (expand_expr_addr_expr_1): Handle COMPOUND_LITERAL_EXPR
2295         for modifier == EXPAND_INITIALIZER.
2297 2013-05-07  Richard Biener  <rguenther@suse.de>
2299         Backport from mainline
2300         2013-05-06  Richard Biener  <rguenther@suse.de>
2302         PR tree-optimization/57185
2303         * tree-parloops.c (add_field_for_reduction): Handle anonymous
2304         SSA names properly.
2306         2013-04-19  Richard Biener  <rguenther@suse.de>
2308         PR tree-optimization/57000
2309         * tree-ssa-reassoc.c (pass_reassoc): Add TODO_update_ssa_only_virtuals.
2311 2013-05-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
2313         Backport from trunk
2314         2013-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
2316         PR target/57150
2317         * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Use DFmode
2318         to save TFmode registers and DImode to save TImode registers for
2319         caller save operations.
2320         (HARD_REGNO_CALL_PART_CLOBBERED): TFmode and TDmode do not need to
2321         mark being partially clobbered since they only use the first
2322         double word.
2324         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): TFmode
2325         and TDmode only use the upper 64-bits of each VSX register.
2327 2013-05-06  Oleg Endo  <olegendo@gcc.gnu.org>
2329         PR target/57108
2330         * config/sh/sh.md (tstsi_t_zero_extract_eq): Use QIHISIDI mode iterator.
2332 2013-05-06  Uros Bizjak  <ubizjak@gmail.com>
2334         Backport from mainline
2335         2013-05-06  Uros Bizjak  <ubizjak@gmail.com>
2337         PR target/57106
2338         * config/i386/i386.c (add_parameter_dependencies): Add dependence
2339         between "first_arg" and "insn", not "last" and "insn".
2341 2013-05-03  Jakub Jelinek  <jakub@redhat.com>
2343         PR rtl-optimization/57130
2344         * combine.c (make_compound_operation) <case SUBREG>: Pass
2345         SET instead of COMPARE as in_code to the recursive call
2346         if needed.
2348         Backported from mainline
2349         2013-04-26  Jakub Jelinek  <jakub@redhat.com>
2351         PR tree-optimization/57051
2352         * fold-const.c (const_binop): Handle VEC_LSHIFT_EXPR
2353         and VEC_RSHIFT_EXPR if shift count is a multiple of element
2354         bitsize.
2356         2013-04-12  Marc Glisse  <marc.glisse@inria.fr>
2358         * fold-const.c (fold_binary_loc): Call const_binop also for mixed
2359         vector-scalar operations.
2361 2013-05-03  Marek Polacek  <polacek@redhat.com>
2363         Backport from mainline
2364         2013-04-25  Marek Polacek  <polacek@redhat.com>
2366         PR tree-optimization/57066
2367         * builtins.c (fold_builtin_logb): Return +Inf for -Inf.
2369 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
2371         Backport from mainline
2372         2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
2374         * lra-constraints.c (process_alt_operands): Add checking alt
2375         number to choose the best alternative.
2377         2013-05-01  Vladimir Makarov  <vmakarov@redhat.com>
2379         PR target/57091
2380         * lra-constraints.c (best_small_class_operands_num): Remove.
2381         (process_alt_operands): Remove small_class_operands_num.  Take
2382         small classes operands into losers and only if the operand is not
2383         matched.  Modify debugging output.
2384         (curr_insn_transform): Remove best_small_class_operands_num.
2385         Print insn name.
2387 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
2389         Backport from mainline
2390         2013-04-29  Vladimir Makarov  <vmakarov@redhat.com>
2392         PR target/57097
2393         * lra-constraints.c (process_alt_operands): Discourage a bit more
2394         using memory for pseudos.  Print cost dump for alternatives.
2395         Modify cost values for conflicts with early clobbers.
2396         (curr_insn_transform): Spill pseudos reassigned to NO_REGS.
2398 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
2400         Backport from mainline
2401         2013-04-24  Vladimir Makarov  <vmakarov@redhat.com>
2403         PR rtl-optimizations/57046
2404         * lra-constraints (split_reg): Set up lra_risky_transformations_p
2405         for multi-reg splits.
2407 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
2409         Backport from mainline
2410         2013-04-22  Vladimir Makarov  <vmakarov@redhat.com>
2412         PR target/57018
2413         * lra-eliminations.c (mark_not_eliminable): Prevent elimination of
2414         a set sp if no stack realignment.
2416 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
2418         Backport from mainline
2419         2013-04-18  Vladimir Makarov  <vmakarov@redhat.com>
2421         PR rtl-optimization/56999
2422         * lra-coalesce.c (coalescable_pseudo_p): Remove 2nd parameter and
2423         related code.
2424         (lra_coalesce): Remove split_origin_bitmap and related code.
2425         * lra.c (lra): Coalesce after undoing inheritance. Recreate live
2426         ranges if necessary.
2428 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
2430         Backport from mainline
2431         2013-04-19  Vladimir Makarov  <vmakarov@redhat.com>
2433         PR rtl-optimization/56847
2434         * lra-constraints.c (process_alt_operands): Discourage alternative
2435         with non-matche doffsettable memory constraint fro memory with
2436         known offset.
2438 2013-05-02  Ian Bolton  <ian.bolton@arm.com>
2440         Backport from mainline
2441         2013-03-28  Ian Bolton  <ian.bolton@arm.com>
2443         * config/aarch64/aarch64.md (aarch64_can_eliminate): Keep frame
2444         record only when desired or required.
2446 2013-04-30  Jakub Jelinek  <jakub@redhat.com>
2448         PR tree-optimization/57104
2449         * tsan.c (instrument_expr): Don't instrument accesses to
2450         DECL_HARD_REGISTER VAR_DECLs.
2452 2013-04-30  Uros Bizjak  <ubizjak@gmail.com>
2454         Backport from mainline
2455         2013-04-29  Uros Bizjak  <ubizjak@gmail.com>
2457         PR target/44578
2458         * config/i386/i386.md (*zero_extendsidi2_rex64): Add "!" to m->?*y
2459         alternative.
2460         (*zero_extendsidi2): Ditto.
2462         Backport from mainline
2463         2013-04-29  Uros Bizjak  <ubizjak@gmail.com>
2465         PR target/57098
2466         * config/i386/i386.c (ix86_expand_vec_perm): Validize constant memory.
2468 2013-04-29  Richard Biener  <rguenther@suse.de>
2470         PR middle-end/57103
2471         * tree-cfg.c (move_stmt_op): Fix condition under which to update
2472         TREE_BLOCK.
2473         (move_stmt_r): Remove redundant checking.
2475 2013-04-29  Christian Bruel  <christian.bruel@st.com>
2477         PR target/57108
2478         * sh.md (tstsi_t_zero_extract_eq): Set mode for operand 0.
2480 2013-04-29  Jakub Jelinek  <jakub@redhat.com>
2482         PR tree-optimization/57083
2483         * tree-vrp.c (extract_range_from_binary_expr_1): For LSHIFT_EXPR with
2484         non-singleton shift count range, zero extend low_bound for uns case.
2486 2013-04-28  Eric Botcazou  <ebotcazou@gcc.gnu.org>
2488         * stor-layout.c (finalize_size_functions): Allocate a structure and
2489         reset cfun before dumping the functions.
2491 2013-04-27  Jakub Jelinek  <jakub@redhat.com>
2493         PR target/56866
2494         * config/i386/i386.c (ix86_expand_mul_widen_evenodd): Don't
2495         use xop_pmacsdqh if uns_p.
2496         * config/i386/sse.md (xop_rotr<mode>3): Fix up computation of
2497         the immediate rotate count.
2499 2013-04-25  Jakub Jelinek  <jakub@redhat.com>
2501         PR rtl-optimization/57003
2502         * regcprop.c (copyprop_hardreg_forward_1): If ksvd.ignore_set_reg,
2503         call note_stores with kill_clobbered_value callback again after
2504         killing regs_invalidated_by_call.
2506 2013-04-25  Ian Bolton  <ian.bolton@arm.com>
2508         Backported from mainline.
2509         2013-03-22  Ian Bolton  <ian.bolton@arm.com>
2511         * config/aarch64/aarch64.c (aarch64_print_operand): New
2512         format specifier for printing a constant in hex.
2513         * config/aarch64/aarch64.md (insv_imm<mode>): Use the X
2514         format specifier for printing second operand.
2516 2013-04-24  James Greenhalgh  <james.greenhalgh@arm.com>
2518         Backported from mainline.
2519         2013-04-24  James Greenhalgh  <james.greenhalgh@arm.com>
2521         * config/aarch64/arm_neon.h (vld1<q>_lane*): Fix constraints.
2522         (vld1<q>_dup_<sufp><8, 16, 32, 64>): Likewise.
2523         (vld1<q>_<sufp><8, 16, 32, 64>): Likewise.
2525 2013-04-24  Greta Yorsh  <Greta.Yorsh@arm.com>
2527         Backported from mainline.
2528         PR target/56797
2529         * config/arm/arm.c (load_multiple_sequence): Require SP
2530         as base register for loads if SP is in the register list.
2532 2013-04-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2533             Steven Bosscher <steven@gcc.gnu.org>
2535         Backported from mainline.
2536         PR rtl-optimization/56605
2537         * loop-iv.c (implies_p): Handle equal RTXs and subregs.
2539 2013-04-22  Marek Polacek  <polacek@redhat.com>
2541         Backported from mainline.
2542         2013-04-22  Marek Polacek  <polacek@redhat.com>
2544         PR sanitizer/56990
2545         * tsan.c (instrument_expr): Don't instrument expression
2546         in case its size is zero.
2548 2013-04-22  Yufeng Zhang  <yufeng.zhang@arm.com>
2550         Backported from mainline.
2551         2013-04-10  Yufeng Zhang  <yufeng.zhang@arm.com>
2552         * config/aarch64/aarch64.c (aarch64_print_extension): New function.
2553         (aarch64_start_file): Use the new function.
2555 2013-04-18  Jakub Jelinek  <jakub@redhat.com>
2557         PR tree-optimization/56984
2558         * tree-vrp.c (register_edge_assert_for_2): For (x >> M) < N
2559         and (x >> M) >= N don't register any assertion if N << M is the
2560         minimum value.
2562 2013-04-17  David Edelsohn  <dje.gcc@gmail.com>
2564         PR target/56948
2565         * config/rs6000/vsx.md (vsx_mov<mode>): Add j->r alternative.
2567 2013-04-15  Jakub Jelinek  <jakub@redhat.com>
2569         PR tree-optimization/56962
2570         * gimple-ssa-strength-reduction.c (record_increment): Only set
2571         initializer if gimple_assign_rhs_code is {,POINTER_}PLUS_EXPR and
2572         either rhs1 or rhs2 is equal to c->base_expr.
2574 2013-04-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2576         * emit-rtl.c (reset_all_used_flags): New function.
2577         (verify_rtl_sharing): Call reset_all_used_flags before and after
2578         performing the checks.
2580 2013-04-15  Eric Botcazou  <ebotcazou@adacore.com>
2582         PR target/56890
2583         * config/sparc/sparc.c (enum sparc_mode_class): Add H_MODE value.
2584         (S_MODES): Set H_MODE bit.
2585         (SF_MODES): Set only S_MODE and SF_MODE bits.
2586         (DF_MODES): Set SF_MODES and only D_MODE and DF_MODE bits.
2587         (sparc_init_modes) <MODE_INT>: Set H_MODE bit for sub-word modes.
2588         <MODE_VECTOR_INT>: Do not set SF_MODE for sub-word modes.
2589         <MODE_FLOAT>: Likewise.
2591 2013-04-12  Vladimir Makarov  <vmakarov@redhat.com>
2593         PR target/56903
2594         * config/i386/i386.c (ix86_hard_regno_mode_ok): Add
2595         lra_in_progress for return.
2597 2013-04-12  Jakub Jelinek  <jakub@redhat.com>
2599         PR tree-optimization/56918
2600         PR tree-optimization/56920
2601         * fold-const.c (int_const_binop_1): Use op1.mul_with_sign (op2, ...)
2602         instead of op1 - op2.  Pass 2 * TYPE_PRECISION (type) as second
2603         argument to rshift method.
2605 2013-04-12  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2607         * ifcvt.c (end_ifcvt_sequence): Mark a and b for unsharing as
2608         well.
2610 2013-04-11  Marek Polacek  <polacek@redhat.com>
2612         PR tree-optimization/48184
2613         * params.def (PARAM_ALIGN_THRESHOLD): Increase the minimum
2614         value to 1.
2616 2013-04-11  James Greenhalgh  <james.greenhalgh@arm.com>
2618         Backported from mainline.
2619         2013-04-11  James Greenhalgh  <james.greenhalgh@arm.com>
2621         * config/aarch64/aarch64-simd.md (aarch64_vcond_internal): Fix
2622         floating-point vector comparisons against 0.
2624 2013-04-11  Jakub Jelinek  <jakub@redhat.com>
2626         PR tree-optimization/56899
2627         * fold-const.c (extract_muldiv_1): Apply distributive law
2628         only if TYPE_OVERFLOW_WRAPS (ctype).
2630 2013-04-10  David S. Miller  <davem@davemloft.net>
2632         * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=supersparc
2633         or -mcpu=hypersparc.
2635 2013-04-10  Jakub Jelinek  <jakub@redhat.com>
2637         Backported from mainline
2638         2013-04-09  Jakub Jelinek  <jakub@redhat.com>
2640         PR middle-end/56883
2641         * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
2642         expand_omp_for_static_chunk): Use simple_p = true in
2643         force_gimple_operand_gsi calls when assigning to addressable decls.
2645 2013-04-09  Marek Polacek  <polacek@redhat.com>
2647         PR tree-optimization/48762
2648         * params.def (PARAM_MAX_CSE_INSNS): Increase the minimum
2649         value to 1.
2651 2013-04-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2653         * config/s390/s390.c (s390_expand_insv): Only accept insertions
2654         within mode size.
2656 2013-04-08  Marek Polacek  <polacek@redhat.com>
2658         PR rtl-optimization/48182
2659         * params.def (PARAM_MIN_CROSSJUMP_INSNS): Increase the minimum
2660         value to 1.
2662 2013-04-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2664         PR target/55487
2665         * config/pa/pa.c (legitimize_pic_address): Before incrementing label
2666         nuses, make sure we have a label.
2668 2013-04-04  Ian Lance Taylor  <iant@google.com>
2670         Backport from mainline:
2671         * doc/standards.texi (Standards): The Go frontend supports the Go
2672         1 language standard.
2674 2013-04-04  Marek Polacek  <polacek@redhat.com>
2676         Backport from mainline:
2677         2013-04-04  Marek Polacek  <polacek@redhat.com>
2679         PR tree-optimization/48186
2680         * predict.c (maybe_hot_frequency_p): Return false if
2681         HOT_BB_FREQUENCY_FRACTION is 0.
2682         (cgraph_maybe_hot_edge_p): Likewise.
2684 2013-04-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2686         Backport from mainline:
2687         2013-03-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2689         PR target/56720
2690         * config/arm/iterators.md (v_cmp_result): New mode attribute.
2691         * config/arm/neon.md (vcond<mode><mode>): Handle unordered cases.
2693 2013-04-04  Richard Biener  <rguenther@suse.de>
2695         PR tree-optimization/56837
2696         * tree-loop-distribution.c (classify_partition): For non-zero
2697         values require that the value has the same precision as its
2698         mode to be useful as memset value.
2700 2013-04-03  Roland McGrath  <mcgrathr@google.com>
2702         Backport from mainline:
2703         2013-03-26  Roland McGrath  <mcgrathr@google.com>
2705         * config/arm/arm.c (arm_print_operand: case 'w'): Use fputs rather
2706         than fprintf with a non-constant, non-format string.
2708 2013-04-03  Marek Polacek  <polacek@redhat.com>
2710         Backport from mainline:
2711         2013-04-03  Marek Polacek  <polacek@redhat.com>
2713         PR sanitizer/55702
2714         * tsan.c (instrument_func_exit): Allow BUILT_IN_RETURN
2715         functions.
2717 2013-04-03  Richard Biener  <rguenther@suse.de>
2719         PR tree-optimization/56817
2720         * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely):
2721         Split out ...
2722         (tree_unroll_loops_completely_1): ... new function to manually
2723         walk the loop tree, properly defering outer loops of unrolled
2724         loops to later iterations.
2726 2013-04-02  Jakub Jelinek  <jakub@redhat.com>
2728         PR rtl-optimization/56745
2729         * ifcvt.c (cond_exec_find_if_block): Don't try to optimize
2730         if then_bb has no successors and else_bb is EXIT_BLOCK_PTR.
2732 2013-04-02  Wei Mi  <wmi@google.com>
2734         * config/i386/i386.c (ix86_rtx_costs): Set proper rtx cost for
2735         ashl<mode>3_mask, *<shift_insn><mode>3_mask and
2736         *<rotate_insn><mode>3_mask in i386.md.
2738 2013-04-01  Wei Mi  <wmi@google.com>
2740         * config/i386/i386.md (*ashl<mode>3_mask): Rewrite as define_insn.
2741         Truncate operand 2 using %b asm operand modifier.
2742         (*<shift_insn><mode>3_mask): Ditto.
2743         (*<rotate_insn><mode>3_mask): Ditto.
2745 2013-04-01  Uros Bizjak  <ubizjak@gmail.com>
2747         * config/i386/i386.md (*movsf_internal): Change type of
2748         alternatives 3,4 to imov.
2750 2013-03-29  Paolo Carlini  <paolo.carlini@oracle.com>
2752         PR lto/56777
2753         * doc/invoke.texi ([-fwhole-program]): Fix typo.
2755 2013-03-29  Kirill Yukhin  <kirill.yukhin@intel.com>
2757         * config/i386/avx2intrin.h (_mm256_broadcastsi128_si256):
2758         Fix declaration name.
2760 2013-03-28  Gerald Pfeifer  <gerald@pfeifer.com>
2762         * doc/invoke.texi (AVR Options): Tweak link for AVR-LibC user manual.
2763         * doc/extend.texi (Named Address Spaces): Ditto.
2764         (Variable Attributes): Ditto.
2766 2013-03-28  Eric Botcazou  <ebotcazou@adacore.com>
2768         * toplev.c (process_options): Do not disable -fomit-frame-pointer on a
2769         general basis if unwind info is requested and ACCUMULATE_OUTGOING_ARGS
2770         is not enabled.
2772 2013-03-27  Walter Lee  <walt@tilera.com>
2774         Backport from mainline:
2775         2013-03-27  Walter Lee  <walt@tilera.com>
2777         * config/tilegx/tilegx.c (tilegx_expand_prologue): Avoid
2778         double-decrement of next_scratch_regno.
2780 2013-03-27  Walter Lee  <walt@tilera.com>
2782         Backport from mainline:
2783         2013-03-27  Walter Lee  <walt@tilera.com>
2785         * config/tilegx/tilegx.md (insn_v1mulu): Fix predicates on
2786         input operands.
2787         (insn_v1mulus): Ditto.
2788         (insn_v2muls): Ditto.
2790 2013-03-27  Walter Lee  <walt@tilera.com>
2792         Backport from mainline:
2793         2013-03-27  Walter Lee  <walt@tilera.com>
2795         * config/tilegx/tilegx.h (ASM_OUTPUT_ADDR_VEC_ELT): Delete
2796         extra tab.
2797         (ASM_OUTPUT_ADDR_DIFF_ELT): Ditto.
2799 2013-03-27  Walter Lee  <walt@tilera.com>
2801         Backport from mainline:
2802         2013-03-27  Walter Lee  <walt@tilera.com>
2804         * config/tilegx/tilegx.md (*sibcall_insn): Fix type atribute for jr.
2805         (*sibcall_value): Ditto.
2807 2013-03-27  Walter Lee  <walt@tilera.com>
2809         Backport from mainline:
2810         2013-03-27  Walter Lee  <walt@tilera.com>
2812         * config/tilegx/tilegx.md (insn_mnz_<mode>): Replaced by ...
2813         (insn_mnz_v8qi): ... this ...
2814         (insn_mnz_v4hi): ... and this.  Replace (const_int 0) with the
2815         vector equivalent.
2816         (insn_v<n>mnz): Replaced by ...
2817         (insn_v1mnz): ... this ...
2818         (insn_v2mnz): ... and this.  Replace (const_int 0) with the vector
2819         equivalent.
2820         (insn_mz_<mode>): Replaced by ...
2821         (insn_mz_v8qi): ... this ...
2822         (insn_mz_v4hi): ... and this.  Replace (const_int 0) with the
2823         vector equivalent.
2824         (insn_v<n>mz): Replaced by ...
2825         (insn_v1mz): ... this ...
2826         (insn_v2mz): ... and this.  Replace (const_int 0) with the vector
2827         equivalent.
2829 2013-03-26  Eric Botcazou  <ebotcazou@adacore.com>
2831         * doc/invoke.texi (SPARC options): Remove -mlittle-endian.
2833 2013-03-26  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2835         * config/rtems.opt: Add -pthread option.
2837 2013-03-26  Sofiane Naci  <sofiane.naci@arm.com>
2839         * config/aarch64/aarch64.c (aarch64_classify_address): Support
2840         PC-relative load in SI modes and above only.
2842 2013-03-26  Walter Lee  <walt@tilera.com>
2844         Backport from mainline:
2845         2013-03-26  Walter Lee  <walt@tilera.com>
2847         * config/tilegx/tilegx.h (PROFILE_BEFORE_PROLOGUE): Define.
2848         * config/tilegx/tilepro.h (PROFILE_BEFORE_PROLOGUE): Define.
2850 2013-03-26  Walter Lee  <walt@tilera.com>
2852         Backport from mainline:
2853         2013-03-25  Walter Lee  <walt@tilera.com>
2855         * config/tilegx/tilegx-builtins.h (enum tilegx_builtin): Add
2856         TILEGX_INSN_SHUFFLEBYTES1.
2857         * config/tilegx/tilegx.c (tilegx_builtin_info): Add entry for
2858         shufflebytes1.
2859         (tilegx_builtins): Ditto.
2860         * config/tilegx/tilegx.md (insn_shufflebytes1): New pattern.
2862 2013-03-26  Walter Lee  <walt@tilera.com>
2864         Backport from mainline:
2865         2013-03-25  Walter Lee  <walt@tilera.com>
2867         * config/tilegx/tilegx.c (expand_set_cint64_one_inst): Inline
2868         tests for constraint J, K, N, P.
2870 2013-03-26  Walter Lee  <walt@tilera.com>
2872         Backport from mainline:
2873         2013-03-25  Walter Lee  <walt@tilera.com>
2875         * config/tilegx/tilegx.c (tilegx_asm_preferred_eh_data_format):
2876         Use indirect/pcrel encoding.
2877         * config/tilepro/tilepro.c (tilepro_asm_preferred_eh_data_format):
2878         Ditto.
2880 2013-03-25  Richard Biener  <rguenther@suse.de>
2882         PR middle-end/56694
2883         * tree-eh.c (lower_eh_must_not_throw): Strip BLOCKs from the
2884         must-not-throw stmt location.
2886 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
2888         * BASE-VER: Set to 4.8.1.
2889         * DEV-PHASE: Set to prerelease.
2891 2013-03-22  Release Manager
2893         * GCC 4.8.0 released.
2895 2013-03-21  Walter Lee  <walt@tilera.com>
2897         * config/tilegx/sync.md (atomic_test_and_set): New pattern.
2899 2013-03-21  Mark Wielaard  <mjw@redhat.com>
2901         * dwarf2out.c (size_of_aranges): Skip DECL_IGNORED_P functions.
2903 2013-03-20  Richard Biener  <rguenther@suse.de>
2905         PR tree-optimization/56661
2906         * tree-ssa-sccvn.c (visit_use): Only value-number calls if
2907         the result does not have to be distinct.
2909 2013-03-20  Jakub Jelinek  <jakub@redhat.com>
2911         PR tree-optimization/56635
2912         * tree-ssa-phiopt.c (cond_if_else_store_replacement_1): Give up
2913         if lhs of then_assign and else_assign don't have compatible types.
2915 2013-03-17  Jakub Jelinek  <jakub@redhat.com>
2917         PR target/56640
2918         * config/arm/arm.h (REG_CLASS_NAMES): Add "SFP_REG" and "AFP_REG"
2919         class names.  Remove trailing comma after "ALL_REGS".
2921 2013-03-16  Jakub Jelinek  <jakub@redhat.com>
2923         * DEV-PHASE: Set to prerelease.
2925 2013-03-14  Andi Kleen  <ak@linux.intel.com>
2927         PR target/56619
2928         * doc/extend.texi: Document __ATOMIC_HLE_ACQUIRE,
2929         __ATOMIC_HLE_RELEASE. Document __builtin_ia32 TSX intrincs.
2930         Document _x* TSX intrinsics.
2932 2013-03-14  Edgar E. Iglesias <edgar.iglesias@xilinx.com>
2933             David Holsgrove <david.holsgrove@xilinx.com>
2935         * configure.ac: Add MicroBlaze TLS support detection.
2936         * configure: Regenerate.
2937         * config/microblaze/microblaze-protos.h
2938         (microblaze_cannot_force_const_mem, microblaze_tls_referenced_p,
2939         symbol_mentioned_p, label_mentioned_p): Add prototypes.
2940         * config/microblaze/microblaze.c (microblaze_address_type): Add
2941         ADDRESS_TLS and tls_reloc address types.
2942         (microblaze_address_info): Add tls_reloc.
2943         (TARGET_HAVE_TLS): Define.
2944         (get_tls_get_addr, microblaze_tls_symbol_p, microblaze_tls_operand_p_1,
2945         microblaze_tls_referenced_p, microblaze_cannot_force_const_mem,
2946         symbol_mentioned_p, label_mentioned_p, tls_mentioned_p,
2947         load_tls_operand, microblaze_call_tls_get_addr,
2948         microblaze_legitimize_tls_address): New functions.
2949         (microblaze_classify_unspec): Handle UNSPEC_TLS.
2950         (get_base_reg): Use microblaze_tls_symbol_p.
2951         (microblaze_classify_address): Handle TLS.
2952         (microblaze_legitimate_pic_operand): Use symbol_mentioned_p,
2953         label_mentioned_p and microblaze_tls_referenced_p.
2954         (microblaze_legitimize_address): Handle TLS.
2955         (microblaze_address_insns): Handle ADDRESS_TLS.
2956         (pic_address_needs_scratch): Handle TLS.
2957         (print_operand_address): Handle TLS.
2958         (microblaze_expand_prologue): Check TLS_NEEDS_GOT.
2959         (microblaze_expand_move): Handle TLS.
2960         (microblaze_legitimate_constant_p): Check
2961         microblaze_cannot_force_const_mem and microblaze_tls_symbol_p.
2962         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
2963         * config/microblaze/microblaze.h (TLS_NEEDS_GOT): Define
2964         (PIC_OFFSET_TABLE_REGNUM): Set.
2965         * config/microblaze/linux.h (TLS_NEEDS_GOT): Define.
2966         * config/microblaze/microblaze.md (UNSPEC_TLS): Define.
2967         (addsi3, movsi_internal2, movdf_internal): Update constraints
2968         * config/microblaze/predicates.md (arith_plus_operand): Define
2969         (move_operand): Redefine as move_src_operand, check
2970         microblaze_tls_referenced_p.
2972 2013-03-14  Ian Bolton  <ian.bolton@arm.com>
2974         * config/aarch64/aarch64.md: (*and<mode>3nr_compare0): Use CC_NZ.
2975         (*and_<SHIFT:optab><mode>3nr_compare0): Likewise.
2977 2013-03-14  Ian Bolton  <ian.bolton@arm.com>
2979         * config/aarch64/aarch64.c (aarch64_select_cc_mode): Return correct
2980         CC mode for AND.
2982 2013-03-14  Jakub Jelinek  <jakub@redhat.com>
2984         PR tree-optimization/53265
2985         * common.opt (Waggressive-loop-optimizations): New option.
2986         * tree-ssa-loop-niter.c: Include tree-pass.h.
2987         (do_warn_aggressive_loop_optimizations): New function.
2988         (record_estimate): Call it.  Don't add !is_exit bounds to loop->bounds
2989         if number_of_latch_executions returned constant.
2990         (estimate_numbers_of_iterations_loop): Call number_of_latch_executions
2991         early.  If number_of_latch_executions returned constant, set
2992         nb_iterations_upper_bound back to it.
2993         * cfgloop.h (struct loop): Add warned_aggressive_loop_optimizations
2994         field.
2995         * Makefile.in (tree-ssa-loop-niter.o): Depend on $(TREE_PASS_H).
2996         * doc/invoke.texi (-Wno-aggressive-loop-optimizations): Document.
2998         * config/aarch64/t-aarch64-linux (MULTARCH_DIRNAME): Remove.
2999         (MULTILIB_OSDIRNAMES): Set.
3000         * genmultilib: If defaultosdirname doesn't start with :: , set
3001         defaultosdirname2 instead, clear it and emit two . multilib_raw
3002         entries instead of just one.
3004 2013-03-14  Kaz Kojima  <kkojima@gcc.gnu.org>
3006         * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
3007         (SUBTARGET_OVERRIDE_OPTIONS): Set TARGET_USERMODE as default.
3008         * config/sh/netbsd-elf.h (TARGET_DEFAULT): Remove MASK_USERMODE.
3009         (SUBTARGET_OVERRIDE_OPTIONS): New.
3011 2013-03-13  Oleg Endo  <olegendo@gcc.gnu.org>
3013         PR target/49880
3014         * config/sh/sh.opt (FPU_SINGLE_ONLY): New mask.
3015         (musermode): Convert to Var(TARGET_USERMODE).
3016         * config/sh/sh.h (SELECT_SH2A_SINGLE_ONLY, SELECT_SH4_SINGLE_ONLY,
3017         MASK_ARCH): Add MASK_FPU_SINGLE_ONLY.
3018         * config/sh/sh.c (sh_option_override): Use
3019         TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY for call-fp case.
3020         * config/sh/sh.md (udivsi3_i1, divsi3_i1): Remove ! TARGET_SH4
3021         condition.
3022         (udivsi3_i4, divsi3_i4): Use TARGET_FPU_DOUBLE condition instead of
3023         TARGET_SH4.
3024         (udivsi3_i4_single, divsi3_i4_single): Use
3025         TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE instead of TARGET_HARD_SH4.
3027 2013-03-13  Dave Korn  <dave.korn.cygwin@....>
3029         * config/i386/cygwin.h (SHARED_LIBGCC_SPEC): Make shared libgcc the
3030         default setting.
3032 2013-03-13  Richard Biener  <rguenther@suse.de>
3034         PR tree-optimization/56608
3035         * tree-vect-slp.c (vect_schedule_slp): Do not remove scalar
3036         calls when vectorizing basic-blocks.
3038 2013-03-13  Jakub Jelinek  <jakub@redhat.com>
3040         PR plugins/45078
3041         * config.gcc: On arm, mips, sh and sparc add vxworks-dummy.h to
3042         tm_file.
3044 2013-03-12  Jakub Jelinek  <jakub@redhat.com>
3046         * doc/invoke.texi (-Waddr-space-convert): Move into the table earlier.
3048 2013-03-11  Jan Hubicka  <jh@suse.cz>
3050         PR lto/56557
3051         * lto-streamer-out.c (output_symbol_p): Skip references from
3052         constructors of external variables.
3054 2013-03-11  Jan Hubicka  <jh@suse.cz>
3056         PR middle-end/56571
3057         * valtrack.c (cleanup_auto_inc_dec): Unshare clobbers originating
3058         from pseudos.
3059         * emit-rtl.c (verify_rtx_sharing): Likewise.
3060         (copy_insn_1): Likewise.
3061         * rtl.c (copy_rtx): Likewise.
3063 2013-03-11  Georg-Johann Lay  <avr@gjlay.de>
3065         PR target/56591
3066         * config/avr/avr.c (avr_print_operand): Add space after '%c' in
3067         output_operand_lossage message.
3069 2013-03-11  Richard Earnshaw  <rearnsha@arm.com>
3071         PR target/56470
3072         * arm.c (shift_op): Validate RTL pattern on the fly.
3073         (arm_print_operand, case 'S'): Don't use shift_operator to validate
3074         the RTL.
3076 2013-03-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3078         PR target/56347
3079         * config/pa/pa.md (call_value): Check for calls to powf and direct to
3080         new call patterns that clobber %fr12.
3081         (call_val_powf, call_val_powf_pic, call_val_powf_64bit): New insn,
3082         split and postreload patterns.
3083         * config/pa/pa.c (pa_conditional_register_usage): Revert marking
3084         registers %fr12 and %fr12R as call used.
3086 2013-03-09  Steven Bosscher  <steven@gcc.gnu.org>
3088         * dse.c (delete_dead_store_insn): Respect TDF_DETAILS.
3089         (canon_address, record_store, replace_read, check_mem_read_rtx,
3090         scan_insn, dse_step1, dse_step2_init, dse_step2_spill,
3091         dse_step4, dse_step5_nospill, dse_step5_spill, dse_step6,
3092         rest_of_handle_dse): Likewise.
3094 2013-03-09  Richard Sandiford  <rdsandiford@googlemail.com>
3096         PR middle-end/56524
3097         * tree.h (tree_optimization_option): Rename target_optabs to optabs.
3098         Add base_optabs.
3099         (TREE_OPTIMIZATION_OPTABS): Update after previous field change.
3100         (TREE_OPTIMIZATION_BASE_OPTABS): New macro.
3101         (save_optabs_if_changed): Replace with...
3102         (init_tree_optimization_optabs): ...this.
3103         * optabs.c (save_optabs_if_changed): Rename to...
3104         (init_tree_optimization_optabs): ...this.  Take the optimization node
3105         as argument.  Do nothing if the base optabs are already correct.
3106         Reuse the existing TREE_OPTIMIZATION_OPTABS memory if we need
3107         to recompute optabs.
3108         * function.h (function): Remove optabs field.
3109         * function.c (invoke_set_current_function_hook): Call
3110         init_tree_optimization_optabs.  Use the result to initialize
3111         this_fn_optabs.
3113 2013-02-27  Aldy Hernandez  <aldyh@redhat.com>
3115         * trans-mem.c (expand_transaction): Do not set PR_INSTRUMENTEDCODE
3116         if GTMA_HAS_NO_INSTRUMENTATION.
3117         (generate_tm_state): Keep GTMA_HAS_NO_INSTRUMENTATION bit.
3118         (ipa_tm_transform_transaction): Set GTMA_HAS_NO_INSTRUMENTATION.
3119         * gimple.h (GTMA_HAS_NO_INSTRUMENTATION): Define.
3120         * gimple-pretty-print.c (dump_gimple_transaction): Handle
3121         GTMA_HAS_NO_INSTRUMENTATION.
3123 2013-03-08  Jakub Jelinek  <jakub@redhat.com>
3125         * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Don't link against
3126         libasan_preinit.o.
3128 2013-03-08  Marek Polacek  <polacek@redhat.com>
3129             Jakub Jelinek  <jakub@redhat.com>
3131         PR tree-optimization/56478
3132         * predict.c (is_comparison_with_loop_invariant_p): Change the
3133         type of loop_step to tree.
3134         (predict_loops): Adjust.
3135         (predict_iv_comparison): Perform the computations on double_ints.
3137 2013-03-08  Richard Biener  <rguenther@suse.de>
3139         PR tree-optimization/56570
3140         * tree-cfg.c (verify_expr_location_1): Verify locations for
3141         DECL_DEBUG_EXPR.
3142         * tree-sra.c (create_access_replacement): Strip locations
3143         from DECL_DEBUG_EXPRs.
3145 2013-03-08  Richard Biener  <rguenther@suse.de>
3147         * tree-inline.c (expand_call_inline): Do not associate
3148         a BLOCK with the location in BLOCK_SOURCE_LOCATION.
3149         * tree-cfg.c (verify_location): Verify BLOCK_SOURCE_LOCATION.
3151 2013-03-08  Richard Biener  <rguenther@suse.de>
3153         * tree-ssa-ter.c (is_replaceable_p): Do not TER across location
3154         or block changes with -Og.  Fix for location / block encoding
3155         changes and PHI arguments with locations.
3157 2013-03-07  Steven Bosscher  <steven@gcc.gnu.org>
3159         * bitmap.c (struct bitmap_descriptor_d): Use unsigned HOST_WIDEST_INT
3160         for all counters.
3161         (struct output_info): Likewise.
3162         (register_overhead): Remove bad gcc_assert.
3163         (bitmap_find_bit): If there is only a single bitmap element, do not
3164         count a miss as a search.
3165         (print_statistics): Update for counter type changes.
3166         (dump_bitmap_statistics): Likewise.  Print headers such that they
3167         are properly lined up with the printed counters.
3169 2013-03-07  Jakub Jelinek  <jakub@redhat.com>
3171         PR tree-optimization/56559
3172         * tree-ssa-reassoc.c (zero_one_operation): When looking at rhs2,
3173         check that it has only a single use.
3175 2013-03-07  Richard Biener  <rguenther@suse.de>
3177         * doc/invoke.texi (fwhole-program): Discourage use in combination
3178         with -flto.
3180 2013-03-06  Jakub Jelinek  <jakub@redhat.com>
3182         * config/arm/t-arm (TM_H, OPTIONS_H_EXTRA): Add arm-cores.def.
3184         PR tree-optimization/56539
3185         * tree-tailcall.c (adjust_return_value_with_ops): Use GSI_SAME_STMT
3186         instead of GSI_CONTINUE_LINKING as last argument to
3187         force_gimple_operand_gsi.  Adjust function comment.
3189         * config/aarch64/t-aarch64 (TM_H, OPTIONS_H_EXTRA): Add
3190         aarch64-cores.def.
3192         PR middle-end/56548
3193         * expr.c (expand_cond_expr_using_cmove): When expanding cmove in
3194         promoted mode, convert the result back to the original mode.
3196 2013-03-06  Richard Biener  <rguenther@suse.de>
3198         PR middle-end/56294
3199         * tree-into-ssa.c (insert_phi_nodes_for): Add dumping.
3200         (insert_updated_phi_nodes_compare_uids): New function.
3201         (update_ssa): Sort symbols_to_rename after UID before
3202         traversing it to insert PHI nodes.
3204 2013-03-06  Richard Biener  <rguenther@suse.de>
3206         PR middle-end/50494
3207         * tree-vect-data-refs.c (vect_can_force_dr_alignment_p):
3208         Do not adjust alignment of DECL_IN_CONSTANT_POOL decls.
3210         Revert
3211         2013-02-13  Richard Biener  <rguenther@suse.de>
3213         PR lto/50494
3214         * varasm.c (output_constant_def_1): Get the decl representing
3215         the constant as argument.
3216         (output_constant_def): Wrap output_constant_def_1.
3217         (make_decl_rtl): Use output_constant_def_1 with the decl
3218         representing the constant.
3219         (build_constant_desc): Optionally re-use a decl already
3220         representing the constant.
3221         (tree_output_constant_def): Adjust.
3223 2013-03-06  Joey Ye  <joey.ye@arm.com>
3225         PR lto/50293
3226         * gcc.c (convert_white_space): New function.
3227         (main): Handles white space in function name.
3229 2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
3231         PR target/56529
3232         * config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT
3233         instead of TARGET_SH2 for call-table case.  Do not set sh_div_strategy
3234         to SH_DIV_CALL_TABLE for TARGET_SH2.
3235         * config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib
3236         list.
3237         * doc/invoke.texi (SH options): Document mdiv= call-div1, call-fp,
3238         call-table options.
3240 2013-03-05  Sterling Augustine  <saugustine@google.com>
3241             Cary Coutant  <ccoutant@google.com>
3243         PR debug/55364
3244         * dwarf2out.c (resolve_addr): Don't call
3245         remove_loc_list_addr_table_entries a second time for the same
3246         expression.
3248 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
3250         PR debug/56510
3251         * cfgexpand.c (expand_debug_parm_decl): Call copy_rtx on incoming.
3252         (avoid_complex_debug_insns): New function.
3253         (expand_debug_locations): Call it.
3255         PR rtl-optimization/56484
3256         * ifcvt.c (noce_process_if_block): If else_bb is NULL, avoid extending
3257         lifetimes of hard registers on small register class machines.
3259 2013-03-05  David Holsgrove  <david.holsgrove@xilinx.com>
3261         * config/microblaze/microblaze-protos.h: Rename
3262         microblaze_is_interrupt_handler to microblaze_is_interrupt_variant.
3263         * config/microblaze/microblaze.c (microblaze_attribute_table): Add
3264         fast_interrupt.
3265         (microblaze_fast_interrupt_function_p): New function.
3266         (microblaze_is_interrupt_handler): Rename to
3267         microblaze_is_interrupt_variant and add fast_interrupt check.
3268         (microblaze_must_save_register): Use microblaze_is_interrupt_variant.
3269         (save_restore_insns): Likewise.
3270         (compute_frame_size): Likewise.
3271         (microblaze_function_prologue): Add FAST_INTERRUPT_NAME.
3272         (microblaze_globalize_label): Likewise.
3273         * config/microblaze/microblaze.h: Define FAST_INTERRUPT_NAME.
3274         * config/microblaze/microblaze.md: Use wrapper
3275         microblaze_is_interrupt_variant.
3277 2013-03-05  Kai Tietz  <ktietz@redhat.com>
3279         * sdbout.c (sdbout_one_type): Switch to current function's section
3280         supporting cold/hot.
3282 2013-03-05  David Holsgrove  <david.holsgrove@xilinx.com>
3284         * doc/invoke.texi (MicroBlaze): Add -mbig-endian, -mlittle-endian,
3285         -mxl-reorder.
3287 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
3289         PR middle-end/56461
3290         * ggc-common.c (gt_pch_save): For ENABLE_VALGRIND_CHECKING,
3291         if VALGRIND_GET_VBITS is defined, temporarily make object
3292         memory all defined, and restore previous valgrind addressability
3293         and definability afterwards.  Free this_object at the end.
3295         PR middle-end/56461
3296         * lra.c (lra): Call lra_clear_live_ranges if live_p,
3297         right before calling lra_create_live_ranges, also call it
3298         when clearing live_p.  Only call lra_clear_live_ranges
3299         at the end if live_p.
3301         PR middle-end/56461
3302         * sched-deps.c (delete_dep_node): Free DEP_REPLACE.
3304 2013-03-05  Richard Biener  <rguenther@suse.de>
3306         PR tree-optimization/56521
3307         * tree-ssa-sccvn.c (set_value_id_for_result): Always initialize
3308         value-id.
3310 2013-03-05  Steven Bosscher  <steven@gcc.gnu.org>
3312         PR c++/55135
3313         * except.h (remove_unreachable_eh_regions): New prototype.
3314         * except.c (remove_eh_handler_splicer): New function, split out
3315         of remove_eh_handler.
3316         (remove_eh_handler): Use remove_eh_handler_splicer.  Add comment
3317         warning about running it on many EH regions one at a time.
3318         (remove_unreachable_eh_regions_worker): New function, walk the
3319         EH tree in depth-first order and remove non-marked regions.
3320         (remove_unreachable_eh_regions): New function.
3321         * tree-eh.c (mark_reachable_handlers): New function, split out
3322         from remove_unreachable_handlers.
3323         (remove_unreachable_handlers): Use mark_reachable_handlers and
3324         remove_unreachable_eh_regions.
3325         (remove_unreachable_handlers_no_lp): Use mark_reachable_handlers
3326         and remove_unreachable_eh_regions.
3328 2013-03-05  Richard Biener  <rguenther@suse.de>
3330         PR middle-end/56525
3331         * loop-init.c (fix_loop_structure): Remove loops in two stages,
3332         not freeing them until the end.
3334 2013-03-05  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3336         * config/s390/s390.h: Define DWARF2_ASM_LINE_DEBUG_INFO.
3338 2013-03-05  Richard Biener  <rguenther@suse.de>
3340         PR tree-optimization/56270
3341         * tree-vect-slp.c (vect_schedule_slp): Clear vectorized stmts
3342         of loads after scheduling an SLP instance.
3344 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
3346         * Makefile.in (dg_target_exps): Add aarch64.exp, epiphany.exp and
3347         tic6x.exp.
3348         (check_gcc_parallelize): Run guality.exp as a separate job from
3349         vect.exp with unsorted.exp and $(dg_target_exps) separately from
3350         struct-layout-1.exp with stackalign.exp.
3352         * alias.c (init_alias_analysis): Clear reg_known_equiv_p bitmap.
3354         PR middle-end/56461
3355         * tree-vect-slp.c (vect_supported_load_permutation_p): Free
3356         load_index sbitmap even if some bit in it isn't set.
3358         PR middle-end/56461
3359         * tree-ssa-loop-niter.c (bb_queue): Remove typedef.
3360         (discover_iteration_bound_by_body_walk): Change queues to
3361         vec<vec<basic_block> > and queue to vec<basic_block>.  Fix up
3362         spelling in comment.  Call safe_push on queues[bound_index] directly.
3363         Release queues[queue_index] in every iteration unconditionally.
3364         Release bounds vector.
3366         PR middle-end/56461
3367         * tree-vect-stmts.c (free_stmt_vec_info_vec): Call
3368         free_stmt_vec_info on any left-over stmt_vec_info in the vector.
3369         * tree-vect-loop.c (vect_create_epilog_for_reduction): Release
3370         inner_phis vector.
3372 2013-03-05  Richard Biener  <rguenther@suse.de>
3374         PR lto/56515
3375         * tree-inline.c (remap_blocks_to_null): New function.
3376         (expand_call_inline): When expanding a call stmt without
3377         an associated block inline remap all callee blocks to NULL.
3379 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
3381         PR rtl-optimization/56494
3382         * simplify-rtx.c (simplify_truncation): If C is narrower than A,
3383         optimize (truncate:A (subreg:B (truncate:C X) 0)) into
3384         (subreg:A (truncate:C X) 0) instead of (truncate:A X).
3386         PR middle-end/56461
3387         * sel-sched-ir.c (free_sched_pools): Release
3388         succs_info_pool.stack[succs_info_pool.max_top] vectors too
3389         if succs_info_pool.max_top isn't -1.
3391         PR bootstrap/56509
3392         * opts.c (opts_obstack, opts_concat): Moved to...
3393         * opts-common.c (opts_obstack, opts_concat): ... here.
3395 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
3397         PR middle-end/56461
3398         * diagnostic.c (diagnostic_append_note): Save and restore old prefix.
3400 2013-03-04  Martin Jambor  <mjambor@suse.cz>
3402         * tree-dfa.c (get_or_create_ssa_default_def): Use parameter fn in
3403         all appropriate places.
3405 2013-01-04  Eric Botcazou  <ebotcazou@adacore.com>
3407         PR tree-optimization/56424
3408         * ipa-split.c (split_function): Do not set the RSO flag if result is
3409         not by reference and its type is a register type.
3411 2013-03-04  David Holsgrove  <david.holsgrove@xilinx.com>
3413         * config/microblaze/microblaze.c (microblaze_valid_pic_const): New.
3414         (microblaze_legitimate_pic_operand): Likewise.
3415         * config/microblaze/microblaze.h (LEGITIMATE_PIC_OPERAND_P): Call
3416         new function microblaze_legitimate_pic_operand.
3417         * config/microblaze/microblaze-protos.h
3418         (microblaze_legitimate_pic_operand): Declare.
3420 2013-03-04  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
3422         * config/microblaze/predicates.md (call_insn_simple_operand):
3423         New predicate for supported rtx code types.
3424         * config/microblaze/microblaze.md (call_internal1): Use
3425         call_insn_simple_operand predicate.
3427 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
3429         PR middle-end/56461
3430         * tree-loop-distribution.c (ldist_gen): Call partition_free after each
3431         partitions.ordered_remove.
3433         PR middle-end/56461
3434         * tree-vect-stmts.c (vectorizable_conversion): Don't call
3435         vec_oprnds0.create (1) for modifier == NONE.
3437         PR middle-end/56461
3438         * tree-vect-stmts.c (vectorizable_shift): Don't call create methods
3439         on vec_oprnds0 or vec_oprnds1 before loop, only call it on
3440         vec_oprnds1 right before pushing anything to it for
3441         scalar_shift_arg.
3443         PR middle-end/56461
3444         * tree-vect-loop.c (destroy_loop_vec_info): For !clean_stmts, just
3445         set nbbs to 0 instead of having separate code path.
3446         (vect_analyze_loop_form): Call destroy_loop_vec_info with true
3447         instead of false as last argument if returning NULL.
3449 2013-03-03  Sandra Loosemore  <sandra@codesourcery.com>
3451         * target.def (TARGET_OPTION_VALID_ATTRIBUTE_P): Update comments;
3452         the attribute is now called "target" instead of "option".
3453         (TARGET_OPTION_PRAGMA_PARSE): Likewise, for the pragma.
3454         * doc/tm.texi.in (Target Attributes):  Likewise document the correct
3455         attribute/pragma name for TARGET_OPTION_VALID_P and
3456         TARGET_OPTION_PRAGMA_PARSE.  Also copy-edit and correct markup.
3457         * doc/tm.texi: Regenerated.
3459 2013-03-02  David Holsgrove  <david.holsgrove@xilinx.com>
3461         * config/microblaze/microblaze.c:
3462         Check mcpu, pcmp requirement and set TARGET_REORDER to 0 if not met.
3463         * config/microblaze/microblaze.h: Add -mxl-reorder to
3464         DRIVER_SELF_SPECS.
3465         * config/microblaze/microblaze.md: New bswapsi2 and bswaphi2.
3466         instructions emitted if TARGET_REORDER.
3467         * config/microblaze/microblaze.opt: New option -mxl-reorder set to 1
3468         or 0 for -m/-mno case, but initialises as 2 to detect default use case
3469         separately.
3471 2013-03-01  Xinliang David Li  <davidxl@google.com>
3473         * tree-ssa-uninit.c (compute_control_dep_chain): Limit post-dom
3474         walk length.
3476 2013-03-01  Jakub Jelinek  <jakub@redhat.com>
3478         PR middle-end/56461
3479         * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Release path
3480         vector even when returning true.  Fix up function comment formatting.
3482         PR middle-end/56461
3483         * ira-build.c (ira_loop_nodes_count): New variable.
3484         (create_loop_tree_nodes): Initialize it.
3485         (finish_loop_tree_nodes): Use it instead of looking at current_loops.
3487         PR middle-end/56461
3488         * tree-vect-data-refs.c (vect_permute_store_chain): Avoid using copy
3489         method on dr_chain and result_chain.
3490         * tree-vect-stmts.c (vectorizable_store): Only call
3491         result_chain.create if j == 0.
3493         PR middle-end/56461
3494         * tree-vect-stmts.c (vect_create_vectorized_promotion_stmts): Call
3495         vec_oprnds0->release (); rather than vec_oprnds0->truncate (0)
3496         before overwriting it.
3498 2013-03-01  Tobias Burnus  <burnus@net-b.de>
3500         * doc/extended.texi (C Extensions): Change order in @menu
3501         to match @node.
3502         (Other MIPS Built-in Functions): Move last MIPS entry before
3503         "picoChip Built-in Functions".
3504         (SH Built-in Functions): Move after RX Built-in Functions.
3505         * doc/gcc.texi (Introduction): Change order in @menu to match @node.
3506         * doc/md.texi (Constraints): Ditto.
3507         * gty.texi (Type Information): Ditto.
3508         (User-provided marking routines for template types): Make subsection.
3509         * doc/invoke.texi (AArch64 Options): Move before
3510         "Adapteva Epiphany Options".
3512 2013-02-28  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>
3513             Jakub Jelinek  <jakub@redhat.com>
3515         PR sanitizer/56454
3516         * asan.c (gate_asan): Lookup no_sanitize_address instead of
3517         no_address_safety_analysis attribute.
3518         * doc/extend.texi (no_address_safety_attribute): Rename to
3519         no_sanitize_address attribute, mention no_address_safety_analysis
3520         attribute as deprecated alias.
3522 2013-02-28  Jakub Jelinek  <jakub@redhat.com>
3524         PR middle-end/56461
3525         * tree-vectorizer.h (vect_get_slp_defs): Change 3rd argument
3526         type to vec<vec<tree> > *.
3527         * tree-vect-slp.c (vect_get_slp_defs): Likewise.  Change vec_defs
3528         to be vec<tree> instead of vec<tree> *, set vec_defs
3529         to vNULL and call vec_defs.create (number_of_vects), adjust other
3530         uses of vec_defs.
3531         * tree-vect-stmts.c (vect_get_vec_defs, vectorizable_call,
3532         vectorizable_condition): Adjust vect_get_slp_defs callers.
3534 2013-02-28  James Greenhalgh  <james.greenhalgh@arm.com>
3536         * config/aarch64/aarch64.c
3537         (aarch64_float_const_representable): Remove unused variable.
3539 2013-02-28  James Greenhalgh  <james.greenhalgh@arm.com>
3541         * config/aarch64/aarch64.c (aarch64_mangle_type): Make static.
3543 2013-02-28  James Greenhalgh  <james.greenhalgh@arm.com>
3545         * config/aarch64/aarch64-builtins.c
3546         (aarch64_init_simd_builtins): Make static.
3548 2013-02-28  James Greenhalgh  <james.greenhalgh@arm.com>
3550         * config/aarch64/aarch64.c
3551         (aarch64_simd_make_constant): Make static.
3553 2013-02-28  Martin Jambor  <mjambor@suse.cz>
3555         * tree-sra.c (load_assign_lhs_subreplacements): Do not put replacements
3556         with no initialization to the RHS of debug statements.
3558 2013-02-28  Martin Jambor  <mjambor@suse.cz>
3560         PR tree-optimization/56294
3561         * tree-sra.c (analyze_access_subtree): Create replacement declarations.
3562         Adjust dumping.
3563         (get_access_replacement): Do not call create_access_replacement.
3564         Assert a replacement exists.
3565         (get_repl_default_def_ssa_name): Create the replacement declaration
3566         itself.
3568 2013-02-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
3570         * config/arm/arm.c (arm_output_mi_thunk): Call final_start_function and
3571         final_end_function.
3573 2013-02-28  Marek Polacek  <polacek@redhat.com>
3575         PR rtl-optimization/56466
3576         * loop-unroll.c (unroll_and_peel_loops): Call fix_loop_structure
3577         if we're changing a loop.
3578         (peel_loops_completely): Likewise.
3580 2013-02-28  Paolo Carlini  <paolo.carlini@oracle.com>
3582         PR c++/55813
3583         * doc/invoke.texi ([-Wctor-dtor-privacy]): Complete.
3585 2013-02-28  Georg-Johann Lay  <avr@gjlay.de>
3587         PR target/56445
3588         * config/avr/avr.c (avr_init_builtins): Use 'n' instead of empty
3589         macro parameters with: FX_FTYPE_FX, FX_FTYPE_FX_INT, INT_FTYPE_FX,
3590         INTX_FTYPE_FX, FX_FTYPE_INTX.
3591         * config/avr/builtins.def: Adjust respective DEF_BUILTIN.
3593 2013-02-28  Georg-Johann Lay  <avr@gjlay.de>
3595         * avr/avr-mcus.def (ata5272, ata5505, attiny1634, ata6285)
3596         (ata6286, atmega8a, atmega48pa, ata5790, ata5790n, ata5795)
3597         (atmega164pa, atmega165pa, atmega168pa, atmega16hva, atmega16hvb)
3598         (atmega16hvbrevb, atmega16m1, atmega16u4, atmega26hvg, atmega32a)
3599         (atmega32a, atmega3250pa, atmega3290pa, atmega32c1, atmega32m1)
3600         (atmega32u4, atmega32u6, atmega64a, atmega6490a, atmega6490p)
3601         (atmega64c1, atmega64m1, atmega64rfa2, atmega64rfr2, atmega32hvb)
3602         (atmega32hvbrevb, atmega16hva2, atmega48hvf, at90pwm161)
3603         (atmega128a, atmega1284, atmxt112sl, atmxt224, atmxt224e)
3604         (atmxt336s, atxmega16a4u, atxmega16c4, atxmega32a4u, atxmega32c4)
3605         (atxmega32e5, atxmega64a3u, atxmega64a4u, atxmega64b1, atxmega64b3)
3606         (atxmega64c3, atxmega64d4, atxmega128a3u, atxmega128b1)
3607         (atxmega128b3, atxmega128c3, atxmega128d4, atmxt540s, atmxt540sreva)
3608         (atxmega192a3u, atxmega192c3, atxmega256a3u, atxmega256c3)
3609         (atxmega384c3, atxmega384d3, atxmega128a4u): New AVR_MCU.
3610         (avrxmega6): Increase max flash segments from 5 to 6.
3611         * config/avr/t-multilib: Regenerate.
3612         * config/avr/avr-tables.opt: Regenerate.
3613         * doc/avr-mmcu.texi: Regenerate.
3615 2013-02-28  Georg-Johann Lay  <avr@gjlay.de>
3617         * config/avr/avr.h (device_to_arch): Rename to device_to_ld.
3618         (avr_device_to_arch): Rename to avr_device_to_ld.
3619         (avr_device_to_as): New prototype.
3620         (EXTRA_SPEC_FUNCTIONS): Add device_to_as.
3621         (ASM_SPEC): Use device_to_as to get -mmcu= and -mno-skip-bug=.
3622         * config/avr/driver-avr.c (avr_device_to_as): New.
3623         (avr_device_to_arch): Rename to avr_device_to_ld.
3625 2013-02-27  Jakub Jelinek  <jakub@redhat.com>
3627         PR middle-end/56461
3628         * tree-vect-data-refs.c (vect_permute_load_chain): Avoid using copy
3629         method on dr_chain and result_chain.
3631         PR middle-end/56461
3632         * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Call
3633         pointer_set_destroy on not_executed_last_iteration.
3635         PR middle-end/56461
3636         * tree-vect-loop.c (vectorizable_reduction): Release vect_defs vector.
3638         PR middle-end/56461
3639         * ipa-pure-const.c (propagate): Use FOR_EACH_FUNCTION instead of
3640         FOR_EACH_DEFINED_FUNCTION when freeing state.
3642         PR middle-end/56461
3643         * df-scan.c (df_insn_delete): Use df_scan_free_mws_vec before
3644         pool_free.
3645         (df_insn_rescan_debug_internal): Use df_scan_free_mws_vec before
3646         overwriting it.
3648         PR middle-end/56461
3649         * ipa-cp.c (decide_whether_version_node): Call vec_free on
3650         known_aggs[i].items and release known_aggs vector.
3652         PR middle-end/56461
3653         * ipa-reference.c (propagate): Free node_info even for alias nodes.
3655 2013-02-27  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
3657         * config/microblaze/microblaze.c (microblaze_emit_compare):
3658         Use xor for EQ/NE comparisions.
3659         * config/microblaze/microblaze.md (cstoresf4): Add constraints
3660         (cbranchsf4): Adjust operator to comparison_operator.
3662 2013-02-27  Jakub Jelinek  <jakub@redhat.com>
3664         PR middle-end/56461
3665         * tree-flow.h (edge_var_map_vector): Change into va_heap, vl_embed
3666         vector.
3667         * tree-ssa.c (redirect_edge_var_map_add): Use vec_safe_reserve and
3668         vec_safe_push, always update *slot.
3669         (redirect_edge_var_map_clear): Use vec_free.
3670         (redirect_edge_var_map_dup): Use vec_safe_copy and vec_safe_reserve.
3671         (free_var_map_entry): Use vec_free.
3672         * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Use
3673         FOR_EACH_VEC_SAFE_ELT instead of FOR_EACH_VEC_ELT.
3675 2013-02-27  Andrey Belevantsev  <abel@ispras.ru>
3677         PR middle-end/45472
3678         * sel-sched-ir.c (merge_expr): Also change vinsn of merged expr
3679         when the may_trap_p bit of the exprs being merged differs.
3680         Reorder tests for speculativeness in the logical and operator.
3682 2013-02-27  Jakub Jelinek  <jakub@redhat.com>
3684         * incpath.c (add_standard_paths): Use reconcat instead of concat
3685         where appropriate and avoid leaking memory.
3687         * opts.h: Include obstack.h.
3688         (opts_concat): New prototype.
3689         (opts_obstack): New declaration.
3690         * opts.c (opts_concat): New function.
3691         (opts_obstack): New variable.
3692         (init_options_struct): Call gcc_init_obstack on opts_obstack.
3693         (finish_options): Use opts_concat instead of concat
3694         and XOBNEWVEC instead of XNEWVEC.
3695         * opts-common.c (generate_canonical_option, decode_cmdline_option,
3696         generate_option): Likewise.
3697         * Makefile.in (OPTS_H): Depend on $(OBSTACK_H).
3698         * lto-wrapper.c (main): Call gcc_init_obstack on opts_obstack.
3700         PR target/56455
3701         * stmt.c (expand_switch_as_decision_tree_p): If flag_pic
3702         and ASM_OUTPUT_ADDR_DIFF_ELT isn't defined, return true.
3704 2013-02-26  Jakub Jelinek  <jakub@redhat.com>
3706         PR middle-end/56461
3707         * lra-spills.c (lra_spill): Free spill_hard_reg at the end.
3709 2013-02-26  Joern Rennecke  <joern.rennecke@embecosm.com>
3711         * config/arm/arm.c (const_ok_for_dimode_op): Back out last change.
3712         (arm_block_move_unaligned_straight): Likewise.
3713         (arm_adjust_block_mem): Likewise.
3715 2013-02-26  Joern Rennecke  <joern.rennecke@embecosm.com>
3717         PR target/48901
3718         * config/lm32/lm32.c (gen_int_relational): Remove unused variables
3719         temp, cond and label.
3720         * config/lm32/lm32.md (ashlsi3): Remove unused variable one.
3722         PR target/52500
3723         * config/c6x/c6x.c (dbx_register_map): Change to unsigned.
3724         * config/c6x/c6x.h (dbx_register_map): Update declaration.
3726         PR target/52501
3727         * config/cr16/cr16-protos.h: Move end of RTX_CODE guard below end
3728         of prologue/epilogue functions.
3730         PR target/52550
3731         * config/tilegx/tilegx.c (tilegx_expand_prologue):
3732         Remove unused variable cfa_offset.
3733         * config/tilepro/tilepro.c (tilepro_expand_prologue): Likewise.
3735         PR target/54639
3736         * config/mn10300/mn10300.c (mn10300_expand_epilogue): Avoid offset
3737         type promotion to unsigned.
3739         PR target/54640
3740         * config/arm/arm.c (const_ok_for_dimode_op): Make code consistent
3741         for HOST_WIDE_INT of 32 bit / same size as int.
3742         (arm_block_move_unaligned_straight): Likewise.
3743         (arm_adjust_block_mem): Likewise.
3745         PR target/54662
3746         * config/mep/t-mep (mep-pragma.o): Use ALL_COMPILERFLAGS instead of
3747         ALL_CFLAGS.
3749 2013-02-26  Marek Polacek  <polacek@redhat.com>
3751         PR tree-optimization/56426
3752         * tree-ssa-loop.c (tree_ssa_loop_init): Always call
3753         scev_initialize.
3755 2013-02-26  Richard Biener  <rguenther@suse.de>
3757         PR target/56444
3758         * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc): Remove
3759         unused variable loops.
3761 2013-02-26  Jakub Jelinek  <jakub@redhat.com>
3763         PR tree-optimization/56448
3764         * fold-const.c (operand_equal_p) <case tcc_reference>: Don't look at
3765         TREE_SIDE_EFFECTS if flags contain OEP_CONSTANT_ADDRESS_OF.
3766         Clear OEP_CONSTANT_ADDRESS_OF from flags before recursing on second or
3767         later operands of the references, or even first operand for
3768         INDIRECT_REF, TARGET_MEM_REF or MEM_REF.
3770         PR tree-optimization/56443
3771         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For
3772         overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument
3773         to type_for_mode langhook.
3775 2013-02-25  Matt Turner  <mattst88@gmail.com>
3777         * doc/invoke.texi: Document r4700.
3779 2013-02-25  Richard Biener  <rguenther@suse.de>
3781         PR tree-optimization/56175
3782         * tree-ssa-forwprop.c (hoist_conversion_for_bitop_p): New predicate,
3783         split out from ...
3784         (simplify_bitwise_binary): ... here.  Also guard the conversion
3785         of (type) X op CST to (type) (X op ((type-x) CST)) with it.
3787 2013-02-25  Catherine Moore  <clm@codesourcery.com>
3789         Revert:
3790         2013-02-24  Catherine Moore  <clm@codesourcery.com>
3791             Maciej W. Rozycki  <macro@codesourcery.com>
3792             Tom de Vries  <tom@codesourcery.com>
3793             Nathan Sidwell  <nathan@codesourcery.com>
3794             Iain Sandoe  <iain@codesourcery.com>
3795             Nathan Froyd  <froydnj@codesourcery.com>
3796             Chao-ying Fu  <fu@mips.com>
3798         * doc/extend.texi (micromips, nomicromips, nocompression):
3799         Document new function attributes.
3800         * doc/invoke.texi (minterlink-compressed, mmicromips,
3801         m14k, m14ke, m14kec): Document new options.
3802         (minterlink-mips16): Update documentation.
3803         * doc/md.texi (ZC, ZD): Document new constraints.
3804         * configure.ac (gcc_cv_as_micromips): Check if linker
3805         supports the .set micromips directive.
3806         * configure: Regenerate.
3807         * config.in: Regenerate.
3808         * config/mips/mips-tables.opt: Regenerate.
3809         * config/mips/micromips.md: New file.
3810         * constraints.md (ZC, AD): New constraints.
3811         * config/mips/predicates.md (movep_src_register): New predicate.
3812         (movep_src_operand): New predicate.
3813         (non_volatile_mem_operand): New predicate.
3814         * config/mips/mips.md (multimem): New type.
3815         (length): Differentiate between 17-bit and 18-bit branch offsets.
3816         (MOVEP1, MOVEP2): New mode iterator.
3817         (mov_<load>l): Use ZC constraint.
3818         (mov_<load>r): Likewise.
3819         (mov_<store>l): Likewise.
3820         (mov_<store>r): Likewise.
3821         (*branch_equality<mode>_inverted): Add microMIPS support.
3822         (*branch_equality<mode>): Likewise.
3823         (*jump_absolute): Likewise.
3824         (indirect_jump_<mode>): Likewise.
3825         (tablejump_<mode>): Likewise.
3826         (<optab>_internal): Likewise.
3827         (sibcall_internal): Likewise.
3828         (sibcall_value_internal): Likewise.
3829         (prefetch): Use constraint ZD.
3830         * config/mips/mips.opt (minterlink-compressed): New option.
3831         (minterlink-mips16): Now an alias for minterlink-compressed.
3832         (mmicromips): New option.
3833         * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
3834         (compare_and_swap_12): Likewise.
3835         (sync_add<mode>): Likewise.
3836         (sync_<optab>_12): Likewise.
3837         (sync_old_<optab>_12): Likewise.
3838         (sync_new_<optab>_12): Likewise.
3839         (sync_nand_12): Likewise.
3840         (sync_old_nand_12): Likewise.
3841         (sync_new_nand_12): Likewise.
3842         (sync_sub<mode>): Likewise.
3843         (sync_old_add<mode>): Likewise.
3844         (sync_old_sub<mode>): Likewise.
3845         (sync_new_add<mode>): Likewise.
3846         (sync_new_sub<mode>): Likewise.
3847         (sync_<optab><mode>): Likewise.
3848         (sync_old_<optab><mode>): Likewise.
3849         (sync_new_<optab><mode>): Likewise.
3850         (sync_nand<mode>): Likewise.
3851         (sync_old_nand<mode>): Likewise.
3852         (sync_new_nand<mode>): Likewise.
3853         (sync_lock_test_and_set<mode>): Likewise.
3854         (test_and_set_12): Likewise.
3855         (atomic_compare_and_swap<mode>): Likewise.
3856         (atomic_exchange<mode>_llsc): Likewise.
3857         (atomic_fetch_add<mode>_llsc): Likewise.
3858         * config/mips/mips-cpus.def (m14kc, m14k): New processors.
3859         * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
3860         (umips_save_restore_pattern_p): Likewise.
3861         (umips_load_store_pair_p): Likewise.
3862         (umips_output_load_store_pair): Likewise.
3863         (umips_movep_target_p): Likewise.
3864         (umips_12bit_offset_address_p): Likewise.
3865         * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
3866         (mips_base_mips16): Rename this...
3867         (mips_base_compression_flags): ...to this. Update all uses.
3868         (mips_attribute_table): Add micromips, nomicromips and nocompression.
3869         (mips_mips16_decl_p): Delete.
3870         (mips_nomips16_decl_p): Delete.
3871         (mips_get_compress_on_flags): New function.
3872         (mips_get_compress_off_flags): New function.
3873         (mips_get_compress_mode): New function.
3874         (mips_get_compress_on_name): New function.
3875         (mips_get_compress_off_name): New function.
3876         (mips_insert_attributes): Support multiple compression types.
3877         (mips_merge_decl_attributes): Likewise.
3878         (umips_12bit_offset_address_p): New function.
3879         (mips_start_function_definition): Emit .set micromips directive.
3880         (mips_call_may_need_jalx_p): New function.
3881         (mips_function_ok_for_sibcall): Add microMIPS support.
3882         (mips_print_operand_punctuation): Support short delay slots and
3883         compact jumps.
3884         (umips_swm_mask, umips_swm_encoding): New.
3885         (umips_build_save_restore): New function.
3886         (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
3887         (was_mips16_p): Remove.
3888         (old_compression_mode): New.
3889         (mips_set_compression_mode): New function.
3890         (mips_set_current_function): Add microMIPS support.
3891         (mips_option_override): Likewise.
3892         (umips_save_restore_pattern_p): New function.
3893         (umips_output_save_restore): New function.
3894         (umips_load_store_pair_p_1): New function.
3895         (umips_load_store_pair_p): New function.
3896         (umips_output_load_store_pair_1): New function.
3897         (umips_output_load_store_pair): New function.
3898         (umips_movep_target_p) New function.
3899         (mips_prepare_pch_save): Add microMIPS support.
3900         * config/mips/mips.h (TARGET_COMPRESSION): New.
3901         (TARGET_CPU_CPP_BUILTINS): Update macro
3902         to use new compression flags and to support microMIPS.
3903         (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
3904         (MIPS_ARCH_FLOAT_SPEC): Likewise.
3905         (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
3906         (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
3907         (ASM_SPEC): Support mmicromips and mno-micromips.
3908         (M16STORE_REG_P): New macro.
3909         (MIPS_CALL): Support TARGET_MICROMIPS.
3910         (MICROMIPS_J): New macro.
3911         (mips_base_mips16): Rename this...
3912         (mips_base_compression_flags): ...to this.
3913         (UMIPS_12BIT_OFFSET_P): New macro.
3914         * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
3915         (MULTILIB_DIRNAMES): Likewise.
3917 2013-02-25  Tom de Vries  <tom@codesourcery.com>
3919         PR rtl-optimization/56131
3920         * insn-notes.def (INSN_NOTE_BASIC_BLOCK): Update comment.
3921         * cfgrtl.c (delete_insn): Don't reorder NOTE_INSN_DELETED_LABEL and
3922         NOTE_INSN_BASIC_BLOCK if BLOCK_FOR_INSN == NULL.
3924 2013-02-25  Tobias Burnus  <burnus@net-b.de>
3926         * doc/invoke.texi (-fsanitize=): Move from optimization
3927         to debugging options.
3929 2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
3931         * sched-deps.c (sched_analyze_insn): Fix typo in comment.
3933 2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
3934             Alexander Monakov  <amonakov@ispras.ru>
3936         PR middle-end/56077
3937         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
3938         flush pending lists also on non-jumps.  Adjust comment.
3940 2013-02-24  Catherine Moore  <clm@codesourcery.com>
3941             Maciej W. Rozycki  <macro@codesourcery.com>
3942             Tom de Vries  <tom@codesourcery.com>
3943             Nathan Sidwell  <nathan@codesourcery.com>
3944             Iain Sandoe  <iain@codesourcery.com>
3945             Nathan Froyd  <froydnj@codesourcery.com>
3946             Chao-ying Fu  <fu@mips.com>
3948         * doc/extend.texi (micromips, nomicromips, nocompression):
3949         Document new function attributes.
3950         * doc/invoke.texi (minterlink-compressed, mmicromips,
3951         m14k, m14ke, m14kec): Document new options.
3952         (minterlink-mips16): Update documentation.
3953         * doc/md.texi (ZC, ZD): Document new constraints.
3954         * configure.ac (gcc_cv_as_micromips): Check if linker
3955         supports the .set micromips directive.
3956         * configure: Regenerate.
3957         * config.in: Regenerate.
3958         * config/mips/mips-tables.opt: Regenerate.
3959         * config/mips/micromips.md: New file.
3960         * constraints.md (ZC, AD): New constraints.
3961         * config/mips/predicates.md (movep_src_register): New predicate.
3962         (movep_src_operand): New predicate.
3963         (non_volatile_mem_operand): New predicate.
3964         * config/mips/mips.md (multimem): New type.
3965         (length): Differentiate between 17-bit and 18-bit branch offsets.
3966         (MOVEP1, MOVEP2): New mode iterator.
3967         (mov_<load>l): Use ZC constraint.
3968         (mov_<load>r): Likewise.
3969         (mov_<store>l): Likewise.
3970         (mov_<store>r): Likewise.
3971         (*branch_equality<mode>_inverted): Add microMIPS support.
3972         (*branch_equality<mode>): Likewise.
3973         (*jump_absolute): Likewise.
3974         (indirect_jump_<mode>): Likewise.
3975         (tablejump_<mode>): Likewise.
3976         (<optab>_internal): Likewise.
3977         (sibcall_internal): Likewise.
3978         (sibcall_value_internal): Likewise.
3979         (prefetch): Use constraint ZD.
3980         * config/mips/mips.opt (minterlink-compressed): New option.
3981         (minterlink-mips16): Now an alias for minterlink-compressed.
3982         (mmicromips): New option.
3983         * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
3984         (compare_and_swap_12): Likewise.
3985         (sync_add<mode>): Likewise.
3986         (sync_<optab>_12): Likewise.
3987         (sync_old_<optab>_12): Likewise.
3988         (sync_new_<optab>_12): Likewise.
3989         (sync_nand_12): Likewise.
3990         (sync_old_nand_12): Likewise.
3991         (sync_new_nand_12): Likewise.
3992         (sync_sub<mode>): Likewise.
3993         (sync_old_add<mode>): Likewise.
3994         (sync_old_sub<mode>): Likewise.
3995         (sync_new_add<mode>): Likewise.
3996         (sync_new_sub<mode>): Likewise.
3997         (sync_<optab><mode>): Likewise.
3998         (sync_old_<optab><mode>): Likewise.
3999         (sync_new_<optab><mode>): Likewise.
4000         (sync_nand<mode>): Likewise.
4001         (sync_old_nand<mode>): Likewise.
4002         (sync_new_nand<mode>): Likewise.
4003         (sync_lock_test_and_set<mode>): Likewise.
4004         (test_and_set_12): Likewise.
4005         (atomic_compare_and_swap<mode>): Likewise.
4006         (atomic_exchange<mode>_llsc): Likewise.
4007         (atomic_fetch_add<mode>_llsc): Likewise.
4008         * config/mips/mips-cpus.def (m14kc, m14k): New processors.
4009         * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
4010         (umips_save_restore_pattern_p): Likewise.
4011         (umips_load_store_pair_p): Likewise.
4012         (umips_output_load_store_pair): Likewise.
4013         (umips_movep_target_p): Likewise.
4014         (umips_12bit_offset_address_p): Likewise.
4015         * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
4016         (mips_base_mips16): Rename this...
4017         (mips_base_compression_flags): ...to this. Update all uses.
4018         (mips_attribute_table): Add micromips, nomicromips and nocompression.
4019         (mips_mips16_decl_p): Delete.
4020         (mips_nomips16_decl_p): Delete.
4021         (mips_get_compress_on_flags): New function.
4022         (mips_get_compress_off_flags): New function.
4023         (mips_get_compress_mode): New function.
4024         (mips_get_compress_on_name): New function.
4025         (mips_get_compress_off_name): New function.
4026         (mips_insert_attributes): Support multiple compression types.
4027         (mips_merge_decl_attributes): Likewise.
4028         (umips_12bit_offset_address_p): New function.
4029         (mips_start_function_definition): Emit .set micromips directive.
4030         (mips_call_may_need_jalx_p): New function.
4031         (mips_function_ok_for_sibcall): Add microMIPS support.
4032         (mips_print_operand_punctuation): Support short delay slots and
4033         compact jumps.
4034         (umips_swm_mask, umips_swm_encoding): New.
4035         (umips_build_save_restore): New function.
4036         (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
4037         (was_mips16_p): Remove.
4038         (old_compression_mode): New.
4039         (mips_set_compression_mode): New function.
4040         (mips_set_current_function): Add microMIPS support.
4041         (mips_option_override): Likewise.
4042         (umips_save_restore_pattern_p): New function.
4043         (umips_output_save_restore): New function.
4044         (umips_load_store_pair_p_1): New function.
4045         (umips_load_store_pair_p): New function.
4046         (umips_output_load_store_pair_1): New function.
4047         (umips_output_load_store_pair): New function.
4048         (umips_movep_target_p) New function.
4049         (mips_prepare_pch_save): Add microMIPS support.
4050         * config/mips/mips.h (TARGET_COMPRESSION): New.
4051         (TARGET_CPU_CPP_BUILTINS): Update macro
4052         to use new compression flags and to support microMIPS.
4053         (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
4054         (MIPS_ARCH_FLOAT_SPEC): Likewise.
4055         (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
4056         (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
4057         (ASM_SPEC): Support mmicromips and mno-micromips.
4058         (M16STORE_REG_P): New macro.
4059         (MIPS_CALL): Support TARGET_MICROMIPS.
4060         (MICROMIPS_J): New macro.
4061         (mips_base_mips16): Rename this...
4062         (mips_base_compression_flags): ...to this.
4063         (UMIPS_12BIT_OFFSET_P): New macro.
4064         * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
4065         (MULTILIB_DIRNAMES): Likewise.
4067 2013-02-24  Jakub Jelinek  <jakub@redhat.com>
4069         PR target/52555
4070         * target-globals.c (save_target_globals): For init_reg_sets and
4071         target_reinit remporarily set this_fn_optabs to this_target_optabs.
4073 2013-02-22  James Grennahlgh  <james.greenhalgh@arm.com>
4075         * config/aarch64/aarch64-simd-builtins.def: Add copyright header.
4076         * config/aarch64/t-aarch64
4077         (aarch64-builtins.o): Depend on aarch64-simd-builtins.def.
4079 2013-02-22  Vladimir Makarov  <vmakarov@redhat.com>
4081         PR inline-asm/56148
4082         * lra-constraints.c (process_alt_operands): Reload operand
4083         conflicting with earlier clobber only if no more other conflicting
4084         operands.
4086 2013-02-22  Jakub Jelinek  <jakub@redhat.com>
4088         PR sanitizer/56393
4089         * config/gnu-user.h (LIBASAN_EARLY_SPEC): Link in libasan_preinit.o
4090         if not linking a shared library.
4092 2013-02-22  Seth LaForge  <sethml@google.com>
4094         * config.gcc (arm*-*-eabi*): Treat arm*eb as big-endian.
4096 2013-02-22  Greta Yorsh  <Greta.Yorsh@arm.com>
4098         * config/arm/arm.md (split for extendsidi): Update condition.
4099         (zero_extend<mode>di2,extend<mode>di2): Add an alternative.
4100         * config/arm/iterators.md (qhs_extenddi_cstr): Likewise.
4101         (qhs_zextenddi_cstr): Likewise.
4103 2013-02-21  Jakub Jelinek  <jakub@redhat.com>
4105         PR middle-end/56420
4106         * expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Do subtraction in uhwi, to
4107         avoid signed wrapping.
4108         (expand_mult): Handle properly multiplication by
4109         ((dword_type) -1) << (BITS_PER_WORD - 1).  Improve multiplication by
4110         ((dword_type) 1) << (BITS_PER_WORD - 1).  Avoid undefined behavior
4111         in the compiler if coeff is HOST_WIDE_INT_MIN.
4112         (expand_divmod): Don't make ext_op1 static, change it's type to uhwi.
4113         Avoid undefined behavior in -INTVAL (op1).
4115         PR rtl-optimization/50339
4116         * lower-subreg.h (struct lower_subreg_choices): Add splitting_ashiftrt
4117         field.
4118         * lower-subreg.c (compute_splitting_shift): Handle ASHIFTRT.
4119         (compute_costs): Call compute_splitting_shift also for ASHIFTRT
4120         into splitting_ashiftrt field.
4121         (find_decomposable_shift_zext, resolve_shift_zext): Handle also
4122         ASHIFTRT.
4123         (dump_choices): Fix up printing LSHIFTRT choices, print ASHIFTRT
4124         choices.
4126 2013-02-20  Aldy Hernandez  <aldyh@redhat.com>
4128         PR middle-end/56108
4129         * trans-mem.c (execute_tm_mark): Do not expand transactions that
4130         are sure to go irrevocable.
4132 2013-02-21  Hans-Peter Nilsson  <hp@axis.com>
4134         * doc/rtl.texi (vec_concat, vec_duplicate): Mention that
4135         scalars are valid operands.
4137 2013-02-21  Martin Jambor  <mjambor@suse.cz>
4139         PR tree-optimization/56310
4140         * ipa-cp.c (agg_replacements_to_vector): New parameter index, copy
4141         only matching indices and non-negative final offsets.
4142         (intersect_aggregates_with_edge): Pass src_idx to
4143         agg_replacements_to_vector.  Pass src_idx insstead of index to
4144         intersect_with_agg_replacements.
4146 2013-02-21  Martin Jambor  <mjambor@suse.cz>
4148         * ipa-cp.c (good_cloning_opportunity_p): Dump the real threshold
4149         instead of hard-wired defaults.
4151 2013-02-21  Maciej W. Rozycki  <macro@codesourcery.com>
4153         * doc/invoke.texi (MIPS Options): Update documentation of the
4154         floating-point multiply-accumulate instruction restrictions.
4156 2013-02-21  Kostya Serebryany  <kcc@google.com>
4158         * config/i386/i386.c (ix86_asan_shadow_offset): Use 0x7fff8000 as
4159         asan_shadow_offset on x86_64 linux.
4161 2013-02-21  Richard Biener  <rguenther@suse.de>
4163         PR tree-optimization/56415
4164         Revert
4165         2013-02-11  Richard Biener  <rguenther@suse.de>
4167         PR tree-optimization/56273
4168         * tree-vrp.c (simplify_cond_using_ranges): Disable for the
4169         first VRP run.
4171 2013-02-21  Jakub Jelinek  <jakub@redhat.com>
4173         PR bootstrap/56258
4174         * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item
4175         instead of @itemx.
4177         PR inline-asm/56405
4178         * expr.c (expand_expr_real_1) <case TARGET_MEM_REF, MEM_REF>: Don't
4179         use movmisalign or extract_bit_field for EXPAND_MEMORY modifier.
4181 2013-02-20  Jan Hubicka  <jh@suse.cz>
4183         PR tree-optimization/56265
4184         * ipa-prop.c (ipa_make_edge_direct_to_target): Fixup callgraph when
4185         target is referenced for first time.
4187 2013-02-20  Richard Biener  <rguenther@suse.de>
4189         * tree-call-cdce.c (tree_call_cdce): Do not remove unused locals.
4190         * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise.
4191         * tree-ssa-dce.c (perform_tree_ssa_dce): Likewise.
4192         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do
4193         not return anything.
4194         (rename_ssa_copies): Do not remove unused locals.
4195         * tree-ssa-ccp.c (do_ssa_ccp): Likewise.
4196         * tree-ssanames.c (pass_release_ssa_names): Remove unused locals first.
4197         * passes.c (execute_function_todo): Do not schedule unused locals
4198         removal if cleanup_tree_cfg did something.
4199         * tree-ssa-live.c (remove_unused_locals): Dump statistics
4200         about the number of removed locals.
4202 2013-02-20  Richard Biener  <rguenther@suse.de>
4204         PR tree-optimization/56398
4205         * tree-vect-loop-manip.c (adjust_debug_stmts): Skip
4206         SSA default defs.
4208 2013-02-20  Martin Jambor  <mjambor@suse.cz>
4210         PR tree-optimization/55334
4211         * ipa-cp.c (initialize_node_lattices): Disable IPA-CP through and to
4212         restricted pointers to arrays.
4214 2013-02-20  Richard Biener  <rguenther@suse.de>
4215         Jakub Jelinek  <jakub@redhat.com>
4217         PR tree-optimization/56396
4218         * tree-ssa-ccp.c (n_const_val): New static variable.
4219         (get_value): Return NULL for SSA names we don't have a lattice
4220         entry for.
4221         (ccp_initialize): Initialize n_const_val.
4222         * tree-ssa-copy.c (n_copy_of): New static variable.
4223         (init_copy_prop): Initialize n_copy_of.
4224         (get_value): Return NULL_TREE for SSA names we don't have a
4225         lattice entry for.
4227 2013-02-20  Martin Jambor  <mjambor@suse.cz>
4229         * ipa-cp.c (initialize_node_lattices): Fix dumping condition.
4231 2013-02-20  Richard Biener  <rguenther@suse.de>
4233         * genpreds.c (write_lookup_constraint): Do not compare first
4234         letter of the constraint again.
4236 2013-02-20  Richard Biener  <rguenther@suse.de>
4238         * tree-ssa-loop-ivopts.c (alloc_use_cost_map): Use bitmap_count_bits
4239         and ceil_log2.
4240         (get_use_iv_cost): Terminate hashtable walk when coming across
4241         an empty entry.
4243 2013-02-20  Igor Zamyatin  <igor.zamyatin@intel.com>
4245         * config/i386/i386.c (initial_ix86_tune_features): Turn on fp
4246         reassociation for avx2 targets.
4248 2012-02-19  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
4250         * config/microblaze/microblaze.c: microblaze_has_clz = 0
4251         Add version check for v8.10.a to enable microblaze_has_clz
4252         * config/microblaze/microblaze.h: Add TARGET_HAS_CLZ as combined
4253         version and TARGET_PATTERN_COMPARE check
4254         * config/microblaze/microblaze.md: New clzsi2 instruction
4256 2012-02-19  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
4258         * config/microblaze/microblaze.md (call_value_intern): Check symbol is
4259         function before branching.
4261 2012-02-19  Andrey Belevantsev  <abel@ispras.ru>
4263         * sel-sched-dump.c (dump_insn_rtx_flags): Explicitly set
4264         DUMP_INSN_RTX_UID.
4265         (dump_insn_rtx_1): Pass PATTERN (insn) to str_pattern_slim.
4267 2012-02-19  Andrey Belevantsev  <abel@ispras.ru>
4269         PR middle-end/55889
4270         * sel-sched.c: Include ira.h.
4271         (implicit_clobber_conflict_p): New function.
4272         (moveup_expr): Use it.
4273         * Makefile.in (sel-sched.o): Depend on ira.h.
4275 2013-02-19  Richard Biener  <rguenther@suse.de>
4277         PR tree-optimization/56384
4278         * tree-ssa-sccvn.h (struct vn_phi_s): Add type member.
4279         (vn_hash_type): Split out from ...
4280         (vn_hash_constant_with_type): ... here.
4281         * tree-ssa-sccvn.c (vn_phi_compute_hash): Use vn_hash_type.
4282         (vn_phi_eq): Compare types from vn_phi_s structure.
4283         (vn_phi_lookup): Populate vn_phi_s type.
4284         (vn_phi_insert): Likewise.
4286 2013-02-19  Jakub Jelinek  <jakub@redhat.com>
4288         PR tree-optimization/56350
4289         * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
4290         if haven't found reduction or nested cycle operand, rather than
4291         asserting we must find it.
4293         PR tree-optimization/56381
4294         * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
4295         to fold_build3.
4297 2013-02-18  Aldy Hernandez  <aldyh@redhat.com>
4298             Jakub Jelinek  <jakub@redhat.com>
4300         PR target/52555
4301         * genopinit.c (raw_optab_handler): Use this_fn_optabs.
4302         (swap_optab_enable): Same.
4303         (init_all_optabs): Use argument instead of global.
4304         * tree.h (struct tree_optimization_option): New field target_optabs.
4305         * expr.h (init_all_optabs): Add argument to prototype.
4306         (TREE_OPTIMIZATION_OPTABS): New.
4307         (save_optabs_if_changed): Protoize.
4308         * optabs.h: Declare this_fn_optabs.
4309         * optabs.c (save_optabs_if_changed): New.
4310         Declare this_fn_optabs.
4311         (init_optabs): Add argument to init_all_optabs() call.
4312         * function.c (invoke_set_current_function_hook): Handle per
4313         function optabs.
4314         * function.h (struct function): New field optabs.
4315         * config/mips/mips.c (mips_set_mips16_mode): Handle when
4316         optimization_current_node has changed.
4317         * target-globals.h (save_target_globals_default_opts): Protoize.
4318         * target-globals.c (save_target_globals_default_opts): New.
4320 2013-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4322         PR target/56347
4323         * config/pa/pa.c (pa_conditional_register_usage): On HP-UX, mark
4324         registers %fr12 and %fr12R as call used.
4326         PR target/56214
4327         * config/pa/predicates.md (base14_operand): Except for BLKmode, QImode
4328         and HImode, require all displacements to be an integer multiple of
4329         their mode size.
4330         * config/pa/pa.c (pa_legitimate_address_p): For REG+BASE addresses,
4331         only allow QImode and HImode when reload is in progress and strict is
4332         true.  Likewise for symbolic addresses.  Use base14_operand to check
4333         displacements in REG+BASE addresses.
4335 2013-02-18  Richard Biener  <rguenther@suse.de>
4337         PR tree-optimization/56366
4338         * tree-vect-loop.c (get_initial_def_for_induction): Properly
4339         handle sign-conversion of outer-loop initial induction value.
4341 2013-02-18  Richard Biener  <rguenther@suse.de>
4343         PR middle-end/56349
4344         * cfghooks.c (merge_blocks): If we merge a latch into another
4345         block adjust references to it.
4346         * cfgloop.c (flow_loops_find): Reset latch before recomputing it.
4347         (verify_loop_structure): Verify that a recorded latch is in fact
4348         a latch.
4350 2013-02-18  Richard Biener  <rguenther@suse.de>
4352         PR tree-optimization/56321
4353         * tree-ssa-reassoc.c (propagate_op_to_single_use): Properly
4354         order SSA name release and virtual operand unlinking.
4356 2013-02-17  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
4358         * config/microblaze/microblaze.md (save_stack_block): Define.
4359         (restore_stack_block): Likewise.
4361 2013-02-16  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
4363         * config/microblaze/linux.h (TARGET_SUPPORTS_PIC): Define as 1.
4364         * config/microblaze/microblaze.h (TARGET_SUPPORTS_PIC): Define as 1.
4365         * config/microblaze/microblaze.c (microblaze_option_override):
4366         Bail out early for PIC modes when target does not support PIC.
4368 2013-02-16  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
4370         * config/microblaze/microblaze.c (microblaze_asm_trampoline_template):
4371         Replace with a microblaze version.
4372         (microblaze_trampoline_init): Adapt for microblaze.
4373         * config/microblaze/microblaze.h (TRAMPOLINE_SIZE): Adapt for
4374         microblaze.
4376 2013-02-16  Jakub Jelinek  <jakub@redhat.com>
4377             Dodji Seketeli  <dodji@redhat.com>
4379         PR asan/56330
4380         * asan.c (get_mem_refs_of_builtin_call): White space and style
4381         cleanup.
4382         (instrument_mem_region_access): Do not forget to always put
4383         instrumentation of the of 'base' and 'base + len' in a "if (len !=
4384         0) statement, even for cases where either 'base' or 'base + len'
4385         are not instrumented -- because they have been previously
4386         instrumented.  Simplify the logic by putting all the statements
4387         instrument 'base + len' inside a sequence, and then insert that
4388         sequence right before the current insertion point.  Then, to
4389         instrument 'base + len', just get an iterator on that statement.
4390         And do not forget to update the pointer to iterator the function
4391         received as argument.
4393 2013-02-15  Vladimir Makarov  <vmakarov@redhat.com>
4395         PR rtl-optimization/56348
4396         * lra-assigns.c (reload_pseudo_compare_func): Prefer bigger pseudos.
4398 2013-02-15  Steven Bosscher  <steven@gcc.gnu.org>
4400         * graph.c (start_graph_dump): Print dumpfile base as digraph label.
4401         (clean_graph_dump_file): Pass base to start_graph_dump.
4403 2013-02-14  Richard Henderson  <rth@redhat.com>
4405         PR target/55941
4406         * lower-subreg.c (simple_move): Check dest mode instead of src mode.
4408 2013-02-14  Steven Bosscher  <steven@gcc.gnu.org>
4410         * collect2-aix.h: Define F_LOADONLY.
4412 2013-02-14  Richard Biener  <rguenther@suse.de>
4414         PR lto/50494
4415         * varasm.c (output_constant_def_1): Get the decl representing
4416         the constant as argument.
4417         (output_constant_def): Wrap output_constant_def_1.
4418         (make_decl_rtl): Use output_constant_def_1 with the decl
4419         representing the constant.
4420         (build_constant_desc): Optionally re-use a decl already
4421         representing the constant.
4422         (tree_output_constant_def): Adjust.
4424 2013-02-14  Dodji Seketeli  <dodji@redhat.com>
4426         Fix an asan crash
4427         * asan.c (instrument_builtin_call):  Really put the length of the
4428         second source argument into src1_len.
4430 2013-02-13  Jakub Jelinek  <jakub@redhat.com>
4432         * asan.c (create_cond_insert_point): Add create_then_fallthru_edge
4433         argument.  If it is false, don't create edge from then_bb to
4434         fallthru_bb.
4435         (insert_if_then_before_iter): Pass true to it.
4436         (build_check_stmt): Pass false to it.
4437         (transform_statements): Flush hash table only on extended basic
4438         block boundaries, rather than at the beginning of every bb.
4439         Don't flush hash table on nonfreeing_call_p calls.
4440         * tree-flow.h (nonfreeing_call_p): New prototype.
4441         * tree-ssa-phiopt.c (nonfreeing_call_p): No longer static.
4443 2013-02-13  David S. Miller  <davem@davemloft.net>
4445         * expmed.c (expand_shift_1): Only strip scalar integer subregs.
4447 2013-02-13  Vladimir Makarov  <vmakarov@redhat.com>
4449         PR target/56184
4450         * ira.c (max_regno_before_ira): Move from ...
4451         (ira): ... here.
4452         (fix_reg_equiv_init): Use max_regno_before_ira instead of
4453         vec_safe_length.
4455 2013-02-13  Jakub Jelinek  <jakub@redhat.com>
4457         * config/i386/i386.c (ix86_asan_shadow_offset): Revert last change.
4459 2013-02-13  Richard Biener  <rguenther@suse.de>
4461         PR lto/56295
4462         * gimple-streamer-out.c (output_gimple_stmt): Undo wrapping
4463         globals in MEM_REFs.
4465 2013-02-13  Richard Biener  <rguenther@suse.de>
4467         * loop-init.c (loop_optimizer_init): Clear loop state when
4468         re-initializing preserved loops.
4469         * loop-unswitch.c (unswitch_single_loop): Return whether
4470         we unswitched the loop.  Do not verify loop state here.
4471         (unswitch_loops): When we unswitched a loop discover new
4472         loops.
4474 2013-02-13  Kostya Serebryany  <kcc@google.com>
4476         * config/i386/i386.c: Use 0x7fff8000 as asan_shadow_offset on x86_64
4477         linux.
4478         * sanitizer.def: Rename __asan_init to __asan_init_v1.
4480 2013-02-12  Dodji Seketeli  <dodji@redhat.com>
4482         Avoid instrumenting duplicated memory access in the same basic block
4483         * Makefile.in (asan.o): Add new dependency on hash-table.h
4484         * asan.c (struct asan_mem_ref, struct mem_ref_hasher): New types.
4485         (asan_mem_ref_init, asan_mem_ref_get_end, get_mem_ref_hash_table)
4486         (has_stmt_been_instrumented_p, empty_mem_ref_hash_table)
4487         (free_mem_ref_resources, has_mem_ref_been_instrumented)
4488         (has_stmt_been_instrumented_p, update_mem_ref_hash_table)
4489         (get_mem_ref_of_assignment): New functions.
4490         (get_mem_refs_of_builtin_call): Extract from
4491         instrument_builtin_call and tweak a little bit to make it fit with
4492         the new signature.
4493         (instrument_builtin_call): Use the new
4494         get_mem_refs_of_builtin_call.  Use gimple_call_builtin_p instead
4495         of is_gimple_builtin_call.
4496         (instrument_derefs, instrument_mem_region_access): Insert the
4497         instrumented memory reference into the hash table.
4498         (maybe_instrument_assignment): Renamed instrument_assignment into
4499         this, and change it to advance the iterator when instrumentation
4500         actually happened and return true in that case.  This makes it
4501         homogeneous with maybe_instrument_assignment, and thus give a
4502         chance to callers to be more 'regular'.
4503         (transform_statements): Clear the memory reference hash table
4504         whenever we enter a new BB, when we cross a function call, or when
4505         we are done transforming statements.  Use
4506         maybe_instrument_assignment instead of instrumentation.  No more
4507         need to special case maybe_instrument_assignment and advance the
4508         iterator after calling it; it's now handled just like
4509         maybe_instrument_call.  Update comment.
4511 2013-02-13  Richard Biener  <rguenther@suse.de>
4513         * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc):
4514         Fix loop discovery code.
4516 2013-02-12  Vladimir Makarov  <vmakarov@redhat.com>
4518         PR inline-asm/56148
4519         * lra-constraints.c (process_alt_operands): Match early clobber
4520         operand with itself.  Check conflicts with earlyclobber only if
4521         the operand is not reloaded.  Prefer to reload conflicting operand
4522         if earlyclobber and matching operands are the same.
4524 2013-02-12  Richard Biener  <rguenther@suse.de>
4526         PR lto/56297
4527         * lto-streamer-out.c (write_symbol): Do not output symbols
4528         for hard register variables.
4530 2013-02-12  Georg-Johann Lay  <avr@gjlay.de>
4532         PR target/54222
4533         * config/avr/avr-dimode.md (umulsidi3, mulsidi3): New expanders.
4534         (umulsidi3_insn, mulsidi3_insn): New insns.
4536 2013-02-12  Christophe Lyon  <christophe.lyon@linaro.org>
4538         * config/arm/arm-protos.h (struct cpu_vec_costs): New struct type.
4539         (struct tune_params): Add vec_costs field.
4540         * config/arm/arm.c (arm_builtin_vectorization_cost)
4541         (arm_add_stmt_cost): New functions.
4542         (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST)
4543         (TARGET_VECTORIZE_ADD_STMT_COST): Define.
4544         (arm_default_vec_cost): New struct of type cpu_vec_costs.
4545         (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
4546         (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune)
4547         (arm_cortex_a15_tune, arm_cortex_a5_tune, arm_cortex_a9_tune)
4548         (arm_v6m_tune, arm_fa726te_tune): Define new vec_costs field.
4550 2013-02-12  Richard Biener  <rguenther@suse.de>
4552         PR lto/56295
4553         * gimple-streamer-in.c (input_gimple_stmt): Strip MEM_REFs off
4554         decls again if possible.
4556 2013-02-12  Richard Biener  <rguenther@suse.de>
4558         PR middle-end/56288
4559         * tree-ssa.c (verify_ssa_name): Fix check, move
4560         SSA_NAME_IN_FREE_LIST check up.
4562 2013-02-12  Jakub Jelinek  <jakub@redhat.com>
4563             Steven Bosscher   <steven@gcc.gnu.org>
4565         PR rtl-optimization/56151
4566         * optabs.c (add_equal_note): Don't return 0 if target is a MEM,
4567         equal to op0 or op1, and last_insn pattern is CODE operation
4568         with MEM dest and one of the operands matches that MEM.
4570 2013-02-11  Sriraman Tallam  <tmsriramgoogle.com>
4572         * doc/extend.texi: Document Function Multiversioning and "default"
4573         parameter string to target attribute.
4574         * config/i386/i386.c (get_builtin_code_for_version): Return 0 if
4575         target attribute parameter is "default".
4576         (ix86_compare_version_priority): Remove checks for target attribute.
4577         (ix86_mangle_function_version_assembler_name): Change error to sorry.
4578         Remove check for target attribute equal to NULL. Add assert.
4579         (ix86_generate_version_dispatcher_body): Change error to sorry.
4581 2013-02-11  Iain Sandoe  <iain@codesourcery.com>
4582             Jack Howarth  <howarth@bromo.med.uc.edu>
4583             Patrick Marlier  <patrick.marlier@gmail.com>
4585         PR libitm/55693
4586         * config/darwin.h: Replace ENDFILE_SPEC with TM_DESTRUCTOR and
4587         define ENDFILE_SPEC as TM_DESTRUCTOR.
4588         * config/i386/darwin.h (ENDFILE_SPEC): Use TM_DESTRUCTOR.
4590 2013-02-11  Alexander Potapenko  <glider@google.com>
4591             Jack Howarth  <howarth@bromo.med.uc.edu>
4592             Jakub Jelinek  <jakub@redhat.com>
4594         PR sanitizer/55617
4595         * config/darwin.c (cdtor_record): Rename ctor_record.
4596         (sort_cdtor_records): Rename sort_ctor_records.
4597         (finalize_dtors): New routine to sort destructors by
4598         priority before use in assemble_integer.
4599         (machopic_asm_out_destructor): Use finalize_dtors if needed.
4601 2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
4603         PR rtl-optimization/56275
4604         * simplify-rtx.c (avoid_constant_pool_reference): Check that
4605         offset is non-negative and less than cmode size before
4606         calling simplify_subreg.
4608 2013-02-11  Richard Biener  <rguenther@suse.de>
4610         PR tree-optimization/56264
4611         * cfgloop.h (fix_loop_structure): Adjust prototype.
4612         * loop-init.c (fix_loop_structure): Return the number of
4613         newly discovered loops.
4614         * tree-cfgcleanup.c (repair_loop_structures): When new loops
4615         are discovered, do a full loop-closed SSA rewrite.
4617 2013-02-11  Richard Biener  <rguenther@suse.de>
4619         PR tree-optimization/56273
4620         * tree-vrp.c (simplify_cond_using_ranges): Disable for the
4621         first VRP run.
4622         (check_array_ref): Fix missing newline in dumps.
4623         (search_for_addr_array): Likewise.
4625 2013-02-09  David Edelsohn  <dje.gcc@gmail.com>
4627         * config/rs6000/aix61.h (OS_MISSING_ALTIVEC): Undefine.
4629 2013-02-09  Jakub Jelinek  <jakub@redhat.com>
4631         PR target/56256
4632         * config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Define.
4634 2013-02-08  Vladimir Makarov  <vmakarov@redhat.com>
4636         PR rtl-optimization/56246
4637         * lra-constraints.c (simplify_operand_subreg): Try to reuse
4638         reload pseudo.
4639         * lra.c (lra): Clear lra_optional_reload_pseudos only when all
4640         constraints are satisfied.
4642 2013-02-08  Jeff Law  <law@redhat.com>
4644         PR debug/53948
4645         * emit-rtl.c (reg_is_parm_p): New function.
4646         * regs.h (reg_is_parm_p): New prototype.
4647         * ira-conflicts.c (ira_build_conflicts): Allow parameters in
4648         callee-clobbered registers.
4650 2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
4652         PR target/56043
4653         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
4654         If there is no implicit builtin declaration, just return NULL.
4656 2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
4658         * config/i386/sse.md (FMAMODEM): New mode iterator.
4659         (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
4660         mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
4662 2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
4664         * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
4665         when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
4666         * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
4668 2013-02-08  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
4670         * config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT.
4671         (microblaze*-*-elf): Likewise.
4672         * config/microblaze/linux.h: Add -mbig-endian / -mlittle-endian to
4673         LINK_SPEC.
4674         * config/microblaze/microblaze-c.c: Add builtin defines for
4675         _LITTLE_ENDIAN and _BIG_ENDIAN.
4676         * config/microblaze/microblaze.h: Add TARGET_ENDIAN_DEFAULT and
4677         add to TARGET_DEFAULT flags.
4678         Expand ASM_SPEC and LINK_SPEC.
4679         Update BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN.
4680         * config/microblaze/microblaze.md: Update extendsidi2 and
4681         movdi_internal instructions to use low-order / high-order reg
4682         print_operands.
4683         * config/microblaze/microblaze.opt: Add mbig-endian and mlittle-endian
4684         options and inversemask / mask of LITTLE_ENDIAN.
4685         * config/microblaze/t-microblaze: Expand multilib options to
4686         include mlittle-endian (le) and update exceptions patterns.
4688 2013-02-08  Jakub Jelinek  <jakub@redhat.com>
4690         PR rtl-optimization/56195
4691         * lra-constraints.c (get_reload_reg): Don't reuse regs
4692         if they have smaller mode than requested, if they have
4693         wider mode than requested, try to return a SUBREG.
4695         PR tree-optimization/56250
4696         * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
4697         if type is unsigned and code isn't MULT_EXPR.
4699 2013-02-08  Georg-Johann Lay  <avr@gjlay.de>
4701         PR tree-optimization/56064
4702         * fixed-value.c (fixed_from_double_int): Sign/zero extend payload
4703         bits according to mode.
4704         * fixed-value.h (fixed_from_double_int)
4705         (const_fixed_from_double_int): Adjust comments.
4707 2013-02-08  Richard Biener  <rguenther@suse.de>
4709         PR lto/56231
4710         * lto-streamer.h (struct data_in): Remove current_file, current_line
4711         and current_col members.
4712         * lto-streamer-out.c (lto_output_location): Stream changed bits
4713         en-block for efficiency.
4714         * lto-streamer-in.c (clear_line_info): Remove.
4715         (lto_input_location): Cache current file, line and column
4716         globally via local statics.  Read changed bits en-block.
4717         (input_function): Do not call clear_line_info.
4718         (lto_read_body): Likewise.
4719         (lto_input_toplevel_asms): Likewise.
4721 2013-02-08  Michael Matz  <matz@suse.de>
4723         PR tree-optimization/52448
4724         * tree-ssa-phiopt.c (struct name_to_bb): Add phase member.
4725         (nt_call_phase): New static.
4726         (add_or_mark_expr): Only mark accesses with newer phase than any
4727         call seen.
4728         (nonfreeing_call_p): New.
4729         (nt_init_block): Update nt_call_phase, mark blocks as visited.
4730         (nt_fini_block): Keep blocks marked as visited.
4731         (get_non_trapping): Initialize nt_call_phase, and reset aux pointer.
4733 2013-02-08  Richard Biener  <rguenther@suse.de>
4735         * ira.c (ira): Free broken dominator information.
4737 2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
4739         * config/i386/i386.c (ix86_spill_class): Use INTEGER_CLASS_P macro.
4741 2013-02-08  Marek Polacek  <polacek@redhat.com>
4743         * cfgloop.c (verify_loop_structure): Add more checking of headers.
4745 2013-02-08  Richard Biener  <rguenther@suse.de>
4747         PR middle-end/56181
4748         * cfgloop.h (flow_loops_find): Adjust.
4749         (bb_loop_header_p): Declare.
4750         * cfgloop.c (bb_loop_header_p): New function split out from ...
4751         (flow_loops_find): ... here.  Adjust function signature,
4752         support incremental loop structure update.
4753         (verify_loop_structure): Cleanup.  Verify a loop is a loop.
4754         * cfgloopmanip.c (fix_loop_structure): Move ...
4755         * loop-init.c (fix_loop_structure): ... here.
4756         (apply_loop_flags): Split out from ...
4757         (loop_optimizer_init): ... here.
4758         (fix_loop_structure): Use apply_loop_flags.  Use flow_loops_find
4759         in incremental mode, only remove dead loops here.
4761 2013-02-08  Georg-Johann Lay  <avr@gjlay.de>
4763         PR target/54222
4764         * config/avr/avr.md (unspec) <UNSPEC_ROUND>: Add.
4765         * config/avr/avr-fixed.md (ALL4QA, ALL124QA): New mode iterators.
4766         (round<mode>3, round<mode>3_const): New expanders for fixed-mode.
4767         (*round<mode>3.libgcc): New insns for fixed-modes.
4768         * config/avr/builtins.def (ABSxx): Use a non-NULL LIBNAME.
4769         (ROUNDxx, COUNTLSxx, BITSxx, xxBITS): New DEF_BUILTINs.
4770         (ROUNDFX, COUNTLSFX, ABSFX): New DEF_BUILTINs.
4771         * config/avr/stdfix.h (absFX, bitsFX, FXbits): Remove inline
4772         implementations.  Define to __builtin_avr_absFX,
4773         __builtin_avr_bitsFX, __builtin_avr_FXbits, respectively.
4774         (roundFX, countlsFX): Define to __builtin_avr_roundFX,
4775         __builtin_avr_countlsFX, respectively.
4776         * config/avr/avr-c.c (target.h): Include it.
4777         (enum avr_builtin_id): New enum.
4778         (avr_resolve_overloaded_builtin): New static function.
4779         (avr_register_target_pragmas): Use it to set
4780         targetm.resolve_overloaded_builtin.
4781         * config/avr/avr.c (avr_init_builtins): Supply myriads of local
4782         tree nodes used by DEF_BUILTIN.
4783         (avr_expand_builtin) <AVR_BUILTIN_ROUNDxx>: Sanity-check them.
4784         (avr_fold_builtin) <AVR_BUILTIN_BITSxx>: Fold to VIEW_COVERT_EXPR.
4785         <AVR_BUILTIN_xxBITS>: Same.
4787 2013-02-08  Richard Biener  <rguenther@suse.de>
4789         * cfgloop.c (verify_loop_structure): Properly handle
4790         a loop exiting to another loop header.
4791         * ira-int.h (ira_loops): Remove.
4792         * ira.c (ira_loops): Remove.
4793         (ira): Use loop_optimizer_init and loop_optimizer_finalize.
4794         (do_reload): Use loop_optimizer_finalize.
4795         * ira-build.c (create_loop_tree_nodes): Use get_loops and
4796         number_of_loops to access the loop tree.
4797         (more_one_region_p): Likewise.
4798         (finish_loop_tree_nodes): Likewise.
4799         (rebuild_regno_allocno_maps): Likewise.
4800         (mark_loops_for_removal): Likewise.
4801         (mark_all_loops_for_removal): Likewise.
4802         (remove_unnecessary_regions): Likewise.
4803         (ira_build): Likewise.
4804         * ira-emit.c (setup_entered_from_non_parent_p): Likewise.
4806 2013-02-08  Richard Biener  <rguenther@suse.de>
4808         * Makefile.in (tree-tailcall.o): Add $(CFGLOOP_H) dependency.
4809         * ipa-pure-const.c (analyze_function): Avoid calling
4810         mark_irreducible_loops twice.
4811         * tree-tailcall.c (tree_optimize_tail_calls_1): Mark loops for fixup.
4813 2013-02-07  David S. Miller  <davem@davemloft.net>
4815         * dwarf2out.c (based_loc_descr): Perform leaf register remapping
4816         on 'reg'.
4817         * var-tracking.c (vt_add_function_parameter): Test the presence of
4818         HAVE_window_save properly and do not remap argument registers when
4819         we have a leaf function.
4821 2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
4823         PR bootstrap/56227
4824         * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
4825         instead of "ll".
4826         * config/i386/i386.c (ix86_print_operand): Ditto.
4828 2013-02-07  Vladimir Makarov  <vmakarov@redhat.com>
4830         * lra-constraints.c (process_alt_operands): Fix recently added comment.
4832 2013-02-07  Vladimir Makarov  <vmakarov@redhat.com>
4834         PR rtl-optimization/56225
4835         * lra-constraints.c (process_alt_operands): Check that reload hard
4836         reg can hold value for strict_low_part.
4838 2013-02-07  Jakub Jelinek  <jakub@redhat.com>
4840         PR debug/56154
4841         * dwarf2out.c (dwarf2_debug_hooks): Set end_function hook to
4842         dwarf2out_end_function.
4843         (in_first_function_p, maybe_at_text_label_p,
4844         first_loclabel_num_not_at_text_label): New variables.
4845         (dwarf2out_var_location): In the first function find out
4846         lowest loclabel_num N where .LVLN is known not to be equal to .Ltext0.
4847         (find_empty_loc_ranges_at_text_label, dwarf2out_end_function): New
4848         functions.
4850 2013-02-07  Eric Botcazou  <ebotcazou@adacore.com>
4852         PR rtl-optimization/56178
4853         * cse.c (cse_insn): Do not create a REG_EQUAL note if the source is a
4854         SUBREG of a register.  Tidy up related block of code.
4855         * fwprop.c (forward_propagate_and_simplify): Do not create a REG_EQUAL
4856         note if the source is a register or a SUBREG of a register.
4858 2013-02-07  Jakub Jelinek  <jakub@redhat.com>
4860         PR target/56228
4861         * config/rs6000/rs6000.md (ptrm): New mode attr.
4862         (call_indirect_aix<ptrsize>, call_indirect_aix<ptrsize>_nor11,
4863         call_value_indirect_aix<pttrsize>,
4864         call_value_indirect_aix<pttrsize>_nor11): Use <ptrm> instead of
4865         m in constraints.
4867 2013-02-07  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
4869         * collect2.c (main): Set aix64_flag for -G and -bsvr4 too, disable
4870         if -bnortl. Convert to strcmp and strncmp.
4872 2013-02-07  Alan Modra  <amodra@gmail.com>
4874         PR target/54009
4875         * config/rs6000/rs6000.c (mem_operand_gpr): Check that LO_SUM
4876         addresses won't wrap when offsetting.
4877         (rs6000_secondary_reload): Provide secondary reloads needed for
4878         wrapping LO_SUM addresses.
4880 2013-02-06  Thomas Schwinge  <thomas@codesourcery.com>
4882         * config/gnu.h (GNU_USER_TARGET_OS_CPP_BUILTINS): Never define
4883         MACH, just __MACH__.
4885 2013-02-06  Richard Biener  <rguenther@suse.de>
4887         * tracer.c (tracer): Mark loops with LOOPS_NEED_FIXUP
4888         instead of calling fix_loop_structure.
4890 2013-02-06  Jakub Jelinek  <jakub@redhat.com>
4892         PR middle-end/56217
4893         * omp-low.c (use_pointer_for_field): Return false if
4894         lower_send_shared_vars doesn't generate any copy-out code.
4896 2013-02-06  Tom de Vries  <tom@codesourcery.com>
4898         PR rtl-optimization/56131
4899         * cfgrtl.c (delete_insn): Use NOTE_BASIC_BLOCK instead of BLOCK_FOR_INSN
4900         to get the bb of a NOTE_INSN_BASIC_BLOCK.  Handle the case that the bb
4901         of the label is NULL.  Add comment.
4903 2013-02-05  Jakub Jelinek  <jakub@redhat.com>
4905         * tree.h (struct tree_decl_with_vis): Remove thread_local field.
4907         PR sanitizer/55374
4908         * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Define.
4909         (STATIC_LIBTSAN_LIBS): Likewise.
4910         * gcc.c (ADD_STATIC_LIBTSAN_LIBS, LIBTSAN_EARLY_SPEC): Define.
4911         (LIBTSAN_SPEC): Add ADD_STATIC_LIBTSAN_LIBS, if LIBTSAN_EARLY_SPEC
4912         is defined, don't add anything else beyond that.
4913         (SANITIZER_EARLY_SPEC, SANITIZER_SPEC): Define.
4914         (LINK_COMMAND_SPEC): Use them.
4916         PR tree-optimization/56205
4917         * tree-stdarg.c (check_all_va_list_escapes): Return true if
4918         there are any PHI nodes that set non-va_list_escape_vars SSA_NAME
4919         and some va_list_escape_vars SSA_NAME appears in some PHI argument.
4921 2013-02-05  Richard Biener  <rguenther@suse.de>
4923         PR tree-optimization/53342
4924         PR tree-optimization/53185
4925         * tree-vectorizer.h (vect_check_strided_load): Remove.
4926         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do
4927         not disallow peeling for vectorized strided loads.
4928         (vect_check_strided_load): Make static and simplify.
4929         (vect_analyze_data_refs): Adjust.
4930         * tree-vect-stmts.c (vectorizable_load): Handle peeled loops
4931         correctly when vectorizing strided loads.
4933 2013-02-05  Richard Biener  <rguenther@suse.de>
4935         * doc/install.texi: Refer to ISL, not PPL.
4937 2013-02-05  Jan Hubicka  <jh@suse.cz>
4939         PR tree-optimization/55789
4940         * params.def (PARAM_EARLY_INLINER_MAX_ITERATIONS): Drop to 1.
4942 2013-02-05  Jan Hubicka  <jh@suse.cz>
4944         PR tree-optimization/55789
4945         * cgraphclones.c (cgraph_remove_node_and_inline_clones): Remove
4946         the dead call anyway.
4948 2013-02-05  Eric Botcazou  <ebotcazou@adacore.com>
4950         PR sanitizer/55374
4951         * config/gnu-user.h (LIBASAN_EARLY_SPEC): Add missing guard.
4953 2013-02-04  Alexander Potapenko  <glider@google.com>
4954             Jack Howarth  <howarth@bromo.med.uc.edu>
4955             Jakub Jelinek  <jakub@redhat.com>
4957         PR sanitizer/55617
4958         * config/darwin.c (sort_ctor_records): Stabilized qsort
4959         on constructor priority by using original position.
4960         (finalize_ctors): New routine to sort constructors by
4961         priority before use in assemble_integer.
4962         (machopic_asm_out_constructor): Use finalize_ctors if needed.
4964 2013-02-04  Jakub Jelinek  <jakub@redhat.com>
4966         PR libstdc++/54314
4967         * config/i386/winnt.c (i386_pe_assemble_visibility): Don't warn
4968         about visibility on artificial decls.
4969         * config/sol2.c (solaris_assemble_visibility): Likewise.
4971 2013-02-04  Kai Tietz  <ktietz@redhat.com>
4973         PR target/56186
4974         * config/i386/i386.c (function_value_ms_64): Add additional valtype
4975         argument and improve checking of return-argument types for 16-byte
4976         modes.
4977         (ix86_function_value_1): Add additional valtype argument on call
4978         of function_value_64.
4979         (return_in_memory_ms_64): Sync 16-byte sized mode handling with
4980         handling infunction_value_64 function.
4982 2013-02-04  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
4984         * reload.c (subst_reloads): Fix DEBUG_RELOAD build issue.
4986 2013-02-04  Richard Biener  <rguenther@suse.de>
4988         PR tree-optimization/56188
4989         * tree-ssa-structalias.c (label_visit): Consider case with
4990         initially non-empty points-to set.
4991         (perform_var_substitution): Dump node mapping and clean up.
4993 2013-02-04  Richard Guenther  <rguenther@suse.de>
4995         PR lto/56168
4996         * lto-symtab.c (lto_symtab_merge_decls_1): Make non-builtin
4997         node prevail as last resort.
4998         (lto_symtab_merge_decls): Remove guard on LTRANS here.
4999         (lto_symtab_prevailing_decl): Builtins are their own prevailing decl.
5001 2013-02-04  Richard Biener  <rguenther@suse.de>
5003         PR tree-optimization/56113
5004         * tree-ssa-structalias.c (equiv_class_lookup, equiv_class_add):
5005         Merge into ...
5006         (equiv_class_lookup_or_add): ... this.
5007         (label_visit): Adjust and fix error in previous patch.
5008         (perform_var_substitution): Adjust.
5010 2013-02-03  Oleg Endo  <olegendo@gcc.gnu.org>
5012         * config/sh/divtab.c: Fix formatting and comments throughout the file.
5013         * config/sh/sh4-300.md: Likewise.
5014         * config/sh/sh4a.md: Likewise.
5015         * config/sh/constraints.md: Likewise.
5016         * config/sh/sh.md: Likewise.
5017         * config/sh/netbsd-elf.h: Likewise.
5018         * config/sh/predicates.md: Likewise.
5019         * config/sh/sh-protos.h: Likewise.
5020         * config/sh/ushmedia.h: Likewise.
5021         * config/sh/linux.h: Likewise.
5022         * config/sh/sh.c: Likewise.
5023         * config/sh/superh.h: Likewise.
5024         * config/sh/elf.h: Likewise.
5025         * config/sh/sh4.md: Likewise.
5026         * config/sh/sh.h: Likewise.
5028 2013-02-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5030         * config/pa/constraints.md: Adjust unused letters.  Change "T"
5031         constraint to match_test floating_point_store_memory_operand().
5032         * config/pa/predicates.md (reg_plus_base_memory_operand): New.
5033         (base14_operand): New.
5034         (floating_point_store_memory_operand): New.
5035         (integer_store_memory_operand): Revise to use base14_operand and
5036         reg_plus_base_memory_operand.
5037         (move_dest_operand): Allow symbolic_memory_operands.
5038         (symbolic_memory_operand): Check for LO_SOM.
5039         (symbolic_operand): Change default case to break.
5040         * config/pa/pa.md: Remove unamed DFmode and SFmode patterns to force
5041         CONST_DOUBLE values to be reloaded by putting them into memory when
5042         the destination is a floating point register.
5043         (movdf): Remove code to handle CONST_DOUBLE.
5044         (movsf): Likewise.
5045         (reload_indf_r1): New.
5046         (reload_insf_r1): New.
5047         Consistently use "Q" and "T" constraints with integer and floating
5048         point move instructions, respectively.
5049         (movdi): Remove FAIL.
5050         Change predicate for source operand unamed DImode move from
5051         general_operand to move_src_operand.
5052         (umulsidi3): Change predicate for destination operand to
5053         register_operand.
5054         Likewise for similar unamed patterns.
5055         * config/pa/pa-protos.h (pa_legitimize_reload_address): Declare.
5056         * config/pa/pa.c (pa_symbolic_expression_p): Remove extra parenthesis.
5057         (hppa_legitimize_address): Simplify mask calculation.
5058         (pa_emit_move_sequence): Revised handling of secondary reloads from
5059         REG+D addresses for floating point loads and stores.  Directly handle
5060         loading CONST0_RTX (mode) to a floating point register.
5061         (pa_secondary_reload): Handle reloading DF and SFmode constant values
5062         to floating point registers.  Don't restrict secondary reloads to
5063         floating point registers to integer modes.  Revise some comments and
5064         cleanup some code.
5065         (TARGET_LEGITIMATE_ADDRESS_P): Define.
5066         (pa_legitimate_address_p): New.
5067         (pa_legitimize_reload_address): New.
5068         * config/pa/pa.h (STRICT_REG_OK_FOR_INDEX_P): New.
5069         (STRICT_REG_OK_FOR_BASE_P): New.
5070         (GO_IF_LEGITIMATE_ADDRESS): Delete.  Update some related comments.
5071         (LEGITIMIZE_RELOAD_ADDRESS): Revise to use pa_legitimize_reload_address.
5073 2013-02-03  David Edelsohn  <dje.gcc@gmail.com>
5074             Andrew Dixie  <andrewd@gentrack.com>
5076         * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
5077         flag set.
5079 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
5081         * expmed.c (extract_bit_field_1): Pass the full width of the
5082         structure to get_best_reg_extraction_insn.
5084 2013-02-01  David Edelsohn  <dje.gcc@gmail.com>
5086         PR target/54601
5087         * configure.ac (use_cxa_atexit): Add AIX.
5088         * configure: Regenerate.
5090         * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtcxa.o.
5092 2013-02-01  Jakub Jelinek  <jakub@redhat.com>
5094         PR debug/54793
5095         * final.c (need_profile_function): New variable.
5096         (final_start_function): Drop ATTRIBUTE_UNUSED from first argument.
5097         If first of NOTE_INSN_BASIC_BLOCK or NOTE_INSN_FUNCTION_BEG
5098         is only preceeded by NOTE_INSN_VAR_LOCATION or NOTE_INSN_DELETED
5099         notes, targetm.asm_out.function_prologue doesn't emit anything,
5100         HAVE_prologue and profiler should be emitted before prologue,
5101         set need_profile_function instead of emitting it.
5102         (final_scan_insn): If need_profile_function, emit
5103         profile_function on the first NOTE_INSN_BASIC_BLOCK or
5104         NOTE_INSN_FUNCTION_BEG note.
5106 2013-02-01  Richard Henderson  <rth@redhat.com>
5108         * config/rs6000/rs6000.md (smulditi3): New.
5109         (umulditi3): New.
5111         * config/alpha/alpha.md (umulditi3): New.
5113 2013-02-01  David Edelsohn  <dje.gcc@gmail.com>
5115         * config/rs6000/xcoff.h (ASM_OUTPUT_ALIGNED_COMMON): Use floor_log2.
5116         (ASM_OUTPUT_ALIGNED_LOCAL): New.
5118 2013-02-01  Richard Biener  <rguenther@suse.de>
5120         PR tree-optimization/56113
5121         * tree-ssa-structalias.c (label_visit): Reduce work for
5122         single-predecessor nodes.
5124 2013-02-01  Eric Botcazou  <ebotcazou@adacore.com>
5126         * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
5127         range isn't testing for zero.
5129 2013-01-31  Steven Bosscher  <steven@gcc.gnu.org>
5131         PR middle-end/56113
5132         * fwprop.c (fwprop_init): Set up loops without CFG modifications.
5134 2013-01-31  Hiroyuki Ono  <hiroyuki.ono.jc@renesas.com>
5135             Nick Clifton  <nickc@redhat.com>
5137         * config/v850/constraints.md (Q): Define as a memory constraint.
5138         * config/v850/predicates.md (label_ref_operand): New predicate.
5139         (e3v5_shift_operand): New predicate.
5140         (ior_operator): New predicate.
5141         * config/v850/t-v850: Add e3v5 multilib.
5142         * config/v850/v850-protos.h (v850_adjust_insn_length): Prototype.
5143         (v850_gen_movdi): Prototype.
5144         * config/v850/v850.c: Add support for e3v5 architecture.
5145         Rename all uses of TARGET_V850E || TARGET_V850E2_ALL to
5146         TARGET_V850E_UP.
5147         (construct_save_jarl): Add e3v5 long JARL support.
5148         (v850_adjust_insn_length): New function.  Adjust length of call
5149         insns when using e3v5 instructions.
5150         (v850_gen_movdi): New function: Generate instructions to move a
5151         DImode value.
5152         * config/v850/v850.h (TARGET_CPU_v850e3v5): Define.
5153         (CPP_SPEC): Define __v850e3v5__ as appropriate.
5154         (TARGET_USE_FPU): Enable for e3v5.
5155         (CONST_OK_FOR_W): New macro.
5156         (ADJUST_INSN_LENGTH): Define.
5157         * config/v850/v850.md (UNSPEC_LOOP): Define.
5158         (attr cpu): Add v850e3v5.
5159         Rename all uses of TARGET_V850E2 to TARGET_V850E2V3_UP.
5160         (movdi): New pattern.
5161         (movdi_internal): New pattern.
5162         (cbranchsf4): Conditionalize on TARGET_USE_FPU.
5163         (cbranchdf4): Conditionalize on TARGET_USE_FPU.
5164         (cstoresf4): Likewise.
5165         (cstoredf4): Likewise.
5166         (insv): New pattern.
5167         (rotlso3_a): New pattern.
5168         (rotlsi3_b): New pattern
5169         (rotlsi3_v850e3v5): New pattern.
5170         (doloop_begin): New pattern.
5171         (fix_loop_counter): New pattern.
5172         (doloop_end): New pattern.
5173         (branch_normal): Add e3v5 long branch support.
5174         (branch_invert): Likewise.
5175         (branch_z_normal): Likewise.
5176         (branch_z_invert): Likewise.
5177         (branch_nz_normal): Likewise.
5178         (branch_nz_invert): Likewise.
5179         (call_internal_short): Add e3v5 register-indirect JARL support.
5180         (call_internal_long): Likewise.
5181         (call_value_internal_short): Likewise.
5182         (call_value_internal_long): Likewise.
5183         * config/v850/v850.opt (mv850e3v5, mv850e2v4): New options.
5184         (mloop): New option.
5185         * config.gcc: Add support for configuring v840e3v5 target.
5186         * doc/invoke.texi: Document new v850 specific command line options.
5188 2013-01-31  Paul Koning  <ni1d@arrl.net>
5190         PR debug/55059
5191         PR debug/54508
5192         * dwarf2out.c (prune_unused_types_mark): Mark all of parent's
5193         children if parent is a class.
5194         (prune_unused_types_prune): Don't add DW_AT_declaration.
5196 2013-01-31  Richard Biener  <rguenther@suse.de>
5198         PR tree-optimization/56157
5199         * tree-vect-slp.c (vect_get_slp_defs): More thoroughly try to
5200         match up operand with SLP child.
5202 2013-01-31  Jason Merrill  <jason@redhat.com>
5204         PR debug/54410
5205         * dwarf2out.c (gen_struct_or_union_type_die): Always schedule template
5206         parameters the first time.
5207         (gen_scheduled_generic_parms_dies): Check completeness here.
5209 2013-01-31  Richard Biener  <rguenther@suse.de>
5211         PR middle-end/53073
5212         * common.opt (faggressive-loop-optimizations): New flag,
5213         enabled by default.
5214         * doc/invoke.texi (faggressive-loop-optimizations): Document.
5215         * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Guard
5216         infer_loop_bounds_from_undefined by it.
5218 2013-01-31  Richard Biener  <rguenther@suse.de>
5220         PR tree-optimization/56150
5221         * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Do not
5222         visit virtual operands.
5223         (find_uses_to_rename_bb): Likewise.
5225 2013-01-31  Richard Biener  <rguenther@suse.de>
5227         PR tree-optimization/56150
5228         * tree-ssa-tail-merge.c (gimple_equal_p): Properly handle
5229         mixed store non-store stmts.
5231 2013-01-30  Jakub Jelinek  <jakub@redhat.com>
5233         PR sanitizer/55374
5234         * gcc.c (LIBASAN_SPEC): Define just to ADD_STATIC_LIBASAN_LIBS if
5235         LIBASAN_EARLY_SPEC is defined.
5236         (LIBASAN_EARLY_SPEC): Define to empty string if not already defined.
5237         (LINK_COMMAND_SPEC): Add LIBASAN_EARLY_SPEC for -fsanitize=address,
5238         before %o.
5239         * config/gnu-user.h (LIBASAN_EARLY_SPEC): Define.
5241         PR c++/55742
5242         * config/i386/i386.c (ix86_valid_target_attribute_inner_p): Diagnose
5243         invalid args instead of ICEing on it.
5244         (ix86_valid_target_attribute_tree): Return error_mark_node if
5245         ix86_valid_target_attribute_inner_p failed.
5246         (ix86_valid_target_attribute_p): Return false only if
5247         ix86_valid_target_attribute_tree returned error_mark_node.  Allow
5248         target("default") attribute.
5249         (sorted_attr_string): Change argument from const char * to tree,
5250         merge in all target attribute arguments rather than just one.
5251         Formatting fix.  Use XNEWVEC instead of xmalloc and XDELETEVEC
5252         instead of free.  Avoid using strcat.
5253         (ix86_mangle_function_version_assembler_name): Mangle
5254         target("default") as if no target attribute is present.  Adjust
5255         sorted_attr_string caller.  Avoid leaking memory.  Use XNEWVEC
5256         instead of xmalloc and XDELETEVEC instead of free.
5257         (ix86_function_versions): Don't return true if one of the decls
5258         doesn't have target attribute.  If they don't and one of the decls
5259         is DECL_FUNCTION_VERSIONED, report an error.  Adjust
5260         sorted_attr_string caller.  Use XDELETEVEC instead of free.
5261         (ix86_supports_function_versions): Remove.
5262         (make_name): Fix up formatting.
5263         (make_dispatcher_decl): Remove resolver_name and its initialization.
5264         Avoid leaking memory.
5265         (is_function_default_version): Return true if there is
5266         target("default") attribute rather than no target attribute at all.
5267         (make_resolver_func): Avoid leaking memory.
5268         (ix86_generate_version_dispatcher_body): Likewise.
5269         (TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS): Remove.
5270         * target.def (supports_function_versions): Remove.
5271         * doc/tm.texi.in (SUPPORTS_FUNCTION_VERSIONS): Remove.
5272         * doc/tm.texi: Regenerated.
5274 2013-01-30  Vladimir Makarov  <vmakarov@redhat.com>
5276         PR rtl-optimization/56144
5277         * lra-constraints.c (get_reload_reg): Don't reuse reload pseudo
5278         for values with side effects.
5280 2013-01-30  Richard Biener  <rguenther@suse.de>
5282         * sparseset.h (sparseset_bit_p): Use gcc_checking_assert.
5283         (sparseset_pop): Likewise.
5284         * cfganal.c (compute_idf): Likewise.  Increase work-stack size
5285         to be able to use quick_push in the worker loop.
5287 2013-01-30  Marek Polacek  <polacek@redhat.com>
5289         * cfgcleanup.c (cleanup_cfg): Don't mark affected BBs.
5291 2013-01-30  Richard Biener  <rguenther@suse.de>
5293         PR lto/56147
5294         * lto-symtab.c (lto_symtab_merge_decls_1): Guard DECL_BUILT_IN check.
5296 2013-01-30  Georg-Johann Lay  <avr@gjlay.de>
5298         PR tree-optimization/56064
5299         * fixed-value.c (fixed_from_double_int): New function.
5300         * fixed-value.h (fixed_from_double_int): New prototype.
5301         (const_fixed_from_double_int): New static inline function.
5302         * fold-const.c (native_interpret_fixed): New static function.
5303         (native_interpret_expr) <FIXED_POINT_TYPE>: Use it.
5304         (can_native_interpret_type_p) <FIXED_POINT_TYPE>: Return true.
5305         (native_encode_fixed): New static function.
5306         (native_encode_expr) <FIXED_CST>: Use it.
5307         (native_interpret_int): Move double_int worker code to...
5308         * double-int.c (double_int::from_buffer): ...this new static method.
5309         * double-int.h (double_int::from_buffer): Prototype it.
5311 2013-01-30  Richard Biener  <rguenther@suse.de>
5313         * tree-ssa-structalias.c (final_solutions, final_solutions_obstack):
5314         New pointer-map and obstack.
5315         (init_alias_vars): Allocate pointer-map and obstack.
5316         (delete_points_to_sets): Free them.
5317         (find_what_var_points_to): Cache result.
5318         (find_what_p_points_to): Adjust for changed interface of
5319         find_what_var_points_to.
5320         (compute_points_to_sets): Likewise.
5321         (ipa_pta_execute): Likewise.
5323 2013-01-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5325         * configure.ac (HAVE_AS_SPARC_NOBITS): New test.
5326         * configure: Regenerate.
5327         * config.in: Regenerate.
5328         * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Emit
5329         #nobits/#progbits if supported.
5331 2013-01-29  Oleg Endo  <olegendo@gcc.gnu.org>
5333         PR target/56121
5334         * config/sh/sh.md (bclr_m2a, bset_m2a, bst_m2a, bld_m2a, bldsign_m2a,
5335         bld_reg, *bld_regqi, band_m2a, bandreg_m2a, bor_m2a, borreg_m2a,
5336         bxor_m2a, bxorreg_m2a): Add satisfies_constraint_K03 condition.
5338 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
5340         * config/arm/cortex-a7.md (cortex_a7_neon, cortex_a7_all): Remove.
5341         (cortex_a7_idiv): Use cortex_a7_both instead of cortex_a7_all.
5343 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
5345         * config/arm/arm.c (cortexa7_younger): Return true for TYPE_CALL.
5346         * config/arm/cortex-a7.md (cortex_a7_call): Update required units.
5348 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
5350         * config/arm/arm-protos.h (arm_mac_accumulator_is_result): New
5351         declaration.
5352         * config/arm/arm.c (arm_mac_accumulator_is_result): New function.
5353         * config/arm/cortex-a7.md: New bypasses using
5354         arm_mac_accumulator_is_result.
5356 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
5358         * config/arm/cortex-a7.md (cortex_a7_neon_mul):  New reservation.
5359         (cortex_a7_neon_mla): Likewise.
5360         (cortex_a7_fpfmad): New reservation.
5361         (cortex_a7_fpmacs): Use ffmas and update required units.
5362         (cortex_a7_fpmuld): Update required units and latency.
5363         (cortex_a7_fpmacd): Likewise.
5364         (cortex_a7_fdivs, cortex_a7_fdivd): Likewise.
5365         (cortex_a7_neon). Likewise.
5366         (bypass) Update participating units.
5368 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
5370         * config/arm/arm.md (type): Add ffmas and ffmad to "type" attribute.
5371         * config/arm/vfp.md (fma,fmsub,fnmsub,fnmadd): Change type
5372         from fmac to ffma.
5373         * config/arm/vfp11.md (vfp_farith): Use ffmas.
5374         (vfp_fmul): Use ffmad.
5375         * config/arm/cortex-r4f.md (cortex_r4_fmacs): Use ffmas.
5376         (cortex_r4_fmacd): Use ffmad.
5377         * config/arm/cortex-m4-fpu.md (cortex_m4_fmacs): Use ffmas.
5378         * config/arm/cortex-a9.md (cortex_a9_fmacs):  Use ffmas.
5379         (cortex_a9_fmacd): Use ffmad.
5380         * config/arm/cortex-a8-neon.md (cortex_a8_vfp_macs): Use ffmas.
5381         (cortex_a8_vfp_macd): Use ffmad.
5382         * config/arm/cortex-a5.md (cortex_a5_fpmacs): Use ffmas.
5383         (cortex_a5_fpmacd): Use ffmad.
5384         * config/arm/cortex-a15-neon.md (cortex_a15_vfp_macs) Use ffmas.
5385         (cortex_a15_vfp_macd): Use ffmad.
5386         * config/arm/arm1020e.md (v10_fmul): Use ffmas and ffmad.
5388 2013-01-29  Jason Merrill  <jason@redhat.com>
5390         PR libstdc++/54314
5391         * varasm.c (default_assemble_visibility): Don't warn about
5392         visibility on artificial decls.
5394 2013-01-29  Richard Biener  <rguenther@suse.de>
5396         PR tree-optimization/56113
5397         * tree-ssa-structalias.c (equiv_class_lookup): Also return
5398         the bitmap leader.
5399         (label_visit): Free duplicate bitmaps and record the leader instead.
5400         (perform_var_substitution): Adjust.
5402 2013-01-29  Richard Biener  <rguenther@suse.de>
5404         PR tree-optimization/55270
5405         * tree-ssa-dom.c (eliminate_degenerate_phis): If we changed
5406         the CFG, schedule loops for fixup.
5408 2013-01-29  Nick Clifton  <nickc@redhat.com>
5410         * config/rl78/rl78.c (rl78_regno_mode_code_ok_for_base_p): Allow
5411         SP_REG.
5413 2013-01-28  Leif Ekblad  <leif@rdos.net>
5415         * config.gcc (i[34567]86-*-rdos*, x86_64-*-rdos*): New targets.
5416         * config/i386/i386.h (TARGET_RDOS): New macro.
5417         (DEFAULT_LARGE_SECTION_THRESHOLD): New macro.
5418         * config/i386/i386.c (ix86_option_override_internal): For 64bit
5419         TARGET_RDOS, set ix86_cmodel to CM_MEDIUM_PIC and flag_pic to 1.
5420         * config/i386/i386.opt (mlarge-data-threshold): Initialize to
5421         DEFAULT_LARGE_SECTION_THRESHOLD.
5422         * config/i386/i386.md (R14_REG, R15_REG): New constants.
5423         * config/i386/rdos.h: New file.
5424         * config/i386/rdos64.h: New file.
5426 2013-01-28  Bernd Schmidt  <bernds@codesourcery.com>
5428         PR other/54814
5429         * reload.c (find_valid_class_1): Use in_hard_reg_set_p instead of
5430         TEST_HARD_REG_BIT.
5432 2013-01-28  Jakub Jelinek  <jakub@redhat.com>
5434         PR rtl-optimization/56117
5435         * sched-deps.c (sched_analyze_2) <case PREFETCH>: For use_cselib
5436         call cselib_lookup_from_insn on the MEM before calling
5437         add_insn_mem_dependence.
5439 2013-01-28  Richard Biener  <rguenther@suse.de>
5441         * tree-inline.c (remap_gimple_stmt): Do not assing a BLOCK
5442         to a stmt that didn't have one.
5443         (copy_phis_for_bb): Likewise for PHI arguments.
5444         (copy_debug_stmt): Likewise for debug stmts.
5446 2013-01-28  Richard Biener  <rguenther@suse.de>
5448         PR tree-optimization/56034
5449         * tree-loop-distribution.c (enum partition_kind): Add PKIND_REDUCTION.
5450         (partition_builtin_p): Adjust.
5451         (generate_code_for_partition): Handle PKIND_REDUCTION.  Assert
5452         it is the last partition.
5453         (rdg_flag_uses): Check SSA_NAME_IS_DEFAULT_DEF before looking
5454         up the vertex for the definition.
5455         (classify_partition): Classify whether a partition is a
5456         PKIND_REDUCTION, thus has uses outside of the loop.
5457         (ldist_gen): Inherit PKIND_REDUCTION when merging partitions.
5458         Merge all PKIND_REDUCTION partitions into the last partition.
5459         (tree_loop_distribution): Seed partitions from reductions as well.
5461 2013-01-28  Jakub Jelinek  <jakub@redhat.com>
5463         PR tree-optimization/56125
5464         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
5465         pow(x,c) into sqrt(x) * powi(x, n/2) or
5466         1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
5467         optimizing for size.
5468         Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
5469         1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
5470         integer.
5472         PR tree-optimization/56094
5473         * gimplify.c (force_gimple_operand_1): Temporarily set input_location
5474         to UNKNOWN_LOCATION while gimplifying expr.
5476 2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
5478         PR target/56114
5479         * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
5480         operand 0 in movabs insn template for -masm=intel asm alternative.
5481         (*movabs<mode>_2): Ditto for operand 1.
5483 2013-01-26  David Holsgrove  <david.holsgrove@xilinx.com>
5485         PR target/54663
5486         * config.gcc (microblaze*-linux*): Add tmake_file to allow building
5487         of microblaze-c.o
5489 2013-01-26  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
5491         * config.gcc (microblaze*-*-*): Rename microblaze*-*-elf, update
5492         tm_file.
5494 2013-01-25  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
5496         * config/aarch64/aarch64.c (TARGET_FIXED_CONDITION_CODE_REGS):
5497         Undef to avoid warning.
5499 2013-01-25  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
5501         * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
5502         * configure: Regenerate.
5504 2013-01-25  Jakub Jelinek  <jakub@redhat.com>
5506         PR tree-optimization/56098
5507         * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
5508         for stmts with volatile ops.
5509         (cond_store_replacement): Don't optimize if assign has volatile ops.
5510         (cond_if_else_store_replacement_1): Don't optimize if either
5511         then_assign or else_assign have volatile ops.
5512         (hoist_adjacent_loads): Don't optimize if either def1 or def2 have
5513         volatile ops.
5515 2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
5517         * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
5519 2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
5521         * doc/extend.texi (Example of asm with clobbered asm reg): Fix
5522         missing ':' in asm example.
5524 2013-01-25  Tejas Belagod  <tejas.belagod@arm.com>
5526         * config/aarch64/aarch64-simd-builtins.def: Separate sq<r>dmulh_lane
5527         entries into lane and laneq entries.
5528         * config/aarch64/aarch64-simd.md (aarch64_sq<r>dmulh_lane<mode>):
5529         Remove AdvSIMD scalar modes.
5530         (aarch64_sq<r>dmulh_laneq<mode>): New.
5531         (aarch64_sq<r>dmulh_lane<mode>): New RTL pattern for Scalar AdvSIMD
5532         modes.
5533         * config/aarch64/arm_neon.h: Fix all the vq<r>dmulh_lane* intrinsics'
5534         builtin implementations to relfect changes in RTL in aarch64-simd.md.
5535         * config/aarch64/iterators.md (VCOND): New.
5536         (VCONQ): New.
5538 2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
5540         PR target/54222
5541         * config/avr/builtins.def (DEF_BUILTIN): Add LIBNAME argument.
5542         Add NULL LIBNAME argument to existing definitions.
5543         (ABSHR, ABSR, ABSLR, ABSLLR, ABSHK, ABSK, ABSLK, ABSLLK): New.
5544         * config/avr/avr-c.c (DEF_BUILTIN): Add LIBNAME argument.
5545         * config/avr/avr.c (DEF_BUILTIN): Same.
5546         (avr_init_builtins): Pass down LIBNAME to add_builtin_function.
5547         (avr_expand_builtin): Expand to a vanilla call if a libgcc
5548         implementation is available (DECL_ASSEMBLER_NAME is set).
5549         (avr_fold_absfx): New static function.
5550         (avr_fold_builtin): Use it to handle: AVR_BUILTIN_ABSHR,
5551         AVR_BUILTIN_ABSR, AVR_BUILTIN_ABSLR, AVR_BUILTIN_ABSLLR,
5552         AVR_BUILTIN_ABSHK, AVR_BUILTIN_ABSK, AVR_BUILTIN_ABSLK,
5553         AVR_BUILTIN_ABSLLK.
5554         * config/avr/stdfix.h (abshr, absr, abslr, absllr)
5555         (abshk, absk, abslk, absllk): Provide as static inline functions.
5557 2013-01-25  Marek Polacek  <polacek@redhat.com>
5559         PR tree-optimization/56035
5560         * cfgloopmanip.c (fix_loop_structure): Remove redundant condition.
5562 2012-01-24  Uros Bizjak  <ubizjak@gmail.com>
5564         * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
5565         (*movtf_internal_rex64): Add (!o,C) alternative
5566         (*movxf_internal_rex64): Ditto.
5567         (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
5569 2013-01-24  Shenghou Ma  <minux.ma@gmail.com>
5571         * doc/invoke.texi: fix typo.
5572         * doc/objc.texi: fix typo.
5574 2013-01-24  Richard Sandiford  <rdsandiford@googlemail.com>
5576         * config/mips/mips.md (*and<mode>3_mips16): Use the "W" constraint
5577         for the first two alternatives.
5579 2013-01-24  Diego Novillo  <dnovillo@google.com>
5581         * Makefile.in (GGC): Remove.  Replace all instances with ggc-page.o.
5582         (ggc-zone.o): Remove.
5583         * configure.ac: Remove option --with-gc.
5584         * configure: Re-generate.
5585         * doc/install.texi: Remove documentation for --with-gc.
5586         * gengtype.c (write_enum_defn): Remove.  Update all users.
5587         (write_Types_process_field): Remove generation of gt_e_* argument.
5588         (output_type_enum): Remove.  Update all users.
5589         (write_enum_defn): Remove.  Update all users.
5590         (enum alloc_zone): Remove.  Update all users.
5591         (write_splay_tree_allocator_def): Remove generation of gt_e_* argument.
5592         * ggc-common.c (ggc_splay_alloc): Remove first argument.
5593         Update all callers.
5594         (struct ptr_data): Remove field TYPE.  Update all users.
5595         (gt_pch_note_object): Remove argument TYPE.  Update all users.
5596         * ggc-internal.h (ggc_pch_alloc_object): Remove last argument.
5597         Update all users.
5598         * ggc-none.c (ggc_alloc_typed_stat): Remove.
5599         (struct alloc_zone): Remove.
5600         (ggc_internal_alloc_zone_stat): Remove.
5601         (ggc_internal_cleared_alloc_zone_stat): Remove.
5602         * ggc-page.c (ggc_alloc_typed_stat): Remove.
5603         (ggc_pch_count_object): Remove last argument.  Update all users.
5604         (ggc_pch_alloc_object): Remove last argument.  Update all users.
5605         (struct alloc_zone): Remove.
5606         * ggc-zone.c: Remove.
5607         * ggc.h (gt_pch_note_object): Remove last argument.  Update all users.
5608         (struct alloc_zone): Remove.
5609         (ggc_alloc_typed_stat): Remove.
5610         (ggc_alloc_typed): Remove.
5611         (ggc_splay_alloc): Remove first argument.
5612         (rtl_zone): Remove.  Update all users.
5613         (tree_zone): Remove.  Update all users.
5614         (tree_id_zone): Remove.  Update all users.
5615         (ggc_internal_zone_alloc_stat): Remove.  Update all users.
5616         (ggc_internal_zone_cleared_alloc_stat): Remove.  Update all users.
5617         (ggc_internal_zone_vec_alloc_stat): Remove.  Update all users.
5618         * tree-ssanames.c: Remove references to zone allocator in comments.
5620 2013-01-24  Georg-Johann Lay  <avr@gjlay.de>
5622         * config/avr/avr.c (avr_out_fract): Make register numbers that
5623         might be outside of source operand signed.
5625 2013-01-24  Uros Bizjak  <ubizjak@gmail.com>
5627         * config/i386/constraints.md (Yf): New constraint.
5628         * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
5629         of f constraint to conditionaly disable x87 register preferences.
5630         (*movdf_internal): Ditto.
5631         (*movsf_internal): Ditto.
5633 2013-01-24  Steven Bosscher  <steven@gcc.gnu.org>
5635         PR inline-asm/55934
5636         * lra-assigns.c (assign_by_spills): Throw away the pattern of asms
5637         that have operands with impossible constraints.
5638         Add a FIXME for a speed-up opportunity.
5639         * lra-constraints.c (process_alt_operands): Verify that a class
5640         selected from constraints on asms is valid for the operand mode.
5641         (curr_insn_transform): Remove incorrect comment.
5643 2013-01-23  David Edelsohn  <dje.gcc@gmail.com>
5645         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Check that
5646         TOC operand is a valid symbol ref in the constant pool.
5648 2013-01-23  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
5650         * config/microblaze/linux.h: Add TARGET_OS_CPP_BUILTINS
5652 2013-01-23  Georg-Johann Lay  <avr@gjlay.de>
5654         PR target/54222
5655         * config/avr/stdfix.h: New file.
5656         * t-avr (stdfix-gcc.h): New rule to build it.
5657         (EXTRA_HEADERS): Set it to install stdfix.h, stdfix-gcc.h.
5659 2013-01-23  Kostya Serebryany  <kcc@google.com>
5661         * config/darwin.h: remove dependency on
5662         CoreFoundation (asan on Mac OS).
5664 2013-01-23  Jakub Jelinek  <jakub@redhat.com>
5666         PR target/49069
5667         * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
5668         instead of cmpdi_operand for first comparison operand.
5669         Don't assert that comparison operands aren't both constants.
5671 2013-01-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
5673         * doc/install.texi (Downloading the Source): Update references to
5674         downloading separate components.
5676 2013-01-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
5678         * doc/extend.texi (__int128): Improve grammar.
5680 2013-01-22  Uros Bizjak  <ubizjak@gmail.com>
5682         PR target/56028
5683         * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
5684         alternative to (o,r).
5685         (*movdi_internal_rex64): Remove (!o,n) alternative.
5686         (DImode immediate->memory splitter): Remove.
5687         (DImode immediate->memory peephole2): Remove.
5688         (movtf): Enable for TARGET_64BIT || TARGET_SSE.
5689         (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
5690         alternative to (!o,*r).
5691         (*movtf_internal_sse): New pattern.
5692         (*movxf_internal_rex64): New pattern.
5693         (*movxf_internal): Disable for TARGET_64BIT.
5694         (*movdf_internal_rex64): Remove (!o,F) alternative.
5696 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
5698         PR middle-end/56074
5699         * dumpfile.c (dump_loc): Only print loc if LOCATION_LOCUS (loc)
5700         isn't UNKNOWN_LOCATION nor BUILTINS_LOCATION.
5701         * tree-vect-loop-manip.c (find_loop_location): Also ignore
5702         stmt locations where LOCATION_LOCUS of the stmt location is
5703         UNKNOWN_LOCATION or BUILTINS_LOCATION.
5705         PR target/55686
5706         * config/i386/i386.md (UNSPEC_STOS): New.
5707         (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
5708         *strsetqi_1): Add UNSPEC_STOS.
5710 2013-01-22  Paolo Carlini  <paolo.carlini@oracle.com>
5712         PR c++/56067
5713         * doc/invoke.texi: Remove left over -Wsynth example.
5715 2013-01-21  Jakub Jelinek  <jakub@redhat.com>
5717         PR tree-optimization/56051
5718         * fold-const.c (fold_binary_loc): Don't fold
5719         X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
5720         a narrowing conversion, or widening conversion from signed
5721         to unsigned.
5723 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
5725         PR rtl-optimization/56023
5726         * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
5727         dependent on debug instruction.
5729 2013-01-21  Martin Jambor  <mjambor@suse.cz>
5731         PR middle-end/56022
5732         * function.c (allocate_struct_function): Call
5733         invoke_set_current_function_hook earlier.
5735 2013-01-21  Jakub Jelinek  <jakub@redhat.com>
5737         * reload1.c (init_reload): Only initialize reload_obstack
5738         during the first call.
5740 2013-01-21  Marek Polacek  <polacek@redhat.com>
5742         * cfgloop.c (verify_loop_structure): Fix up grammar.
5744 2013-01-21  Yi-Hsiu Hsu  <ahsu@marvell.com>
5746         * config/arm/marvell-pj4.md (pj4_shift_conds, pj4_alu_shift,
5747         pj4_alu_shift_conds, pj4_shift): Handle simple_alu_shift.
5749 2013-01-21  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
5751         PR target/56058
5752         * config/arm/marvell-pj4.md: Update copyright year.
5753         Fix up use of alu to alu_reg and simple_alu_imm.
5755 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
5757         * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
5759 2013-01-20  Vladimir Makarov  <vmakarov@redhat.com>
5761         PR target/55433
5762         * lra-constraints.c (curr_insn_transform): Don't reuse original
5763         insn for secondary memory move when memory mode should be different.
5765 2013-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5767         * config/pa/pa.md (atomic_loaddi, atomic_loaddi_1, atomic_storedi,
5768         atomic_storedi_1): New patterns.
5770 2013-01-20  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
5772         btver2 pipeline descriptions.
5773         * config/i386/i386.c: Enable CPU_BTVER2 to use btver2 pipeline
5774         descriptions.
5775         * config/i386/i386.md (btver2_decode): New type attributes.
5776         * config/i386/sse.md (btver2_decode, btver2_sse_attr): New
5777         type attributes.
5778         * config/i386/btver2.md: New file describing btver2 pipelines.
5780 2013-01-19  Andrew Pinski  <apinski@cavium.com>
5782         PR tree-optimization/52631
5783         * tree-ssa-sccvn (visit_use): Before looking up the original
5784         statement, try looking up the simplified expression.
5786 2013-01-19  Anthony Green  <green@moxielogic.com>
5788         * config/moxie/moxie.c (moxie_expand_prologue): Set
5789         current_function_static_stack_size.
5791 2013-01-18  Jakub Jelinek  <jakub@redhat.com>
5793         PR tree-optimization/56029
5794         * tree-phinodes.c (reserve_phi_args_for_new_edge): Set
5795         gimple_phi_arg_location for the new arg to UNKNOWN_LOCATION.
5797 2013-01-18  Sharad Singhai  <singhai@google.com>
5799         PR tree-optimization/55995
5800         * dumpfile.c (dump_loc): Print location only if available.
5801         * tree-vectorizer.c (increase_alignment): Intialize vect_location.
5803 2013-01-18  Vladimir Makarov  <vmakarov@redhat.com>
5805         PR target/55433
5806         * lra-constraints.c (curr_insn_transform): Reuse original insn for
5807         secondary memory move.
5808         (inherit_reload_reg): Use rclass instead of cl for
5809         check_secondary_memory_needed_p.
5811 2013-01-18  Jakub Jelinek  <jakub@redhat.com>
5813         PR middle-end/56015
5814         * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
5815         the case where writing real complex part of target modifies op1.
5817 2013-01-18  James Greenhalgh  <james.greenhalgh@arm.com>
5819         * config/aarch64/aarch64-simd.md
5820         (aarch64_vcond_internal<mode>): Handle unordered cases.
5821         * config/aarch64/iterators.md (v_cmp_result): New.
5823 2013-01-18  Yi-Hsiu Hsu  <ahsu@marvell.com>
5824             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
5826         * config/arm/marvell-pj4.md: New file.
5827         * config/arm/arm.c (arm_issue_rate): Add marvell_pj4.
5828         * config/arm/arm.md (generic_sched): Add marvell_pj4.
5829         (generic_vfp): Likewise.
5830         * config/arm/arm-cores.def: Add marvell-pj4.
5831         * config/arm/arm-tune.md: Regenerate.
5832         * config/arm/arm-tables.opt: Regenerate.
5833         * config/arm/bpabi.h (BE8_LINK_SPEC): Add marvell_pj4.
5834         * doc/invoke.texi: Document marvell-pj4.
5836 2013-01-18  Tejas Belagod  <tejas.belagod@arm.com>
5838         * config/aarch64/arm_neon.h: Map scalar types to standard types.
5840 2013-01-18  Alexandre Oliva  <aoliva@redhat.com>
5842         PR debug/54114
5843         PR debug/54402
5844         PR debug/49888
5845         * var-tracking.c (negative_power_of_two_p): New.
5846         (global_get_addr_cache, local_get_addr_cache): New.
5847         (get_addr_from_global_cache, get_addr_from_local_cache): New.
5848         (vt_canonicalize_addr): Rewrite using the above.  Adjust the
5849         heading comment.
5850         (vt_stack_offset_p): Remove.
5851         (vt_canon_true_dep): Always canonicalize loc's address.
5852         (clobber_overlapping_mems): Make sure we have a MEM.
5853         (local_get_addr_clear_given_value): New.
5854         (val_reset): Clear local cached entries.
5855         (compute_bb_dataflow): Create and release the local cache.
5856         Disable duplicate MEMs clobbering.
5857         (emit_notes_in_bb): Clobber MEMs likewise.
5858         (vt_emit_notes): Create and release the local cache.
5859         (vt_initialize, vt_finalize): Create and release the global
5860         cache, respectively.
5861         * alias.c (rtx_equal_for_memref_p): Compare operands of ENTRY_VALUEs.
5863 2013-01-18  Alexandre Oliva  <aoliva@redhat.com>
5865         PR libmudflap/53359
5866         * tree-mudflap.c (mudflap_finish_file): Skip deferred decls
5867         not found in the symtab.
5869 2013-01-18  Alexandre Oliva  <aoliva@redhat.com>
5871         PR debug/56006
5872         PR rtl-optimization/55547
5873         PR rtl-optimization/53827
5874         PR debug/53671
5875         PR debug/49888
5876         * alias.c (offset_overlap_p): New, factored out of...
5877         (memrefs_conflict_p): ... this.  Use absolute sizes.  Retain
5878         the conservative special case for symbolic constants.  Don't
5879         adjust zero sizes on alignment.
5881 2013-01-18  Bernd Schmidt  <bernds@codesourcery.com>
5883         PR rtl-optimization/52573
5884         * regrename.c (build_def_use): Ignore REG_DEAD notes if there is a
5885         REG_UNUSED for the same register.
5887 2013-01-17  Richard Biener  <rguenther@suse.de>
5888             Marek Polacek  <polacek@redhat.com>
5890         PR rtl-optimization/55833
5891         * loop-unswitch.c (unswitch_loops): Move loop verification...
5892         (unswitch_single_loop): ...here.  Call mark_irreducible_loops.
5893         * cfgloopmanip.c (fix_loop_placement): Add IRRED_INVALIDATED parameter.
5894         Set it to true when we're removing a loop from hierarchy tree in
5895         an irreducible region.
5896         (fix_bb_placements): Adjust caller.
5897         (fix_loop_placements): Likewise.
5899 2013-01-17  Georg-Johann Lay  <avr@gjlay.de>
5901         * config/avr/builtins.def (DEF_BUILTIN): Factor out
5902         "__builtin_avr_" from NAME, turn NAME to an uppercase identifier.
5903         Factor out 'CODE_FOR_' from ICODE, use 'nothing' instead of '-1'.
5904         Remove ID.  Adjust comments.
5905         * config/avr/avr-c.c (avr_builtin_name): Remove.
5906         (avr_cpu_cpp_builtins): Use DEF_BUILTIN instead of for-loop.
5907         * config/avr/avr.c (avr_tolower): New static function.
5908         (DEF_BUILTIN): Remove parameter ID.  Prefix ICODE by 'CODE_FOR_'.
5909         Stringify NAME, prefix it with "__builtin_avr_" and lowercase it.
5910         (avr_expand_builtin): Assert insn_code != CODE_FOR_nothing for
5911         default expansion.
5913 2013-01-17  Jan Hubicka  <jh@suse.cz>
5915         PR tree-optimization/55273
5916         * loop-iv.c (iv_number_of_iterations): Consider zero iteration case.
5918 2013-01-17  Uros Bizjak  <ubizjak@gmail.com>
5920         PR target/55981
5921         * config/i386/sync.md (atomic_store<mode>): Always generate SWImode
5922         store through atomic_store<mode>_1.
5923         (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
5925 2013-01-17  Martin Jambor  <mjambor@suse.cz>
5927         PR tree-optimizations/55264
5928         * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
5929         for virtual methods.
5930         * ipa.c (symtab_remove_unreachable_nodes): Never return true for
5931         virtual methods before inlining is over.
5932         * cgraph.h (cgraph_only_called_directly_or_aliased_p): Return false for
5933         virtual functions.
5934         * cgraphclones.c (cgraph_create_virtual_clone): Mark clones as
5935         non-virtual.
5937 2013-01-16  Vladimir Makarov  <vmakarov@redhat.com>
5939         PR rtl-optimization/56005
5940         * sched-deps.c (sched_analyze_2): Check deps->readonly for adding
5941         pending reads for prefetch.
5943 2013-01-16  Ian Bolton  <ian.bolton@arm.com>
5945         * config/aarch64/aarch64.md
5946         (*cstoresi_neg_uxtw): New pattern.
5947         (*cmovsi_insn_uxtw): New pattern.
5948         (*<optab>si3_uxtw): New pattern.
5949         (*<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): New pattern.
5950         (*<optab>si3_insn_uxtw): New pattern.
5951         (*bswapsi2_uxtw): New pattern.
5953 2013-01-16  Richard Biener  <rguenther@suse.de>
5955         * tree-inline.c (tree_function_versioning): Remove set but
5956         never used variable.
5958 2013-01-16  Richard Biener  <rguenther@suse.de>
5960         PR tree-optimization/55964
5961         * tree-flow.h (rename_variables_in_loop): Remove.
5962         (rename_variables_in_bb): Likewise.
5963         * tree-loop-distribution.c (update_phis_for_loop_copy): Remove.
5964         (copy_loop_before): Adjust and delete update-ssa status.
5965         * tree-vect-loop-manip.c (rename_variables_in_bb): Make static.
5966         (rename_variables_in_bb): Likewise.  Properly walk over predecessors.
5967         (rename_variables_in_loop): Remove.
5968         (slpeel_update_phis_for_duplicate_loop): Likewise.
5969         (slpeel_tree_duplicate_loop_to_edge_cfg): Handle nested loops,
5970         use available cfg machinery instead of duplicating it.
5971         Update PHI nodes and perform poor-mans SSA update here.
5972         (slpeel_tree_peel_loop_to_edge): Adjust.
5974 2013-01-16  Richard Biener  <rguenther@suse.de>
5976         PR tree-optimization/54767
5977         PR tree-optimization/53465
5978         * tree-vrp.c (vrp_meet_1): Revert original fix for PR53465.
5979         (vrp_visit_phi_node): For PHI arguments coming via backedges
5980         drop all symbolical range information.
5981         (execute_vrp): Compute backedges.
5983 2013-01-16  Richard Biener  <rguenther@suse.de>
5985         * doc/install.texi: Update CLooG and ISL requirements to
5986         0.18.0 and 0.11.1.
5988 2013-01-16  Christian Bruel  <christian.bruel@st.com>
5990         PR target/55301
5991         * config/sh/sh.c (sh_expand_prologue): Postpone new_stack mem symbol.
5992         (broken_move): Handle UNSPECV_SP_SWITCH_B.
5993         * config/sh/sh.md (sp_switch_1): Use set (reg:SI SP_REG).
5995 2013-01-16  DJ Delorie  <dj@redhat.com>
5997         * config/sh/sh.md (UNSPECV_SP_SWITCH_B): New.
5998         (UNSPECV_SP_SWITCH_E): New.
5999         (sp_switch_1): Change to an unspec.
6000         (sp_switch_2): Change to an unspec.  Don't use post-inc when we
6001         replace $r15.
6003 2013-01-16  Uros Bizjak  <ubizjak@gmail.com>
6005         * emit-rtl.c (need_atomic_barrier_p): Mask memory model argument
6006         with MEMMODEL_MASK before comparing with MEMMODEL_* memory types.
6007         * optabs.c (maybe_emit_sync_lock_test_and_set): Ditto.
6008         (expand_mem_thread_fence): Ditto.
6009         (expand_mem_signal_fence): Ditto.
6010         (expand_atomic_load): Ditto.
6011         (expand_atomic_store): Ditto.
6013 2013-01-16  Alexandre Oliva  <aoliva@redhat.com>
6015         PR rtl-optimization/55547
6016         PR rtl-optimization/53827
6017         PR debug/53671
6018         PR debug/49888
6019         * alias.c (memrefs_conflict_p): Set sizes to negative after
6020         AND adjustments.
6022 2013-01-15  Jakub Jelinek  <jakub@redhat.com>
6024         PR target/55940
6025         * function.c (thread_prologue_and_epilogue_insns): Always
6026         add crtl->drap_reg to set_up_by_prologue.set, even if
6027         stack_realign_drap is false.
6029 2013-01-15  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
6031         * config/vax/vax.md (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3,
6032         and<mode>3, *and<mode>_const_int, ior<mode>3, xor<mode>3, ashrsi3,
6033         *call): Fix indention.
6035 2013-01-15  Tom de Vries  <tom@codesourcery.com>
6037         PR target/55876
6038         * optabs.c (widen_operand): Use gen_lowpart instead of gen_rtx_SUBREG.
6039         Update comment.
6041 2013-01-15  Vladimir Makarov  <vmakarov@redhat.com>
6043         PR rtl-optimization/55153
6044         * sched-deps.c (sched_analyze_2): Add pending reads for prefetch.
6046 2013-01-15  Martin Jambor  <mjambor@suse.cz>
6048         PR tree-optimization/55920
6049         * tree-sra.c (analyze_access_subtree): Do not mark non-removable
6050         accesses as grp_to_be_debug_replaced.
6052 2013-01-15  Jakub Jelinek  <jakub@redhat.com>
6054         PR tree-optimization/55920
6055         * tree-sra.c (sra_modify_assign): If for lacc->grp_to_be_debug_replaced
6056         there is non-useless type conversion needed from debug rhs to lhs,
6057         use build_debug_ref_for_model and/or VIEW_CONVERT_EXPR.
6059 2013-01-15  Joseph Myers  <joseph@codesourcery.com>
6060             Mikael Pettersson  <mikpe@it.uu.se>
6062         PR target/43961
6063         * config/arm/arm.h (ADDR_VEC_ALIGN): Align SImode jump tables for
6064         Thumb.
6065         (ASM_OUTPUT_CASE_LABEL): Remove.
6066         (ASM_OUTPUT_BEFORE_CASE_LABEL): Define to empty.
6067         * final.c (shorten_branches): Update alignment of labels before
6068         jump tables if CASE_VECTOR_SHORTEN_MODE.
6070 2013-01-15  Richard Biener  <rguenther@suse.de>
6072         PR bootstrap/55961
6073         * system.h: Do not include gmp.h for building host tools.
6075 2013-01-15  Richard Biener  <rguenther@suse.de>
6077         PR middle-end/55882
6078         * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
6079         account for bitpos when computing alignment.
6081 2013-01-15  Vladimir Yakovlev  <vladimir.b.yakovlev@intel.com>
6083         * config/i386/i386-c.c (ix86_target_macros_internal): New case.
6084         (ix86_target_macros_internal): Likewise.
6086         * config/i386/i386.c (m_CORE2I7): Removed.
6087         (m_CORE_HASWELL): New macro.
6088         (m_CORE_ALL): Likewise.
6089         (initial_ix86_tune_features): m_CORE2I7 is replaced by m_CORE_ALL.
6090         (initial_ix86_arch_features): Likewise.
6091         (processor_target_table): Initializations for Core avx2.
6092         (cpu_names): New names "core-avx2".
6093         (ix86_option_override_internal): Changed PROCESSOR_COREI7 by
6094         PROCESSOR_CORE_HASWELL.
6095         (ix86_issue_rate): New case.
6096         (ia32_multipass_dfa_lookahead): Likewise.
6097         (ix86_sched_init_global): Likewise.
6099         * config/i386/i386.h (TARGET_HASWELL): New macro.
6100         (target_cpu_default): New TARGET_CPU_DEFAULT_haswell.
6101         (processor_type): New PROCESSOR_HASWELL.
6103 2013-01-15  Jakub Jelinek  <jakub@redhat.com>
6105         PR tree-optimization/55955
6106         * tree-vect-loop.c (vectorizable_reduction): Give up early on
6107         *SHIFT_EXPR and *ROTATE_EXPR codes.
6109         PR tree-optimization/48766
6110         * opts.c (common_handle_option): For -fwrapv disable -ftrapv, for
6111         -ftrapv disable -fwrapv.
6113 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
6115         PR target/55974
6116         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
6117         etc. to 1 and not to __flash.
6118         Use LL suffix for __INT24_MAX__ with -mint8.
6119         Use ULL suffix for __UINT24_MAX__ with -mint8.
6121 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
6123         * config/avr/avr-arch.h
6124         (struct base_arch_s): Use typedef avr_arch_t instead.
6125         (struct arch_info_s): Use typedef avr_arch_info_t instead.
6126         (struct mcu_type_s): Use typedef avr_mcu_t instead.
6127         * config/avr/avr.c: Same.
6128         * config/avr/avr-devices.c: Same.
6129         * config/avr/driver-avr.c: Same.
6130         * config/avr/gen-avr-mmcu-texi.c: Same.
6131         * config/avr/avr-mcus.def: Adjust comment.
6133 2013-01-14  Tejas Belagod  <tejas.belagod@arm.com>
6135         * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): New.
6136         * config/aarch64/iterators.md (VALLDI): New.
6138 2013-01-14  Uros Bizjak  <ubizjak@gmail.com>
6139             Andi Kleen  <ak@linux.intel.com>
6141         PR target/55948
6142         * config/i386/sync.md (atomic_store<mode>_1): New pattern.
6143         (atomic_store<mode>): Call atomic_store<mode>_1 for IX86_HLE_RELEASE
6144         memmodel flag.
6146 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
6148         * config/avr/avr-stdint.h: Remove trailing blanks.
6149         * config/avr/avr-log.h: Same.
6150         * config/avr/avr-arch.h: Same.
6151         * config/avr/avr-devices.c: Same.
6152         * config/avr/avr-dimode.md: Same.
6153         * config/avr/predicates.md: Same.
6154         * config/avr/avr-c.c: Same.  And fix typo.
6156         * config/avr/avr-protos.h: Same.  And:
6157         (function_arg_regno_p): Rename to avr_function_arg_regno_p.
6158         (init_cumulative_args): Rename to avr_init_cumulative_args.
6159         (expand_prologue): Rename to avr_expand_prologue.
6160         (expand_epilogue): Rename to avr_expand_epilogue.
6161         (adjust_insn_length): Rename to avr_adjust_insn_length.
6162         (notice_update_cc): Rename to avr_notice_update_cc.
6163         (final_prescan_insn): Rename to avr_final_prescan_insn.
6164         * config/avr/avr.c: Same.
6165         * config/avr/avr.h: Same.
6166         * config/avr/avr.md: Remove trailing blanks.
6167         (prologue): Use avr_expand_prologue.
6168         (epilogue, sibcall_epilogue): Use avr_expand_epilogue.
6170 2013-01-14  Richard Biener  <rguenther@suse.de>
6172         * tree-cfg.c (verify_expr_location, verify_expr_location_1,
6173         verify_location, collect_subblocks): New functions.
6174         (verify_gimple_in_cfg): Verify that locations only reference
6175         BLOCKs in the functions BLOCK tree.
6177 2013-01-14  Richard Biener  <rguenther@suse.de>
6179         * tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated
6180         PHI argument.
6181         * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Properly
6182         unshare reference.
6183         (insert_out_of_ssa_copy_on_edge): Likewise.
6184         (rewrite_close_phi_out_of_ssa): Likewise.
6185         * tree-ssa.c (insert_debug_temp_for_var_def): Properly unshare
6186         debug expressions.
6187         * tree-ssa-pre.c (insert_into_preds_of_block): Properly unshare
6188         propagated constants.
6189         * tree-cfg.c (tree_node_can_be_shared): Handled component-refs
6190         can not be shared.
6192 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
6194         * config/avr/avr-modes.def: Add GPL copyright notice.
6196 2013-01-13  Uros Bizjak  <ubizjak@gmail.com>
6198         * config/i386/sync.md (mem_thread_fence): Mask operands[0] with
6199         MEMMODEL_MASK to determine memory model.
6200         (atomic_store<mode>): Ditto from operands[2].
6201         * config/i386/i386.c (ix86_memmodel_check): Declare "strong" as bool.
6203 2013-01-13  Jakub Jelinek  <jakub@redhat.com>
6205         PR fortran/55935
6206         * gimple-fold.c (get_symbol_constant_value): Call unshare_expr.
6207         (fold_gimple_assign): Don't call unshare_expr here.
6208         (fold_ctor_reference): Call unshare_expr.
6210 2013-01-13  Terry Guo  <terry.guo@arm.com>
6212         * Makefile.in (s-mlib): New argument MULTILIB_REUSE.
6213         * doc/fragments.texi: Document MULTILIB_REUSE.
6214         * gcc.c (multilib_reuse): New internal spec.
6215         (set_multilib_dir): Also search multilib from multilib_reuse.
6216         * genmultilib (tmpmultilib3): Refactor code.
6217         (tmpmultilib4): Ditto.
6218         (multilib_reuse): New multilib argument.
6220 2013-01-13  Richard Sandiford  <rdsandiford@googlemail.com>
6222         * Makefile.in: Update copyright.
6224 2013-01-12  Tom de Vries  <tom@codesourcery.com>
6226         PR middle-end/55890
6227         * calls.c (expand_call): Check if arg_nr is valid.
6229 2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
6231         * doc/extend.texi (X86 Built-in Functions): Add whitespace in
6232         __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
6233         documentation.  Add missing '__' in front of
6234         __builtin_ia32_packssdw256.
6236 2013-01-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
6238         PR target/55719
6239         * config/s390/s390.c (s390_preferred_reload_class): Do not return
6240         NO_REGS for larl operands.
6241         (s390_reload_larl_operand): Use s390_load_address instead of
6242         emit_move_insn.
6244 2013-01-11  Richard Biener  <rguenther@suse.de>
6246         * tree-cfg.c (verify_node_sharing_1): Split out from ...
6247         (verify_node_sharing): ... here.
6248         (verify_gimple_in_cfg): Use verify_node_sharing_1 for walk_tree.
6250 2013-01-11  Eric Botcazou  <ebotcazou@adacore.com>
6252         * configure.ac (Tree checking): Set TREECHECKING to yes if enabled.
6253         Substitute TREECHECKING.
6254         * configure: Regenerate.
6255         * Makefile.in (TREECHECKING): New.
6257 2013-01-11  Richard Guenther  <rguenther@suse.de>
6259         PR tree-optimization/44061
6260         * tree-vrp.c (extract_range_basic): Compute zero as
6261         value-range for __builtin_constant_p of function parameters.
6263 2013-01-10  Richard Sandiford  <rdsandiford@googlemail.com>
6265         Update copyright years.
6267 2013-01-10  Vladimir Makarov  <vmakarov@redhat.com>
6269         PR rtl-optimization/55672
6270         * lra-eliminations.c (mark_not_eliminable): Permit addition with
6271         const to be eliminable.
6273 2013-01-10  David Edelsohn  <dje.gcc@gmail.com>
6275         * configure.ac (HAVE_AS_TLS): Add check for powerpc-ibm-aix.
6276         * configure: Regenerate.
6278 2013-01-10  Richard Biener  <rguenther@suse.de>
6280         * builtins.c (expand_builtin_init_trampoline): Use set_mem_attributes.
6282 2013-01-10  Richard Biener  <rguenther@suse.de>
6284         PR bootstrap/55792
6285         * tree-into-ssa.c (rewrite_add_phi_arguments): Do not set
6286         locations for virtual PHI arguments.
6287         (rewrite_update_phi_arguments): Likewise.
6289 2013-01-10  Joel Sherrill  <joel.sherrill@OARcorp.com>
6291         * config/v850/rtems.h (ASM_SPEC): Pass -m8byte-align and -mgcc-abi
6292         on to assembler.
6294 2013-01-10  Jakub Jelinek  <jakub@redhat.com>
6296         PR tree-optimization/55921
6297         * tree-complex.c (expand_complex_asm): New function.
6298         (expand_complex_operations_1): Call it for GIMPLE_ASM.
6300 2013-01-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
6302         PR target/55718
6303         * config/s390/s390.c (s390_symref_operand_p)
6304         (s390_loadrelative_operand_p): Merge the two functions.
6305         (s390_check_qrst_address, print_operand_address): Add parameters
6306         to s390_loadrelative_operand_p invokation.
6307         (s390_check_symref_alignment): Use s390_loadrelative_operand_p.
6308         (s390_reload_larl_operand, s390_secondary_reload): Use
6309         s390_loadrelative_operand_p instead of s390_symref_operand_p.
6310         (legitimize_pic_address): Handle @GOTENT and @PLT + addend.
6312 2013-01-09  Mike Stump  <mikestump@comcast.net>
6314         * dse.c (record_store): Remove unnecessary assert.
6316 2013-01-09  Jan Hubicka  <jh@suse.cz>
6318         PR tree-optimization/55569
6319         * cfgloopmanip.c (scale_loop_profile): Make ITERATION_BOUND gcov_type.
6320         * cfgloop.h (scale_loop_profile): Likewise.
6322 2013-01-09  Jan Hubicka  <jh@suse.cz>
6324         PR lto/45375
6325         * ipa-inline.c (ipa_inline): Remove extern inlines and virtual
6326         functions.
6327         * cgraphclones.c (cgraph_clone_node): Cpoy also LTO file data.
6329 2013-01-09  Richard Sandiford  <rdsandiford@googlemail.com>
6331         PR middle-end/55114
6332         * expr.h (maybe_emit_group_store): Declare.
6333         * expr.c (maybe_emit_group_store): New function.
6334         * builtins.c (expand_builtin_int_roundingfn): Call it.
6335         (expand_builtin_int_roundingfn_2): Likewise.
6337 2013-01-09  Vladimir Makarov  <vmakarov@redhat.com>
6339         PR rtl-optimization/55829
6340         * lra-constraints.c (match_reload): Add code for absent output.
6341         (curr_insn_transform): Add code for reloads of matched inputs
6342         without output.
6344 2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
6346         * config/i386/sse.md (*vec_interleave_highv2df): Change mode
6347         attribute of movddup insn to DF.
6348         (*vec_interleave_lowv2df): Ditto.
6349         (vec_dupv2df): Ditto.
6351 2013-01-09  Jan Hubicka  <jh@suse.cz>
6353         PR tree-optimiation/55875
6354         * tree-ssa-loop-niter.c (number_of_iterations_cond): Add
6355         EVERY_ITERATION parameter.
6356         (number_of_iterations_exit): Check if exit is executed every iteration.
6357         (idx_infer_loop_bounds): Similarly here.
6358         (n_of_executions_at_most): Simplify
6359         to only test for cases where statement is dominated by the
6360         particular bound; handle correctly the "postdominance" test.
6361         (scev_probably_wraps_p): Use max loop iterations info
6362         as a global bound first.
6364 2013-01-09  Nguyen Duy Dat  <dat.nguyen.yn@rvc.renesas.com>
6365             Nick Clifton  <nickc@redhat.com>
6367         * config/v850/v850.md (cbranchsf4): New pattern.
6368         (cstoresf4): New pattern.
6369         (cbranchdf4): New pattern.
6370         (cstoredf4): New pattern.
6371         (movsicc): Disallow floating point comparisons.
6372         (cmpsf_le_insn): Fix order of operators.
6373         (cmpsf_lt_insn): Likewise.
6374         (cmpsf_eq_insn): Likewise.
6375         (cmpdf_le_insn): Likewise.
6376         (cmpdf_lt_insn): Likewise.
6377         (cmpdf_eq_insn): Likewise.
6378         (cmpsf_ge_insn): Use LE comparison.
6379         (cmpdf_ge_insn): Likewise.
6380         (cmpsf_gt_insn): Use LT comparison.
6381         (cmpdf_gt_insn): Likewise.
6382         (cmpsf_ne_insn): Delete pattern.
6383         (cmpdf_ne_insn): Delete pattern.
6384         * config/v850/v850.c (v850_gen_float_compare): Use
6385         gen_cmpdf_eq_insn for NE comparison.
6386         (v850_float_z_comparison_operator)
6387         (v850_float_nz_comparison_operator): Move from here ...
6388         * config/v850/predicates.md: ... to here.  Move GT and GE
6389         comparisons into v850_float_z_comparison_operator.
6390         * config/v850/v850-protos.h (v850_float_z_comparison_operator):
6391         Delete prototype.
6392         (v850_float_nz_comparison_operator): Likewise.
6394 2013-01-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6396         * config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv
6397         with calls to gen_insvsi/gen_insvdi.
6399 2013-01-09  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
6401         * config/i386/i386.c (initial_ix86_tune_features): Set up
6402         X86_TUNE_AVX128_OPTIMAL for m_BTVER2.
6404 2013-01-09  Steven Bosscher  <steven@gcc.gnu.org>
6405             Jakub Jelinek  <jakub@redhat.com>
6407         PR tree-optimization/48189
6408         * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
6409         If nitercst is 0, don't predict the exit edge.
6411 2013-01-08  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
6413         * config/aarch64/aarch64.c (aarch64_print_operand): Replace %r
6414         in asm_fprintf with reg_names.
6415         (aarch64_print_operand_address): Likewise.
6416         (aarch64_return_addr): Likewise.
6417         * config/aarch64/aarch64.h (ASM_FPRINTF_EXTENSIONS): Remove.
6419 2013-01-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6421         * config/pa/pa.h (VAL_U6_BITS_P): Define.
6422         (INT_U6_BITS): Likewise.
6423         * config/pa/predicates.md (uint6_operand): New predicate.
6424         (shift5_operand, shift6_operand): Likewise.
6425         * config/pa/pa.md (lshrsi3, rotrsi3): Use shift5_operand instead of
6426         arith32_operand.
6427         (lshrdi3): Use shift6_operand.
6428         (shrpsi4, shrpdi4): New insn patterns.
6429         (extzv): Delete expander.
6430         (extzvsi, extzvdi): New expanders.  Use uint5_operand and uint6_operand
6431         predicates in unamed zero extract patterns.  Tighten common constraint.
6432         (extv): Delete expander.
6433         (extvsi, extvdi): New expanders.  Use uint5_operand and uint6_operand
6434         predicates in unamed sign extract patterns.  Tighten common constraint.
6435         (insv): Delete expander.
6436         (insvsi, insvdi): New expanders.  Use uint5_operand and uint6_operand
6437         predicates in unamed insert patterns.  Tighten common constraint.
6438         Change uint32_operand predicate to uint6_operand predicate in unamed
6439         DImode pattern to insert constant values of type 1...1xxxx.
6441 2013-01-04  Jan Hubicka  <jh@suse.cz>
6443         PR tree-optimization/55823
6444         * ipa-prop.c (update_indirect_edges_after_inlining): Fix ordering
6445         issue.
6447 2013-01-08  Jakub Jelinek  <jakub@redhat.com>
6448             Uros Bizjak  <ubizjak@gmail.com>
6450         PR rtl-optimization/55845
6451         * df-problems.c (can_move_insns_across): Stop scanning at
6452         volatile_insn_p source instruction or give up if
6453         across_from .. across_to range contains any volatile_insn_p
6454         instructions.
6456 2013-01-08  Tejas Belagod  <tejas.belagod@arm.com>
6458         * config/aarch64/aarch64-simd.md (vec_init<mode>): New.
6459         * config/aarch64/aarch64-protos.h (aarch64_expand_vector_init):
6460         Declare.
6461         * config/aarch64/aarch64.c (aarch64_simd_dup_constant,
6462         aarch64_simd_make_constant, aarch64_expand_vector_init): New.
6464 2013-01-08  Jakub Jelinek  <jakub@redhat.com>
6466         PR fortran/55341
6467         * asan.c (asan_clear_shadow): New function.
6468         (asan_emit_stack_protection): Use it.
6470 2013-01-08  Tejas Belagod  <tejas.belagod@arm.com>
6472         * config/aarch64/aarch64-simd.md (aarch64_simd_vec_<su>mult_lo_<mode>,
6473         aarch64_simd_vec_<su>mult_hi_<mode>): Separate instruction and operand
6474         with tab instead of space.
6476 2013-01-08  Nick Clifton  <nickc@redhat.com>
6478         * config/rl78/rl78.c (rl78_expand_prologue): Always select
6479         register bank 0 at the start of an interrupt handler.
6480         * config/rl78/rl78.md (mulsi3_g13): Correct values for MDBL and
6481         MDBH registers.
6483 2013-01-08  James Greenhalgh  <james.greenhalgh@arm.com>
6485         * config/aarch64/aarch64-simd.md
6486         (aarch64_simd_bsl<mode>_internal): Add floating-point modes.
6487         (aarch64_simd_bsl): Likewise.
6488         (aarch64_vcond_internal<mode>): Likewise.
6489         (vcond<mode><mode>): Likewise.
6490         (aarch64_cm<cmp><mode>): Fix constraints, add new modes.
6491         * config/aarch64/iterators.md (V_cmp_result): Add V2DF.
6493 2013-01-08  James Greenhalgh  <james.greenhalgh@arm.com>
6495         * config/aarch64/aarch64-builtins.c
6496         (aarch64_builtin_vectorized_function): Handle sqrt, sqrtf.
6498 2013-01-08  Martin Jambor  <mjambor@suse.cz>
6500         PR debug/55579
6501         * tree-sra.c (analyze_access_subtree): Return true also after
6502         potentially creating a debug-only replacement.
6504 2013-01-08  Jakub Jelinek  <jakub@redhat.com>
6506         PR middle-end/55890
6507         * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_p.
6509         PR tree-optimization/54120
6510         * tree-vrp.c (range_fits_type_p): Don't allow
6511         src_precision < precision from signed vr to unsigned_p
6512         if vr->min or vr->max is negative.
6513         (simplify_float_conversion_using_ranges): Test can_float_p
6514         against CODE_FOR_nothing.
6516 2013-01-08  Jakub Jelinek  <jakub@redhat.com>
6517             Richard Biener  <rguenther@suse.de>
6519         PR middle-end/55851
6520         * fold-const.c (int_binop_types_match_p): Allow all INTEGRAL_TYPE_P
6521         types instead of just INTEGER_TYPE types.
6523 2013-01-07  Mark Kettenis  <kettenis@openbsd.org>
6525         * config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT,
6526         TF_SIZE): Define.
6528 2013-01-07  Steve Ellcey  <sellcey@mips.com>
6530         PR target/42661
6531         * config/mips/mips.opt: Change mad to mmad to match documentation.
6533 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
6535         PR target/55897
6536         * doc/extend.texi (AVR Named Address Spaces): __memx goes into
6537         .progmemx.data now.
6539 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
6541         PR target/55897
6542         * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
6543         (avr_addrspace_t): Add .section_name field.
6544         * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
6545         array size.
6546         (avr_addrspace): Same.  Initialize .section_name.  Remove last
6547         NULL entry.  Put __memx into .progmemx.data.
6548         (progmem_section_prefix): Remove.
6549         (avr_asm_init_sections): No need to initialize progmem_section.
6550         (avr_asm_named_section): Use avr_addrspace[].section_name to get
6551         section name prefix.
6552         (avr_asm_select_section): Ditto.  And use get_unnamed_section to
6553         retrieve the progmem section.
6554         * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
6555         boundary to run over avr_addrspace[].
6556         (avr_register_target_pragmas): Ditto.
6558 2013-01-06  Jakub Jelinek  <jakub@redhat.com>
6560         * varasm.c (output_constant_def_contents): For asan_protect_global
6561         protected strings, adjust DECL_ALIGN if needed, before testing for
6562         anchored symbols.
6563         (place_block_symbol): Adjust size for asan protected STRING_CSTs if
6564         TREE_CONSTANT_POOL_ADDRESS_P.  Increase alignment for asan protected
6565         normal decls.
6566         (output_object_block): For asan protected decls, emit asan padding
6567         after their contents.
6568         * asan.c (asan_protect_global): Don't check TREE_ASM_WRITTEN here.
6569         (asan_finish_file): Test it here instead.
6571 2013-01-07  Nick Clifton  <nickc@redhat.com>
6572             Matthias Klose  <doko@debian.org>
6573             Doug Kwan  <dougkwan@google.com>
6574             H.J. Lu  <hongjiu.lu@intel.com>
6576         PR driver/55470
6577         * collect2.c (main): Support -fuse-ld=bfd and -fuse-ld=gold.
6579         * common.opt: Add fuse-ld=bfd and fuse-ld=gold.
6581         * gcc.c (LINK_COMMAND_SPEC): Pass -fuse-ld=* to collect2.
6583         * opts.c (comman_handle_option): Ignore -fuse-ld=bfd and -fuse-ld=gold.
6585         * doc/invoke.texi: Document -fuse-ld=bfd and -fuse-ld=gold.
6587 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
6589         PR target/54461
6590         * doc/install.texi (Cross-Compiler-Specific Options): Document
6591         --with-avrlibc.
6593 2013-01-07  Tejas Belagod  <tejas.belagod@arm.com>
6595         * config/aarch64/arm_neon.h (vmovn_high_is16, vmovn_high_s32,
6596         vmovn_high_s64, vmovn_high_u16, vmovn_high_u32, vmovn_high_u64,
6597         vqmovn_high_s16, vqmovn_high_s32, vqmovn_high_s64, vqmovn_high_u16,
6598         vqmovn_high_u32, vqmovn_high_u64, vqmovun_high_s16, vqmovun_high_s32,
6599         vqmovun_high_s64): Fix source operand number and update copyright.
6601 2013-01-07  Richard Biener  <rguenther@suse.de>
6603         PR middle-end/55890
6604         * gimple.h (gimple_call_builtin_p): New overload.
6605         * gimple.c (validate_call): New function.
6606         (gimple_call_builtin_p): Likewise.
6607         * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
6608         Use gimple_call_builtin_p.
6609         (find_func_clobbers): Likewise.
6610         * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
6611         (strlen_optimize_stmt): Likewise.
6613 2013-01-07  James Greenhalgh  <james.greenhalgh@arm.com>
6615         * config/aarch64/arm_neon.h (vld1_dup_*): Make argument const.
6616         (vld1q_dup_*): Likewise.
6617         (vld1_*): Likewise.
6618         (vld1q_*): Likewise.
6619         (vld1_lane_*): Likewise.
6620         (vld1q_lane_*): Likewise.
6622 2013-01-07  Richard Biener  <rguenther@suse.de>
6624         * lto-streamer.h (LTO_minor_version): Bump to 2.
6626 2013-01-07  James Greenhalgh  <james.greenhalgh@arm.com>
6628         * config/aarch64/aarch64-protos.h
6629         (aarch64_const_double_zero_rtx_p): Rename to...
6630         (aarch64_float_const_zero_rtx_p): ...this.
6631         (aarch64_float_const_representable_p): New.
6632         (aarch64_output_simd_mov_immediate): Likewise.
6633         * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Refactor
6634         move immediate case.
6635         * config/aarch64/aarch64.c
6636         (aarch64_const_double_zero_rtx_p): Rename to...
6637         (aarch64_float_const_zero_rtx_p): ...this.
6638         (aarch64_print_operand): Allow printing of new constants.
6639         (aarch64_valid_floating_const): New.
6640         (aarch64_legitimate_constant_p): Check for valid floating-point
6641         constants.
6642         (aarch64_simd_valid_immediate): Likewise.
6643         (aarch64_vect_float_const_representable_p): New.
6644         (aarch64_float_const_representable_p): Likewise.
6645         (aarch64_simd_imm_zero_p): Also allow for floating-point 0.0.
6646         (aarch64_output_simd_mov_immediate): New.
6647         * config/aarch64/aarch64.md (*movsf_aarch64): Add new alternative.
6648         (*movdf_aarch64): Likewise.
6649         * config/aarch64/constraints.md (Ufc): New.
6650         (Y): call aarch64_float_const_zero_rtx.
6651         * config/aarch64/predicates.md (aarch64_fp_compare_operand): New.
6653 2013-01-07  Richard Biener  <rguenther@suse.de>
6655         PR tree-optimization/55888
6656         PR tree-optimization/55862
6657         * tree-ssa-pre.c (phi_translate_1): Revert previous change.
6658         (valid_in_sets): Check if a NAME has a leader in AVAIL_OUT,
6659         not if it is contained therein.
6661 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
6663         * config/avr/t-avr: Typo.
6665 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
6667         PR55243
6668         * config/avr/t-avr: Don't automatically rebuild
6669         $(srcdir)/config/avr/t-multilib
6670         $(srcdir)/config/avr/avr-tables.opt
6671         $(srcdir)/doc/avr-mmcu.texi
6672         (avr-mcus): New phony target to build them on request.
6673         (s-avr-mlib, s-avr-mmcu-texi): Remove.
6674         * avr/avr-mcus.def: Adjust comments.
6676 2013-01-07  Uros Bizjak  <ubizjak@gmail.com>
6678         * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.
6680 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
6682         * file-find.c, file-find.h, realmpfr.c: Add FSF as copyright holder.
6684 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
6686         * config/tilepro/gen-mul-tables.cc: Put copyright on one line.
6688 2013-01-05  David Edelsohn  <dje.gcc@gmail.com>
6690         * config/rs6000/aix53.h (LIB_SPEC): Add -lpthreads when compiling
6691         to generate profiling.
6692         * config/rs6000/aix64.h (LIB_SPEC): Same.
6694 2013-01-04  Andrew Pinski  <apinski@cavium.com>
6696         * config/aarch64/aarch64.c (aarch64_fixed_condition_code_regs):
6697         New function.
6698         (TARGET_FIXED_CONDITION_CODE_REGS): Define.
6700 2013-01-04  Uros Bizjak  <ubizjak@gmail.com>
6702         * config/i386/i386.c (ix86_legitimize_address): Call convert_to_mode
6703         unconditionally.
6704         (ix86_expand_move): Ditto.
6705         (ix86_zero_extend_to_Pmode): Ditto.
6706         (ix86_expand_call): Ditto.
6707         (ix86_expand_special_args_builtin): Ditto.
6708         (ix86_expand_builtin): Ditto.
6710 2013-01-04  Richard Biener  <rguenther@suse.de>
6712         PR tree-optimization/55862
6713         * tree-ssa-pre.c (phi_translate_1): Valueize SSA names after
6714         translating them through PHI nodes.
6716 2013-01-04  Martin Jambor  <mjambor@suse.cz>
6718         PR tree-optimization/55755
6719         * tree-sra.c (sra_modify_assign): Do not check that an access has no
6720         children when trying to avoid producing a VIEW_CONVERT_EXPR.
6722 2013-01-04  Marek Polacek  <polacek@redhat.com>
6724         PR middle-end/55859
6725         * opts.c (default_options_optimization): Clarify error message.
6727 2013-01-04  Richard Biener  <rguenther@suse.de>
6729         PR middle-end/55863
6730         * fold-const.c (split_tree): Undo -X - 1 to ~X folding for
6731         reassociation.
6733 2013-01-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6735         PR target/53789
6736         * config/pa/pa.md (movsi): Revert previous change.
6737         * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
6738         references.
6740 2013-01-03  Richard Henderson  <rth@redhat.com>
6742         * config/i386/i386.c (ix86_expand_move): Always assign to op1
6743         after eliminating TLS symbols.
6745 2013-01-03  Marc Glisse  <marc.glisse@inria.fr>
6747         PR bootstrap/50167
6748         * graphite-interchange.c (pdr_stride_in_loop): Use gmp_fprintf.
6749         * graphite-poly.c (debug_gmp_value): Likewise.
6751 2013-01-03  Uros Bizjak  <ubizjak@gmail.com>
6753         PR target/55712
6754         * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
6755         selected code model, define __code_mode_small__, __code_model_medium__,
6756         __code_model_large__, __code_model_32__ or __code_model_kernel__.
6757         * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
6758         xchg temporary register with %k.  Declare temporary register as
6759         early clobbered.
6760         [__x86_64__]: For medium and large code models, preserve %rbx register.
6762 2013-01-03  Richard Biener  <rguenther@suse.de>
6764         * tree-data-ref.c (dump_conflict_function): Use less vertical spacing.
6765         (dump_subscript): Adjust.
6766         (finalize_ddr_dependent): Do not dump redundant info.
6767         (analyze_siv_subscript): Adjust.
6768         (subscript_dependence_tester): Likewise.
6769         (compute_affine_dependence): Likewise.
6771 2013-01-03  Richard Biener  <rguenther@suse.de>
6773         Revert
6774         2013-01-03  Richard Biener  <rguenther@suse.de>
6776         PR tree-optimization/55857
6777         * tree-vect-stmts.c (vectorizable_load): Do not setup
6778         re-alignment for invariant loads.
6780         2013-01-02  Richard Biener  <rguenther@suse.de>
6782         * tree-vect-stmts.c (vectorizable_load): When vectorizing an
6783         invariant load do not generate a vector load from the scalar location.
6785 2013-01-03  Richard Biener  <rguenther@suse.de>
6787         * tree-vect-loop.c (vect_analyze_loop_form): Clarify reason
6788         for not vectorizing.
6789         * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
6790         not build INDIRECT_REFs, call get_name once only.
6791         (vect_create_data_ref_ptr): Likewise.  Dump base object kind
6792         based on DR_BASE_OBJECT, not DR_BASE_ADDRESS.
6794 2013-01-03  Richard Biener  <rguenther@suse.de>
6796         PR tree-optimization/55857
6797         * tree-vect-stmts.c (vectorizable_load): Do not setup
6798         re-alignment for invariant loads.
6800 2013-01-03  Richard Biener  <rguenther@suse.de>
6802         PR lto/55848
6803         * lto-symtab.c (lto_symtab_merge_decls_1): As last resort, always
6804         prefer a built-in decl.
6806 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
6808         * gcc.c (process_command): Update copyright notice dates.
6809         * gcov.c (print_version): Likewise.
6810         * gcov-dump.c (print_version): Likewise.
6812         PR rtl-optimization/55838
6813         * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
6814         iv0.step, iv1.step and step.
6816 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
6817             Marc Glisse  <marc.glisse@inria.fr>
6819         PR tree-optimization/55832
6820         * fold-const.c (fold_binary_loc): For ABS_EXPR<x> >= 0 and
6821         ABS_EXPR<x> < 0 folding use constant_boolean_node instead of
6822         integer_{one,zero}_node.
6824 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
6826         PR debug/54402
6827         * params.def (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE): New param.
6828         * var-tracking.c (reverse_op): Don't add reverse ops to
6829         VALUEs that have already
6830         PARAM_VALUE (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE) or longer locs list.
6832 2013-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
6834         * doc/contrib.texi: Note years as release manager for Mark Mitchell.
6836 2013-01-02  Teresa Johnson  <tejohnson@google.com>
6838         * dumpfile.c (dump_loc): Print filename with location.
6839         * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Use
6840         new location_t parameter to emit complete unroll message with
6841         new dump framework.
6842         (canonicalize_loop_induction_variables): Compute loops location
6843         and pass to try_unroll_loop_completely.
6844         * loop-unroll.c (report_unroll_peel): New function.
6845         (peel_loops_completely): Use new dump format with location
6846         for main dumpfile message, and invoke report_unroll_peel on success.
6847         (decide_unrolling_and_peeling): Ditto.
6848         (decide_peel_once_rolling): Remove old dumpfile message subsumed
6849         by report_unroll_peel.
6850         (decide_peel_completely): Ditto.
6851         (decide_unroll_constant_iterations): Ditto.
6852         (decide_unroll_runtime_iterations): Ditto.
6853         (decide_peel_simple): Ditto.
6854         (decide_unroll_stupid): Ditto.
6855         * cfgloop.c (get_loop_location): New function.
6856         * cfgloop.h (get_loop_location): Declare.
6858 2013-01-02  Sriraman Tallam  <tmsriram@google.com>
6860         * config/i386/i386.c (fold_builtin_cpu): Remove unnecessary checks for
6861         NULL.
6863 2013-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6865         PR middle-end/55198
6866         * expr.c (expand_expr_real_1): Don't use bitfield extraction for non
6867         BLKmode objects when EXPAND_MEMORY is specified.
6869 2013-01-02  Sriraman Tallam  <tmsriram@google.com>
6871         * config/i386/i386.c (ix86_get_function_versions_dispatcher): Fix bug
6872         in loop predicate.
6873         (fold_builtin_cpu): Do not share cpu model decls across statements.
6875 2013-01-02  Jason Merrill  <jason@redhat.com>
6877         PR c++/55804
6878         * tree.c (build_array_type_1): Revert earlier change.
6880 2013-01-02  Yufeng Zhang  <yufeng.zhang@arm.com>
6882         * config/aarch64/aarch64-cores.def: Add entries for "cortex-a53" and
6883         "cortex-a57".
6884         * config/aarch64/aarch64-tune.md: Re-generate.
6886 2013-01-02  Richard Biener  <rguenther@suse.de>
6888         * tree-vect-stmts.c (vectorizable_load): When vectorizing an
6889         invariant load do not generate a vector load from the scalar location.
6891 2013-01-02  Richard Biener  <rguenther@suse.de>
6893         PR bootstrap/55784
6894         * configure.ac: Add $GMPINC to CFLAGS/CXXFLAGS.
6895         * configure: Regenerate.
6897 2013-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
6899         * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2)
6900         (expand_builtin_mathfn_ternary, expand_builtin_mathfn_3)
6901         (expand_builtin_int_roundingfn_2): Keep the original target around
6902         for the fallback case.
6904 2013-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
6906         * tree-vrp.c (range_fits_type_p): Require the MSB of the double_int
6907         to be clear for sign changes.
6909 2013-01-01  Jan Hubicka  <jh@suse.cz>
6911         * ipa-inline-analysis.c: Fix formatting.
6913 2013-01-01  Jakub Jelinek  <jakub@redhat.com>
6915         PR tree-optimization/55831
6916         * tree-vect-loop.c (get_initial_def_for_induction): Use
6917         gsi_after_labels instead of gsi_start_bb.
6919 Copyright (C) 2013 Free Software Foundation, Inc.
6921 Copying and distribution of this file, with or without modification,
6922 are permitted in any medium without royalty provided the copyright
6923 notice and this notice are preserved.