2013-11-19 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / ChangeLog
blob42b862f5030b11052d1251920a791ea1353a14d1
1 2013-11-19  Richard Biener  <rguenther@suse.de>
3         Backport from mainline
4         2013-11-07  Richard Biener  <rguenther@suse.de>
6         * tree-dfa.c (get_ref_base_and_extent): Fix casting.
8 2013-11-19  Richard Biener  <rguenther@suse.de>
10         PR tree-optimization/57517
11         * tree-predcom.c (combinable_refs_p): Verify the combination
12         is always executed when the refs are.
14 2013-11-19  Richard Biener  <rguenther@suse.de>
16         Backport from mainline
17         2013-11-05  Richard Biener  <rguenther@suse.de>
19         PR middle-end/58941
20         * tree-dfa.c (get_ref_base_and_extent): Merge common code
21         in MEM_REF and TARGET_MEM_REF handling.  Make sure to
22         process trailing array detection before diving into the
23         view-converted object (and possibly apply some extra offset).
25 2013-11-18  Richard Biener  <rguenther@suse.de>
27         Backport from mainline
28         2013-10-21  Richard Biener  <rguenther@suse.de>
30         PR tree-optimization/58794
31         * fold-const.c (operand_equal_p): Compare FIELD_DECL operand
32         of COMPONENT_REFs with OEP_CONSTANT_ADDRESS_OF left in place.
34         2013-10-21  Richard Biener  <rguenther@suse.de>
36         PR middle-end/58742
37         * fold-const.c (fold_binary_loc): Fold ((T) (X /[ex] C)) * C
38         to (T) X for sign-changing conversions (or no conversion).
40         2013-11-06  Richard Biener  <rguenther@suse.de>
42         PR tree-optimization/58653
43         * tree-predcom.c (ref_at_iteration): Rewrite to generate
44         a MEM_REF.
45         (prepare_initializers_chain): Adjust.
47         PR tree-optimization/59047
48         * tree-predcom.c (ref_at_iteration): Handle bitfield accesses
49         properly.
51         2013-10-15  Richard Biener  <rguenther@suse.de>
53         PR tree-optimization/58143
54         * tree-ssa-loop-im.c (arith_code_with_undefined_signed_overflow):
55         New function.
56         (rewrite_to_defined_overflow): Likewise.
57         (move_computations_dom_walker::before_dom): Rewrite stmts
58         with undefined signed overflow that are not always executed
59         into unsigned arithmetic.
61 2013-11-14  Uros Bizjak  <ubizjak@gmail.com>
63         Backport from mainline
64         2013-11-10  Uros Bizjak  <ubizjak@gmail.com>
66         * mode-switching.c (optimize_mode_switching): Mark block as
67         nontransparent, if last_mode at block exit is different from no_mode.
69         Backport from mainline
70         2013-11-06  Uros Bizjak  <ubizjak@gmail.com>
72         PR target/59021
73         * config/i386/i386.c (ix86_avx_u128_mode_needed): Require
74         AVX_U128_DIRTY mode for call_insn RTXes that use AVX256 registers.
75         (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY mode for call_insn
76         RTXes that return in AVX256 register.
78 2013-11-14  Jakub Jelinek  <jakub@redhat.com>
79             Uros Bizjak  <ubizjak@gmail.com>
81         PR target/59101
82         * config/i386/i386.md (*anddi_2): Only allow CCZmode if
83         operands[2] satisfies_constraint_Z that might have bit 31 set.
85 2013-11-12  H.J. Lu  <hongjiu.lu@intel.com>
87         Backported from mainline
88         2013-11-12  H.J. Lu  <hongjiu.lu@intel.com>
90         PR target/59088
91         * config/i386/i386.c (initial_ix86_tune_features): Set
92         X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL and
93         X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL for m_HASWELL.
95 2013-11-11  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
97         Backported from mainline
98         2013-10-30  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
100         PR target/58854
101         * config/arm/arm.c (arm_expand_epilogue_apcs_frame): Emit blockage
103 2013-11-11  Jakub Jelinek  <jakub@redhat.com>
105         Backported from mainline
106         2013-11-06  Jakub Jelinek  <jakub@redhat.com>
108         PR middle-end/58970
109         * expr.c (get_bit_range): Handle *offset == NULL_TREE.
110         (expand_assignment): If *bitpos is negative, set *offset
111         and adjust *bitpos, so that it is not negative.
113         2013-11-05  Jakub Jelinek  <jakub@redhat.com>
115         PR rtl-optimization/58997
116         * loop-iv.c (iv_subreg): For IV_UNKNOWN_EXTEND, expect
117         get_iv_value to be in iv->mode rather than iv->extend_mode.
118         (iv_extend): Likewise.  Otherwise, if iv->extend != extend,
119         use lowpart_subreg on get_iv_value before calling simplify_gen_unary.
120         * loop-unswitch.c (may_unswitch_on): Make sure op[i] is in the right
121         mode.
123 2013-11-10  Karlson2k  <k2k@narod.ru>
124             Kai Tietz  <ktietz@redhat.com>
126         Merged from trunk
127         PR plugins/52872
128         * configure.ac: Adding for exported symbols check
129         and for rdynamic-check executable-extension.
130         * configure: Regenerated.
132 2013-11-07  H.J. Lu  <hongjiu.lu@intel.com>
134         PR target/59034
135         * config/i386/i386.md (push peepholer/splitter): Use Pmode
136         with stack_pointer_rtx.
138 2013-11-05  Uros Bizjak  <ubizjak@gmail.com>
140         * config/i386/t-rtems (MULTILIB_MATCHES): Fix option typos.
142 2013-11-05  Jakub Jelinek  <jakub@redhat.com>
144         PR tree-optimization/58984
145         * ipa-prop.c (ipa_load_from_parm_agg_1): Add SIZE_P argument,
146         set *SIZE_P if non-NULL on success.
147         (ipa_load_from_parm_agg, ipa_analyze_indirect_call_uses): Adjust
148         callers.
149         (ipcp_transform_function): Likewise.  Punt if size of access
150         is different from TYPE_SIZE on v->value's type.
152 2013-11-03  H.J. Lu  <hongjiu.lu@intel.com>
154         Backport from mainline
155         2013-10-12  H.J. Lu  <hongjiu.lu@intel.com>
157         PR target/58690
158         * config/i386/i386.c (ix86_copy_addr_to_reg): New function.
159         (ix86_expand_movmem): Replace copy_addr_to_reg with
160         ix86_copy_addr_to_reg.
161         (ix86_expand_setmem): Likewise.
163 2013-10-29  Uros Bizjak  <ubizjak@gmail.com>
165         Backport from mainline
166         2013-08-08  Richard Sandiford  <rdsandiford@googlemail.com>
168         PR rtl-optimization/58079
169         * combine.c (combine_simplify_rtx): Avoid using SUBST if
170         simplify_comparison has widened a comparison with an integer.
172 2013-10-29  Martin Jambor  <mjambor@suse.cz>
174         PR middle-end/58789
175         Backport from mainline
176         2013-05-09  Martin Jambor  <mjambor@suse.cz>
178         PR lto/57084
179         * gimple-fold.c (canonicalize_constructor_val): Call
180         cgraph_get_create_real_symbol_node instead of cgraph_get_create_node.
182         Backport from mainline
183         2013-03-16  Jan Hubicka  <jh@suse.cz>
185         * cgraph.h (cgraph_get_create_real_symbol_node): Declare.
186         * cgraph.c (cgraph_get_create_real_symbol_node): New function.
187         * cgrpahbuild.c: Use cgraph_get_create_real_symbol_node instead
188         of cgraph_get_create_node.
189         * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
191 2013-10-28  Tom de Vries  <tom@codesourcery.com>
193         * cfgexpand.c (gimple_expand_cfg): Remove test for parm_birth_insn.
194         Don't commit insertions after NOTE_INSN_FUNCTION_BEG.
196 2013-10-26  Uros Bizjak  <ubizjak@gmail.com>
198         Backport from mainline
199         2013-10-22  Uros Bizjak  <ubizjak@gmail.com>
201         PR target/58779
202         * config/i386/i386.c (put_condition_code) <case GTU, case LEU>:
203         Remove CCCmode handling.
204         <case LTU>: Return 'c' suffix for CCCmode.
205         <case GEU>: Return 'nc' suffix for CCCmode.
206         (ix86_cc_mode) <case GTU, case LEU>: Do not generate overflow checks.
207         * config/i386/i386.md (*sub<mode>3_cconly_overflow): Remove.
208         (*sub<mode>3_cc_overflow): Ditto.
209         (*subsi3_zext_cc_overflow): Ditto.
211 2013-10-26  Uros Bizjak  <ubizjak@gmail.com>
213         Backport from mainline
214         2013-10-19  Uros Bizjak  <ubizjak@gmail.com>
216         PR target/58792
217         * config/i386/i386.c (ix86_function_value_regno): Add DX_REG,
218         ST1_REG and XMM1_REG for 32bit and 64bit targets.  Also add DI_REG
219         and SI_REG for 64bit SYSV ABI targets.
221 2013-08-25  Richard Henderson  <rth@twiddle.net>
223         PR rtl/58542
224         * optabs.c (maybe_emit_atomic_exchange): Use create_input_operand
225         instead of create_convert_operand_to.
226         (maybe_emit_sync_lock_test_and_set): Likewise.
227         (expand_atomic_compare_and_swap): Likewise.
228         (maybe_emit_compare_and_swap_exchange_loop): Don't convert_modes.
230 2013-10-25  Eric Botcazou  <ebotcazou@adacore.com>
232         PR rtl-optimization/58831
233         * alias.c (init_alias_analysis): At the beginning of each iteration, set
234         the reg_seen[N] bit if static_reg_base_value[N] is non-null.
236 2013-10-25  Eric Botcazou  <ebotcazou@adacore.com>
238         * recog.c (search_ofs): New static variable moved from...
239         (peep2_find_free_register): ...here.
240         (peephole2_optimize): Initialize it.
242 2013-10-24  David Edelsohn  <dje.gcc@gmail.com>
244         Backport from mainline
245         2013-10-23  David Edelsohn  <dje.gcc@gmail.com>
247         PR target/58838
248         * config/rs6000/rs6000.md (mulsi3_internal1 and splitter): Add
249         TARGET_32BIT final condition.
250         (mulsi3_internal2 and splitter): Same.
252 2013-10-23  Tom de Vries  <tom@codesourcery.com>
254         PR tree-optimization/58805
255         * tree-ssa-tail-merge.c (stmt_local_def): Add gimple_vdef check.
257 2013-10-23  Richard Biener  <rguenther@suse.de>
259         Backport from mainline
260         2013-06-24  Richard Biener  <rguenther@suse.de>
262         PR tree-optimization/57488
263         * tree-ssa-pre.c (insert): Clear NEW sets before each iteration.
265 2013-10-16  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
267         Backport from mainline
268         2013-10-16  Ganesh Gopalasubramanian
269                     <Ganesh.Gopalasubramanian@amd.com>
271         * config/i386/i386.c (ix86_option_override_internal): Enable FMA4
272         for AMD bdver3.
274 2013-10-16  Jakub Jelinek  <jakub@redhat.com>
276         * BASE-VER: Set to 4.8.3.
277         * DEV-PHASE: Set to prerelease.
279 2013-10-16  Release Manager
281         * GCC 4.8.2 released.
283 2013-10-12  James Greenhalgh  <james.greenhalgh@arm.com>
285         Backport from mainline.
286         2013-10-12  James Greenhalgh  <james.greenhalgh@arm.com>
288         * config/aarch64/arm_neon.h
289         (vtbx<1,3>_<psu>8): Fix register constriants.
291 2013-10-10  Jakub Jelinek  <jakub@redhat.com>
293         PR middle-end/58670
294         * stmt.c (expand_asm_operands): Add FALLTHRU_BB argument,
295         if any labels are in FALLTHRU_BB, use a special label emitted
296         immediately after the asm goto insn rather than label_rtx
297         of the LABEL_DECL.
298         (expand_asm_stmt): Adjust caller.
299         * cfgrtl.c (commit_one_edge_insertion): Force splitting of
300         edge if the last insn in predecessor is a jump with single successor,
301         but it isn't simplejump_p.
303 2013-10-09  Jakub Jelinek  <jakub@redhat.com>
305         Backport from mainline
306         2013-09-26  Richard Biener  <rguenther@suse.de>
308         PR tree-optimization/58539
309         * tree-vect-loop.c (vect_create_epilog_for_reduction): Honor
310         the fact that debug statements are not taking part in loop-closed
311         SSA construction.
313 2013-10-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
315         * config/s390/s390.c (s390_register_info): Make the call-saved FPR
316         loop to work also for 31bit ABI.
317         Save the stack pointer for frame_size > 0.
319 2013-10-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
321         * config/s390/s390.md ("tbegin", "tbegin_nofloat", "tbegin_retry")
322         ("tbegin_retry_nofloat", "tend", "tabort", "tx_assist"): Remove
323         constraint letters from expanders.
324         ("tbegin_retry", "tbegin_retry_nofloat"): Change predicate of the
325         retry count to general_operand.
326         ("tabort"): Give operand 0 a mode.
327         ("tabort_1"): Add mode and constraint letter for operand 0.
328         * doc/extend.texi: Fix protoype of __builtin_non_tx_store.
330 2013-10-04  Marcus Shawcroft  <marcus.shawcroft@arm.com>
332         Backport from mainline.
334         PR target/58460
335         * config/aarch64/aarch64.md (*add_<shift>_<mode>)
336         (*add_<shift>_si_uxtw,*add_mul_imm_<mode>)
337         (*sub_<shift>_<mode>)
338         (*sub_<shift>_si_uxtw,*sub_mul_imm_<mode>, *sub_mul_imm_si_uxtw):
339         Remove k constraint.
341 2013-10-02  John David Anglin  <danglin@gcc.gnu.org>
343         * config.gcc (hppa*64*-*-linux*): Don't add pa/t-linux to tmake_file.
345 2013-10-01  Jakub Jelinek  <jakub@redhat.com>
346             Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
348         PR target/58574
349         * config/s390/s390.c (s390_chunkify_start): Handle tablejump_p first,
350         continue when done, for other jumps look through PARALLEL
351         unconditionally.
353 2013-09-30  Jakub Jelinek  <jakub@redhat.com>
355         PR middle-end/58564
356         * fold-const.c (fold_ternary_loc): For A < 0 : <sign bit of A> : 0
357         optimization, punt if sign_bit_p looked through any zero extension.
359 2013-09-27  Paulo Matos  <pmatos@broadcom.com>
361         Backport from mainline.
363         PR middle-end/58463
364         2013-03-27  Richard Biener  <rguenther@suse.de>
366         PR tree-optimization/56716
367         * tree-ssa-structalias.c (perform_var_substitution): Adjust
368         dumping for ref nodes.
370 2013-09-27  Paulo Matos  <pmatos@broadcom.com>
372         Backport from mainline.
374         2013-09-27  Paulo Matos  <pmatos@broadcom.com>
375         PR middle-end/58463
376         * gcc.dg/pr58463.c: New test.
378 2013-09-23  Eric Botcazou  <ebotcazou@adacore.com>
380         * tree-ssa-ccp.c (insert_clobber_before_stack_restore): Recurse on copy
381         assignment statements.
383 2013-09-23  Alan Modra  <amodra@gmail.com>
385         PR target/58330
386         * config/rs6000/rs6000.md (bswapdi2_64bit): Disable for volatile mems.
388 2013-09-23  Alan Modra  <amodra@gmail.com>
390         * config/rs6000/predicates.md (add_cint_operand): New.
391         (reg_or_add_cint_operand, small_toc_ref): Use add_cint_operand.
392         * config/rs6000/rs6000.md (largetoc_high_plus): Restrict offset
393         using add_cint_operand.
394         (largetoc_high_plus_aix): Likewise.
395         * config/rs6000/rs6000.c (toc_relative_expr_p): Use add_cint_operand.
397 2013-09-20  John David Anglin  <danglin@gcc.gnu.org>
399         PR middle-end/56791
400         * config/pa/pa.c (pa_option_override): Disable auto increment and
401         decrement instructions until reload is completed.
403         * config/pa/pa.md: In "scc" insn patterns, change output template to
404         handle const0_rtx in reg_or_0_operand operands.
406 2013-09-19  Jakub Jelinek  <jakub@redhat.com>
408         * omp-low.c (expand_omp_sections): Always pass len - 1 to
409         GOMP_sections_start, even if !exit_reachable.
411 2013-09-18  Richard Earnshaw  <rearnsha@arm.com>
413         * arm.c (arm_expand_prologue): Validate architecture supports
414         LDRD/STRD before accepting tuning preferences.
415         (arm_expand_epilogue): Likewise.
417 2013-09-18  Daniel Morris  <danielm@ecoscentric.com>
418             Paolo Carlini  <paolo.carlini@oracle.com>
420         PR c++/58458
421         * doc/implement-cxx.texi: Fix references to the C++ standards.
423 2013-09-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
425         PR tree-optimization/58088
426         * fold-const.c (mask_with_trailing_zeros): New function.
427         (fold_binary_loc): Make sure we don't recurse infinitely
428         when the X in (X & C1) | C2 is a tree of the form (Y * K1) & K2.
429         Use mask_with_trailing_zeros where appropriate.
431 2013-09-14  John David Anglin  <danglin@gcc.gnu.org>
433         PR target/58382
434         * config/pa/pa.c (pa_expand_prologue): Change mode in gen_rtx_POST_INC
435         calls to word_mode.
437 2013-09-13  Christian Bruel  <christian.bruel@st.com>
439         PR target/58314
440         * config/sh/sh.md (mov<mode>_reg_reg): Allow memory reloads.
442 2013-09-11  Andi Kleen  <ak@linux.intel.com>
444         Backport from mainline
445         * doc/extend.texi: Use __atomic_store_n instead of
446         __atomic_store in HLE example.
448 2013-09-11  Andi Kleen  <ak@linux.intel.com>
450         Backport from mainline
451         * doc/extend.texi: Dont use __atomic_clear in HLE
452         example.  Fix typo.
454 2013-09-11  Andi Kleen  <ak@linux.intel.com>
456         Backport from mainline
457         * doc/extend.texi: Document that __atomic_clear and
458           __atomic_test_and_set should only be used with bool.
460 2013-09-11  Richard Biener  <rguenther@suse.de>
462         PR middle-end/58377
463         * passes.c (init_optimization_passes): Split critical edges
464         before late uninit warning pass in the -Og pipeline.
466 2013-09-11  Jakub Jelinek  <jakub@redhat.com>
468         PR tree-optimization/58385
469         * fold-const.c (build_range_check): If both low and high are NULL,
470         use omit_one_operand_loc to preserve exp side-effects.
472 2013-09-10  Richard Earnshaw  <rearnsha@arm.com>
474         PR target/58361
475         * arm/vfp.md (combine_vcvt_f32_<FCVTI32typename>): Fix pattern to
476         support conditional execution.
477         (combine_vcvt_f64_<FCVTI32typename>): Likewise.
479 2013-09-10  Jakub Jelinek  <jakub@redhat.com>
481         PR rtl-optimization/58365
482         * cfgcleanup.c (merge_memattrs): Also clear MEM_READONLY_P
483         resp. MEM_NOTRAP_P if they differ, or set MEM_VOLATILE_P if
484         it differs.
486 2013-09-09  Jakub Jelinek  <jakub@redhat.com>
488         PR tree-optimization/58364
489         * tree-ssa-reassoc.c (init_range_entry): For BIT_NOT_EXPR on
490         BOOLEAN_TYPE, only invert in_p and continue with arg0 if
491         the current range can't be an unconditional true or false.
493 2013-09-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
495         PR target/57735
496         Backport from mainline
497         2013-04-30  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
499         * explow.c (plus_constant): Pass "mode" to immed_double_int_const.
500         Use gen_int_mode rather than GEN_INT.
502 2013-09-09  Richard Biener  <rguenther@suse.de>
504         Backport from mainline
505         2013-08-27  Richard Biener  <rguenther@suse.de>
507         PR tree-optimization/57521
508         * tree-if-conv.c (if_convertible_bb_p): Verify that at least
509         one edge is non-critical.
510         (find_phi_replacement_condition): Make sure to use a non-critical
511         edge.  Cleanup and remove old bug workarounds.
512         (bb_postdominates_preds): Remove.
513         (if_convertible_loop_p_1): Do not compute post-dominators.
514         (combine_blocks): Do not free post-dominators.
515         (main_tree_if_conversion): Likewise.
517 2013-09-09  Richard Biener  <rguenther@suse.de>
519         Backport from mainline
520         2013-09-03  Richard Biener  <rguenther@suse.de>
522         PR middle-end/57656
523         * fold-const.c (negate_expr_p): Fix division case.
524         (negate_expr): Likewise.
526 2013-09-09  Richard Biener  <rguenther@suse.de>
528         Backport from mainline
529         2013-08-29  Richard Biener  <rguenther@suse.de>
531         PR tree-optimization/57685
532         * tree-vrp.c (register_edge_assert_for_1): Recurse only for
533         single-use operands to avoid exponential complexity.
535 2013-09-09  Richard Biener  <rguenther@suse.de>
537         Backport from mainline
538         2013-08-30  Richard Biener  <rguenther@suse.de>
540         PR tree-optimization/58223
541         * tree-loop-distribution.c (has_anti_dependence): Rename to ...
542         (has_anti_or_output_dependence): ... this and adjust to also
543         look for output dependences.
544         (mark_nodes_having_upstream_mem_writes): Adjust.
545         (rdg_flag_uses): Likewise.
547 2013-09-03  Richard Biener  <rguenther@suse.de>
549         Backport from mainline
550         2013-08-29  Richard Biener  <rguenther@suse.de>
552         PR tree-optimization/58246
553         * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Properly
554         handle the dominance check inside a basic-block.
556 2013-09-03  Richard Biener  <rguenther@suse.de>
558         Backport from mainline
559         2013-08-30  Richard Biener  <rguenther@suse.de>
561         PR tree-optimization/58228
562         * tree-vect-data-refs.c (vect_analyze_data_ref_access): Do not
563         allow invariant loads in nested loop vectorization.
565 2013-09-03  Richard Biener  <rguenther@suse.de>
567         Backport from mainline
568         2013-08-30  Richard Biener  <rguenther@suse.de>
570         PR tree-optimization/58010
571         * tree-vect-loop.c (vect_create_epilog_for_reduction): Remove
572         assert that we have a loop-closed PHI.
574 2013-09-01  Uros Bizjak  <ubizjak@gmail.com>
576         Backport from mainline
577         2013-08-31  Uros Bizjak  <ubizjak@gmail.com>
579         * config/alpha/alpha.c (alpha_emit_conditional_move): Update
580         "cmp" RTX before signed_comparison_operator check to account
581         for "code" changes.
583 2013-09-01  John David Anglin  <danglin@gcc.gnu.org>
585         * config/pa/pa.md: Allow "const 0" operand 1 in "scc" insns.
587 2013-08-30  Jakub Jelinek  <jakub@redhat.com>
589         PR tree-optimization/58277
590         * tree-ssa-strlen.c (strlen_enter_block): If do_invalidate gave up
591         after seeing too many stmts with vdef in between dombb and current
592         bb, invalidate everything.
594 2013-08-29  Oleg Endo  <olegendo@gcc.gnu.org>
596         Backport from mainline
597         2013-08-05  Oleg Endo  <olegendo@gcc.gnu.org>
599         PR other/12081
600         * recog.h (rtx (*insn_gen_fn) (rtx, ...)): Replace typedef with new
601         class insn_gen_fn.
602         * expr.c (move_by_pieces_1, store_by_pieces_2): Replace argument
603         rtx (*) (rtx, ...) with insn_gen_fn.
604         * genoutput.c (output_insn_data): Cast gen_? function pointers to
605         insn_gen_fn::stored_funcptr.  Add initializer braces.
607         Backport from mainline
608         2013-08-07  Oleg Endo  <olegendo@gcc.gnu.org>
610         PR other/12081
611         * config/rs6000/rs6000.c (gen_2arg_fn_t): Remove typedef.
612         (rs6000_emit_swdiv_high_precision, rs6000_emit_swdiv_low_precision,
613         rs6000_emit_swrsqrt): Don't cast result of GEN_FCN to gen_2arg_fn_t.
615 2013-08-29  Jakub Jelinek  <jakub@redhat.com>
617         Backported from mainline
618         2013-05-27  Richard Biener  <rguenther@suse.de>
620         PR middle-end/57381
621         PR tree-optimization/57417
622         * tree-ssa-sccvn.c (vn_reference_fold_indirect): Fix test
623         for unchanged base.
624         (set_ssa_val_to): Compare addresses using
625         get_addr_base_and_unit_offset.
627         PR tree-optimization/57396
628         * tree-affine.c (double_int_constant_multiple_p): Properly
629         return false for val == 0 and div != 0.
631         PR tree-optimization/57343
632         * tree-ssa-loop-niter.c (number_of_iterations_ne_max): Do not
633         use multiple_of_p if not TYPE_OVERFLOW_UNDEFINED.
634         (number_of_iterations_cond): Do not build the folded tree.
636 2013-08-28  Jakub Jelinek  <jakub@redhat.com>
638         PR middle-end/58257
639         * omp-low.c (copy_var_decl): Copy over TREE_NO_WARNING flag.
641 2013-08-28  Richard Biener  <rguenther@suse.de>
643         Backport from mainline
644         2013-06-24  Richard Biener  <rguenther@suse.de>
646         PR middle-end/56977
647         * passes.c (init_optimization_passes): Move pass_fold_builtins
648         and pass_dce earlier with -Og.
650 2013-08-28  Uros Bizjak  <ubizjak@gmail.com>
652         Backport from mainline
653         2013-08-27  H.J. Lu  <hongjiu.lu@intel.com>
655         * config/i386/driver-i386.c (host_detect_local_cpu): Update
656         Haswell processor detection.
658         Backport from mainline
659         2013-08-27  Christian Widmer  <shadow@umbrox.de>
661         PR target/57927
662         * config/i386/driver-i386.c (host_detect_local_cpu): Add detection
663         of Ivy Bridge and Haswell processors.  Assume core-avx2 for unknown
664         AVX2 capable processors.
666 2013-08-23  Jakub Jelinek  <jakub@redhat.com>
668         PR target/58218
669         * config/i386/x86-64.h (TARGET_SECTION_TYPE_FLAGS): Define.
670         * config/i386/i386.c (x86_64_elf_section_type_flags): New function.
672         PR tree-optimization/58209
673         * tree-tailcall.c (find_tail_calls): Give up for pointer result types
674         if m or a is non-NULL.
676 2013-08-21  Richard Earnshaw  <rearnsha@arm.com>
678         PR target/56979
679         * arm.c (aapcs_vfp_allocate): Decompose the argument if the
680         suggested mode for the assignment isn't compatible with the
681         registers required.
683 2013-08-20  Alan Modra  <amodra@gmail.com>
685         PR target/57865
686         * config/rs6000/rs6000.c (rs6000_emit_prologue): Correct ool_adjust.
687         (rs6000_emit_epilogue): Likewise.
689 2013-08-19  Peter Bergner  <bergner@vnet.ibm.com>
690             Jakub Jelinek  <jakub@redhat.com>
692         Backport from mainline
693         * config/rs6000/dfp.md (*negtd2_fpr): Handle non-overlapping
694         destination and source operands.
696 2013-08-18  Jakub Jelinek  <jakub@redhat.com>
698         PR tree-optimization/58006
699         * tree-parloops.c (take_address_of): Don't ICE if get_name
700         returns NULL.
701         (eliminate_local_variables_stmt): Remove clobber stmts.
703 2013-08-16  Jakub Jelinek  <jakub@redhat.com>
705         PR tree-optimization/58164
706         * gimple.c (walk_stmt_load_store_addr_ops): For visit_addr
707         walk gimple_goto_dest of GIMPLE_GOTO.
709         PR tree-optimization/58165
710         * tree-call-cdce.c (shrink_wrap_one_built_in_call): If
711         bi_call must be the last stmt in a bb, don't split_block, instead
712         use fallthru edge from it and give up if there is none.
713         Release conds vector when returning early.
715 2013-08-15  David Given  <dg@cowlark.com>
717         Backport from mainline
718         2013-04-26  Vladimir Makarov  <vmakarov@redhat.com>
720         * lra-constraints.c (process_alt_operands): Use #if HAVE_ATTR_enable
721         instead of #ifdef.
723 2013-08-14  Jakub Jelinek  <jakub@redhat.com>
725         PR tree-optimization/58145
726         * tree-sra.c (build_ref_for_offset): If prev_base has
727         TREE_THIS_VOLATILE or TREE_SIDE_EFFECTS, propagate it to MEM_REF.
729 2013-08-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
731         * config/s390/htmxlintrin.h: Add file missing from last commit.
732         * config/s390/htmintrin.h: Likewise.
733         * config/s390/s390intrin.h: Likewise.
735 2013-08-14  Uros Bizjak  <ubizjak@gmail.com>
737         Backport from mainline
738         2013-08-13  Uros Bizjak  <ubizjak@gmail.com>
740         * config/i386/sse.md (*sse2_maskmovdqu): Emit addr32 prefix
741         when Pmode != word_mode.  Add length_address attribute.
742         (sse3_monitor_<mode>): Merge from sse3_monitor and
743         sse3_monitor64_<mode> insn patterns.  Emit addr32 prefix when
744         Pmode != word_mode.  Update insn length attribute.
745         * config/i386/i386.c (ix86_option_override_internal): Update
746         ix86_gen_monitor selection for merged sse3_monitor insn.
748 2013-08-14  Jakub Jelinek  <jakub@redhat.com>
749             Alexandre Oliva  <aoliva@redhat.com>
751         PR target/58067
752         * config/i386/i386.c (ix86_delegitimize_address): For CM_MEDIUM_PIC
753         and CM_LARGE_PIC ix86_cmodel fall thru into the -m32 code, handle
754         there also UNSPEC_PLTOFF.
756 2013-08-13  Jakub Jelinek  <jakub@redhat.com>
758         PR sanitizer/56417
759         * asan.c (instrument_strlen_call): Fix typo in comment.
760         Use char * type even for the lhs of POINTER_PLUS_EXPR.
762 2013-08-13  Vladimir Makarov  <vmakarov@redhat.com>
764         Backport from mainline
765         2013-06-06  Vladimir Makarov  <vmakarov@redhat.com>
767         PR rtl-optimization/57459
768         * lra-constraints.c (update_ebb_live_info): Fix typo for operand
769         type when setting live regs.
771 2013-08-13  Marek Polacek  <polacek@redhat.com>
772             Jakub Jelinek  <jakub@redhat.com>
774         PR tree-optimization/57980
775         * tree-tailcall.c (process_assignment): Return false
776         when not dealing with integers or floats.
778 2013-08-12  Andrew Haley  <aph@redhat.com>
780         Backport from mainline:
781         * 2013-07-11  Andreas Schwab  <schwab@suse.de>
783         * config/aarch64/aarch64-linux.h (CPP_SPEC): Define.
785 2013-08-13  Uros Bizjak  <ubizjak@gmail.com>
787         Backport from mainline
788         2013-08-12  Perez Read  <netfirewall@gmail.com>
790         PR target/58132
791         * config/i386/i386.md (*movabs<mode>_1):  Add <ptrsize> PTR before
792         operand 0 for intel asm alternative.
793         (*movabs<mode>_2): Ditto for operand 1.
795 2013-08-09  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
797         Backport from mainline:
798         2013-08-09  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
800         * config/arm/neon.md (vcond): Fix floating-point vector
801         comparisons against 0.
803 2013-08-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
805         Backport from mainline:
806         2013-08-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
808         * config/arm/neon.md (movmisalign<mode>): Disable when we
809         don't allow unaligned accesses.
810         (*movmisalign<mode>_neon_store): Likewise.
811         (*movmisalign<mode>_neon_load): Likewise.
812         (*movmisalign<mode>_neon_store): Likewise.
813         (*movmisalign<mode>_neon_load): Likewise.
815 2013-08-06  Martin Jambor  <mjambor@suse.cz>
817         PR middle-end/58041
818         * gimple-ssa-strength-reduction.c (replace_ref): Make sure built
819         MEM_REF has proper alignment information.
821 2013-08-05  Richard Earnshaw  <rearnsha@arm.com>
823         PR rtl-optimization/57708
824         * recog.c (peep2_find_free_register): Validate all regs in a
825         multi-reg mode.
827 2013-08-02  Eric Botcazou  <ebotcazou@adacore.com>
829         * config/sparc/sparc.c (sparc_emit_membar_for_model) <SMM_TSO>: Add
830         the implied StoreLoad barrier for atomic operations if before.
832 2013-08-02  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
834         Backports from mainline:
835         2013-06-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
837         * config/s390/s390.c: Rename UNSPEC_CCU_TO_INT to
838         UNSPEC_STRCMPCC_TO_INT and UNSPEC_CCZ_TO_INT to UNSPEC_CC_TO_INT.
839         (struct machine_function): Add tbegin_p.
840         (s390_canonicalize_comparison): Fold CC mode compares to
841         conditional jump if possible.
842         (s390_emit_jump): Return the emitted jump.
843         (s390_branch_condition_mask, s390_branch_condition_mnemonic):
844         Handle CCRAWmode compares.
845         (s390_option_override): Default to -mhtm if available.
846         (s390_reg_clobbered_rtx): Handle floating point regs as well.
847         (s390_regs_ever_clobbered): Use s390_regs_ever_clobbered also for
848         FPRs instead of df_regs_ever_live_p.
849         (s390_optimize_nonescaping_tx): New function.
850         (s390_init_frame_layout): Extend clobbered_regs array to cover
851         FPRs as well.
852         (s390_emit_prologue): Call s390_optimize_nonescaping_tx.
853         (s390_expand_tbegin): New function.
854         (enum s390_builtin): New enum definition.
855         (code_for_builtin): New array definition.
856         (s390_init_builtins): New function.
857         (s390_expand_builtin): New function.
858         (TARGET_INIT_BUILTINS): Define.
859         (TARGET_EXPAND_BUILTIN): Define.
860         * common/config/s390/s390-common.c (processor_flags_table): Add PF_TX.
861         * config/s390/predicates.md (s390_comparison): Handle CCRAWmode.
862         (s390_alc_comparison): Likewise.
863         * config/s390/s390-modes.def: Add CCRAWmode.
864         * config/s390/s390.h (processor_flags): Add PF_TX.
865         (TARGET_CPU_HTM): Define macro.
866         (TARGET_HTM): Define macro.
867         (TARGET_CPU_CPP_BUILTINS): Define __HTM__ for htm.
868         * config/s390/s390.md: Rename UNSPEC_CCU_TO_INT to
869         UNSPEC_STRCMPCC_TO_INT and UNSPEC_CCZ_TO_INT to UNSPEC_CC_TO_INT.
870         (UNSPECV_TBEGIN, UNSPECV_TBEGINC, UNSPECV_TEND, UNSPECV_TABORT)
871         (UNSPECV_ETND, UNSPECV_NTSTG, UNSPECV_PPA): New unspecv enum
872         values.
873         (TBEGIN_MASK, TBEGINC_MASK): New constants.
874         ("*cc_to_int"): Move up.
875         ("*mov<mode>cc", "*cjump_64", "*cjump_31"): Accept integer
876         constants other than 0.
877         ("*ccraw_to_int"): New insn and splitter definition.
878         ("tbegin", "tbegin_nofloat", "tbegin_retry")
879         ("tbegin_retry_nofloat", "tbeginc", "tend", "tabort")
880         ("tx_assist"): New expander.
881         ("tbegin_1", "tbegin_nofloat_1", "*tbeginc_1", "*tend_1")
882         ("*tabort_1", "etnd", "ntstg", "*ppa"): New insn definition.
883         * config/s390/s390.opt: Add -mhtm option.
884         * config/s390/s390-protos.h (s390_emit_jump): Add return type.
885         * config/s390/htmxlintrin.h: New file.
886         * config/s390/htmintrin.h: New file.
887         * config/s390/s390intrin.h: New file.
888         * doc/extend.texi: Document htm builtins.
889         * config.gcc: Add the new header files to extra_headers.
891         2013-07-17  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
893         * config/s390/s390.c: (s390_expand_builtin): Allow -mhtm to be
894         enabled without -march=zEC12.
895         * config/s390/s390.h (TARGET_HTM): Do not require EC12 machine
896         flags to be set.
898 2013-08-01  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
900         Backport from mainline
901         2013-05-13  Ganesh Gopalasubramanian
902                     <Ganesh.Gopalasubramanian@amd.com>
904         * config/i386/i386.c (processor_target_table): Modified default
905         alignment values for AMD BD and BT architectures.
907 2013-07-31  Sriraman Tallam  <tmsriram@google.com>
909         * config/i386/i386.c (dispatch_function_versions): Fix array
910         indexing of function_version_info to match actual_versions.
912 2013-07-31  Sebastian Huber  <sebastian.huber@embedded-brains.de>
914         * config.gcc (*-*-rtems*): Use __cxa_atexit by default.
915         * config/rs6000/rtems.h (TARGET_LIBGCC_SDATA_SECTION): Define.
917 2013-07-31  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
919         Backport from mainline
920         2013-03-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
922         * config/s390/s390.h (TARGET_FLT_EVAL_METHOD): Define.
924         2013-07-23  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
926         * config/s390/linux-unwind.h: Use the proper dwarf to hard reg
927         mapping for FPRs when creating the fallback framestate.
929         2013-07-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
931         * config/s390/s390.md ("movcc"): Swap load and store instructions.
933 2013-07-25  Terry Guo  <terry.guo@arm.com>
935         Backport from mainline:
936         2013-07-25  Terry Guo  <terry.guo@arm.com>
938         * config/arm/arm.c (thumb1_size_rtx_costs): Assign proper cost for
939         shift_add/shift_sub0/shift_sub1 RTXs.
941 2013-07-22  Iain Sandoe  <iain@codesourcery.com>
943         Backport from mainline:
944         2013-07-22  Uros Bizjak  <ubizjak@gmail.com>
946         * config/i386/i386.md (nonlocal_goto_receiver): Delete insn if
947         it is not needed after split.
949         2013-07-20  Iain Sandoe  <iain@codesourcery.com>
951         PR target/51784
952         * config/i386/i386.c (output_set_got) [TARGET_MACHO]: Adjust to emit a
953         second label for nonlocal goto receivers. Don't output pic base labels
954         unless we're producing PIC; mark that action unreachable().
955         (ix86_save_reg): If the function contains a nonlocal label, save the
956         PIC base reg.
957         * config/darwin-protos.h (machopic_should_output_picbase_label): New.
958         * gcc/config/darwin.c (emitted_pic_label_num): New GTY.
959         (update_pic_label_number_if_needed): New.
960         (machopic_output_function_base_name): Adjust for nonlocal receiver
961         case.
962         (machopic_should_output_picbase_label): New.
963         * config/i386/i386.md (enum unspecv): UNSPECV_NLGR: New.
964         (nonlocal_goto_receiver): New insn and split.
966 2013-07-19 Wei Mi  <wmi@google.com>
968         Backport from mainline:
969         2013-07-18  Vladimir Makarov  <vmakarov@redhat.com>
970                     Wei Mi  <wmi@google.com>
972         PR rtl-optimization/57878
973         * lra-assigns.c (assign_by_spills): Move non_reload_pseudos to the
974         top. Promote lra_assert to gcc_assert.
975         (reload_pseudo_compare_func): Check regs first for reload pseudos.
977 2013-07-11  Georg-Johann Lay  <avr@gjlay.de>
979         Backport from 2013-07-19 trunk r201051.
981         PR target/57516
982         * config/avr/avr-fixed.md (round<mode>3_const): Turn expander to insn.
983         * config/avr/avr.md (adjust_len): Add `round'.
984         * config/avr/avr-protos.h (avr_out_round): New prototype.
985         (avr_out_plus): Add `out_label' argument.
986         * config/avr/avr.c (avr_out_plus_1): Add `out_label' argument.
987         (avr_out_plus): Pass down `out_label' to avr_out_plus_1.
988         Handle the case where `insn' is just a pattern.
989         (avr_out_bitop): Handle the case where `insn' is just a pattern.
990         (avr_out_round): New function.
991         (avr_adjust_insn_length): Handle ADJUST_LEN_ROUND.
993 2013-07-19  Kirill Yukhin  <kirill.yukhin@intel.com>
995         * config/i386/bmiintrin.h (_bextr_u32): New.
996         (_bextr_u64): Ditto.
997         (_blsi_u32): New.
998         (_blsi_u64): Ditto.
999         (_blsr_u32): Ditto.
1000         (_blsr_u64): Ditto.
1001         (_blsmsk_u32): Ditto.
1002         (_blsmsk_u64): Ditto.
1003         (_tzcnt_u32): Ditto.
1004         (_tzcnt_u64): Ditto.
1006 2013-07-17  James Greenhalgh  <james.greenhalgh@arm.com>
1008         Backport From mainline:
1009         2013-07-03  James Greenhalgh  <james.greenhalgh@arm.com>
1011         * config/aarch64/aarch64-builtins.c
1012         (aarch64_simd_expand_builtin): Handle AARCH64_SIMD_STORE1.
1013         * config/aarch64/aarch64-simd-builtins.def (ld1): New.
1014         (st1): Likewise.
1015         * config/aarch64/aarch64-simd.md
1016         (aarch64_ld1<VALL:mode>): New.
1017         (aarch64_st1<VALL:mode>): Likewise.
1018         * config/aarch64/arm_neon.h
1019         (vld1<q>_<fpsu><8, 16, 32, 64>): Convert to RTL builtins.
1021 2013-07-11  Georg-Johann Lay  <avr@gjlay.de>
1023         Backport from 2013-07-11 trunk r200901.
1025         PR target/57631
1026         * config/avr/avr.c (avr_set_current_function): Sanity-check signal
1027         name seen by assembler/linker if available.
1029 2013-07-10  Georg-Johann Lay  <avr@gjlay.de>
1031         Backport from 2013-07-10 trunk r200872.
1033         PR target/57844
1034         * config/avr/avr.c (avr_prologue_setup_frame): Trunk -size to mode
1035         of my_fp.
1037 2013-07-10  Georg-Johann Lay  <avr@gjlay.de>
1039         Backport from 2013-07-10 trunk r200870.
1041         PR target/57506
1042         * config/avr/avr-mcus.def (atmega16hva, atmega16hva2, atmega16hvb)
1043         (atmega16m1, atmega16u4, atmega32a, atmega32c1, atmega32hvb)
1044         (atmega32m1, atmega32u4, atmega32u6, atmega64c1, atmega64m1):
1045         Remove duplicate devices.
1046         * config/avr/gen-avr-mmcu-texi.c (print_mcus): Fail on duplicate MCUs.
1047         * config/avr/t-multilib: Regenerate.
1048         * config/avr/avr-tables.opt: Regenerate.
1049         * doc/avr-mmcu.texi: Regenerate.
1051 2013-07-10  Georg-Johann Lay  <avr@gjlay.de>
1053         PR target/56987
1054         * config/avr/avr.opt (Waddr-space-convert): Fix typo.
1056 2013-07-09  Joseph Myers  <joseph@codesourcery.com>
1058         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Only
1059         adjust register size for TDmode and TFmode for VSX registers.
1061 2013-07-08  Kai Tietz  <ktietz@redhat.com>
1063         Backport from mainline
1064         PR target/56892
1065         * config/i386/i386.c (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): Define as
1066         hook_bool_const_tree_true.
1068 2013-07-08  Uros Bizjak  <ubizjak@gmail.com>
1070         Backport from mainline
1071         2013-07-07  Uros Bizjak  <ubizjak@gmail.com>
1073         * config/i386/driver-i386.c (host_detect_local_cpu): Do not check
1074         signature_TM2_ebx, it interferes with signature_INTEL_ebx.
1076         Backport from mainline
1077         2013-07-06  Uros Bizjak  <ubizjak@gmail.com>
1079         * config/i386/sse.md (sse_movlhps): Change alternative 3
1080         of operand 2 to "m".
1082 2013-07-08  Eric Botcazou  <ebotcazou@adacore.com>
1084         * Makefile.in (tree-ssa-reassoc.o): Add dependency on $(PARAMS_H).
1086 2013-07-08  Jakub Jelinek  <jakub@redhat.com>
1088         PR rtl-optimization/57829
1089         * simplify-rtx.c (simplify_binary_operation_1) <case IOR>: Ensure that
1090         mask bits outside of mode are just sign-extension from mode to HWI.
1092 2013-07-03  Jakub Jelinek  <jakub@redhat.com>
1094         PR target/57777
1095         * config/i386/predicates.md (vsib_address_operand): Disallow
1096         SYMBOL_REF or LABEL_REF in parts.disp if TARGET_64BIT && flag_pic.
1098 2013-06-30  Terry Guo  <terry.guo@arm.com>
1100         Backport from mainline
1101         2013-03-27  Bin Cheng  <bin.cheng@arm.com>
1103         PR target/56102
1104         * config/arm/arm.c (thumb1_rtx_costs, thumb1_size_rtx_costs): Fix
1105         rtx costs for SET/ASHIFT/ASHIFTRT/LSHIFTRT/ROTATERT patterns with
1106         mult-word mode.
1108 2013-06-28  Jakub Jelinek  <jakub@redhat.com>
1110         PR target/57736
1111         * config/i386/i386.c (ix86_expand_builtin): If target == NULL
1112         and mode is VOIDmode, don't create a VOIDmode pseudo to copy result
1113         into.
1115 2013-06-27  Jakub Jelinek  <jakub@redhat.com>
1117         PR target/57623
1118         * config/i386/i386.md (bmi_bextr_<mode>): Swap predicates and
1119         constraints of operand 1 and 2.
1121         PR target/57623
1122         * config/i386/i386.md (bmi2_bzhi_<mode>3): Swap AND arguments
1123         to match RTL canonicalization.  Swap predicates and
1124         constraints of operand 1 and 2.
1126         * tree-vect-stmts.c (vectorizable_store): Move ptr_incr var
1127         decl before the loop, initialize to NULL.
1128         (vectorizable_load): Initialize ptr_incr to NULL.
1130 2013-06-24  Martin Jambor  <mjambor@suse.cz>
1132         PR tree-optimization/57358
1133         * ipa-prop.c (parm_ref_data_preserved_p): Always return true when
1134         not optimizing.
1136 2013-06-24  Alan Modra  <amodra@gmail.com>
1138         * config/rs6000/rs6000.c (vspltis_constant): Correct for little-endian.
1139         (gen_easy_altivec_constant): Likewise.
1140         * config/rs6000/predicates.md (easy_vector_constant_add_self,
1141         easy_vector_constant_msb): Likewise.
1143 2013-06-21  Uros Bizjak  <ubizjak@gmail.com>
1145         Backport from mainline
1146         2013-06-20  Uros Bizjak  <ubizjak@gmail.com>
1148         PR target/57655
1149         * config/i386/i386.c (construct_container): Report error if
1150         long double is used with disabled x87 float returns.
1152 2013-06-20  Wei Mi  <wmi@google.com>
1154         Backport from mainline
1155         2013-06-19  Wei Mi  <wmi@google.com>
1157         PR rtl-optimization/57518
1158         * ira.c (set_paradoxical_subreg): Set pdx_subregs[regno]
1159         if regno is used in paradoxical subreg.
1160         (update_equiv_regs): Check pdx_subregs[regno] before
1161         set a reg to be equivalent with a mem.
1164 2013-06-20  David Edelsohn  <dje.gcc@gmail.com>
1166         Backport from mainline
1167         2013-06-19  David Edelsohn  <dje.gcc@gmail.com>
1169         PR driver/57652
1170         * collect2.c (collect_atexit): New.
1171         (collect_exit): Delete.
1172         (main): Register collect_atexit with atexit.
1173         (collect_wait): Change collect_exit to exit.
1174         (do_wait): Same.
1175         * collect2.h (collect_exit): Delete.
1176         * tlink.c (do_tlink): Rename exit to ret. Change collect_exit to exit.
1178 2013-06-19  Matthias Klose  <doko@ubuntu.com>
1180         PR driver/57651
1181         * file-find.h (find_a_file): Add a mode parameter.
1182         * file-find.c (find_a_file): Likewise.
1183         * gcc-ar.c (main): Call find_a_file with R_OK for the plugin,
1184         with X_OK for the executables.
1185         * collect2.c (main): Call find_a_file with X_OK.
1187 2013-06-19  Igor Zamyatin  <igor.zamyatin@intel.com>
1189         * doc/invoke.texi (core-avx2): Document.
1190         (atom): Updated with MOVBE.
1192 2013-06-19  Jakub Jelinek  <jakub@redhat.com>
1194         PR driver/57651
1195         * gcc-ar.c (main): If not CROSS_DIRECTORY_STRUCTURE, look for
1196         PERSONALITY in $PATH derived prefixes.
1198 2013-06-19  Paolo Carlini  <paolo.carlini@oracle.com>
1200         PR c++/56544
1201         * doc/cpp.texi [Standard Predefined Macros, __cplusplus]: Document
1202         that now in C++ the value is correct per the C++ standards.
1204 2013-06-19  Alan Modra  <amodra@gmail.com>
1206         Apply mainline patches
1207         2013-06-13  Alan Modra  <amodra@gmail.com>
1208         * config/rs6000/rs6000.h (LONG_DOUBLE_LARGE_FIRST): Define.
1209         * config/rs6000/rs6000.md (signbittf2): New insn.
1210         (extenddftf2_internal): Use LONG_DOUBLE_LARGE_FIRST.
1211         (abstf2_internal, cmptf_internal2): Likewise.
1212         * config/rs6000/spe.md (spe_abstf2_cmp, spe_abstf2_tst): Likewise.
1214         2013-06-11  Anton Blanchard  <anton@samba.org>
1215         * config/rs6000/rs6000.c (rs6000_adjust_atomic_subword): Calculate
1216         correct shift value in little-endian mode.
1218         2013-06-07  Alan Modra  <amodra@gmail.com>
1219         * config/rs6000/rs6000.c (setup_incoming_varargs): Round up
1220         va_list_gpr_size.
1222         2013-06-04  Alan Modra  <amodra@gmail.com>
1223         * config/rs6000/rs6000.c (output_toc): Correct little-endian float
1224         constant output.
1226         2013-05-10  Alan Modra  <amodra@gmail.com>
1227         * configure.ac (HAVE_AS_TLS): Swap powerpc64 and powerpc cases.
1228         (HAVE_LD_LARGE_TOC): Don't mention AIX in help text.
1229         * configure: Regenerate.
1231         2013-05-09  Alan Modra  <amodra@gmail.com>
1232         * configure.ac (HAVE_AS_TLS): Enable tests for powerpcle and
1233         powerpc64le.
1234         * configure: Regenerate.
1236         2013-05-07  Anton Blanchard  <anton@samba.org>
1237         * configure.ac (HAVE_LD_LARGE_TOC): Use right linker emulation
1238         for powerpc64 little endian.
1239         * configure: Regenerate.
1241         2013-05-06  Alan Modra  <amodra@gmail.com>
1242         * config/rs6000/linux.h (DEFAULT_ASM_ENDIAN): Define.
1243         (LINK_OS_LINUX_EMUL): Use ENDIAN_SELECT.
1244         * config/rs6000/linux64.h (DEFAULT_ASM_ENDIAN): Define.
1245         * config/rs6000/sysv4le.h (DEFAULT_ASM_ENDIAN): Define.
1246         (LINK_TARGET_SPEC): Use ENDIAN_SELECT.
1247         * config/rs6000/sysv4.h (DEFAULT_ASM_ENDIAN): Define as -mbig.
1249         2013-05-06  Alan Modra  <amodra@gmail.com>
1250         * config/rs6000/sysv4.h (ENDIAN_SELECT): Define, extracted from
1251         (ASM_SPEC): ..here.  Emit DEFAULT_ASM_ENDIAN too.
1252         (DEFAULT_ASM_ENDIAN): Define.
1253         (CC1_SPEC, LINK_TARGET_SPEC): Use ENDIAN_SELECT.
1254         * config/rs6000/linux64.h (ASM_SPEC32): Remove endian options.
1255         Update -K PIC clause from sysv4.h.
1256         (ASM_SPEC_COMMON): Use ENDIAN_SELECT.
1257         (LINK_OS_LINUX_EMUL32, LINK_OS_LINUX_EMUL64): Likewise.
1259         2013-05-06  Alan Modra  <amodra@gmail.com>
1260         * config/rs6000/rs6000.md (bswapdi 2nd splitter): Don't swap words
1261         twice for little-endian.
1262         (ashrdi3_no_power, ashrdi3): Support little-endian.
1264         2013-04-25  Alan Modra  <amodra@gmail.com>
1265         * config.gcc: Support little-endian powerpc-linux targets.
1266         * config/rs6000/linux.h (LINK_OS_LINUX_EMUL): Define.
1267         (LINK_OS_LINUX_SPEC): Define.
1268         * config/rs6000/linuxspe.h (TARGET_DEFAULT):
1269         Preserve MASK_LITTLE_ENDIAN.
1270         * config/rs6000/default64.h (TARGET_DEFAULT): Likewise.
1271         * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Likewise.
1272         * config/rs6000/linux64.h (OPTION_LITTLE_ENDIAN): Don't zero.
1273         (LINK_OS_LINUX_EMUL32, LINK_OS_LINUX_EMUL64): Define.
1274         (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Use above.
1275         * config/rs6000/rs6000.c (output_toc): Don't use .tc for TARGET_ELF.
1276         Correct fp word order for little-endian.  Don't shift toc entries
1277         smaller than a word for little-endian.
1278         * config/rs6000/rs6000.md (bswaphi2, bswapsi2 split): Comment.
1279         (bswapdi2 splits): Correct low-part subreg for little-endian.
1280         Remove wrong BYTES_BIG_ENDIAN tests, and rename vars to remove
1281         low/high where such is correct only for be.
1282         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Allow
1283         little-endian for -mcall-aixdesc.
1285 2013-06-12  Martin Jambor  <mjambor@suse.cz>
1287         * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that param_index is
1288         within bounds at the beginning of the function.
1290 2013-06-12  Jakub Jelinek  <jakub@redhat.com>
1292         PR tree-optimization/57537
1293         * tree-vect-patterns.c (vect_recog_widen_mult_pattern): If
1294         vect_handle_widen_op_by_const, convert oprnd1 to half_type1.
1296 2013-06-10  Uros Bizjak  <ubizjak@gmail.com>
1298         Backport from mainline
1299         2013-06-10  Uros Bizjak  <ubizjak@gmail.com>
1301         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Also use
1302         cmp_code to construct REG_EQUAL note.
1304 2013-06-10  Oleg Endo  <olegendo@gcc.gnu.org>
1306         Backport from mainline
1307         2013-05-20  Oleg Endo  <olegendo@gcc.gnu.org>
1309         PR target/56547
1310         * config/sh/sh.md (fmasf4): Remove empty constraints strings.
1311         (*fmasf4, *fmasf4_media): New insns.
1313 2013-06-09  Jakub Jelinek  <jakub@redhat.com>
1315         PR target/57568
1316         * config/i386/i386.md (TARGET_READ_MODIFY_WRITE peepholes): Ensure
1317         that operands[2] doesn't overlap with operands[0].
1319 2013-06-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
1321         * recog.c (offsettable_address_addr_space_p): Fix calculation of
1322         address mode.  Move pointer mode initialization to the same place.
1324 2013-06-07  Sofiane Naci  <sofiane.naci@arm.com>
1326         Backport from mainline
1327         * config/aarch64/aarch64.md (*movdi_aarch64): Define "simd" attribute.
1329 2013-06-07  Uros Bizjak  <ubizjak@gmail.com>
1331         Backport from mainline
1332         2013-06-05  Uros Bizjak  <ubizjak@gmail.com>
1334         * config/alpha/alpha.c (alpha_emit_conditional_move): Swap all
1335         GE, GT, GEU and GTU compares, modulo DImode compares with zero.
1337         Backport from mainline
1338         2013-05-23  Uros Bizjak  <ubizjak@gmail.com>
1340         PR target/57379
1341         * config/alpha/alpha.md (unspec): Add UNSPEC_XFLT_COMPARE.
1342         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Construct
1343         REG_EQUAL note as UNSPEC_XFLT_COMPARE unspec.
1345 2013-06-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1347         Backport from mainline.
1348         2013-05-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1350         * config/rs6000/rs6000.h (MALLOC_ABI_ALIGNMENT): New #define.
1352 2013-06-03  James Greenhalgh  <james.greenhalgh@arm.com>
1354         Backport from mainline.
1355         2013-04-25  James Greenhalgh  <james.greenhalgh@arm.com>
1357         * config/aarch64/aarch64.c (aarch64_print_operand): Fix asm_fprintf
1358         format specifier in 'X' case.
1360 2013-05-31  Richard Henderson  <rth@redhat.com>
1362         PR target/56742
1363         * config/i386/i386.c (ix86_seh_fixup_eh_fallthru): New.
1364         (ix86_reorg): Call it.
1366 2012-05-31  Jakub Jelinek  <jakub@redhat.com>
1368         * BASE-VER: Set to 4.8.2.
1369         * DEV-PHASE: Set to prerelease.
1371 2013-05-31  Release Manager
1373         * GCC 4.8.1 released.
1375 2013-05-24  Greta Yorsh  <Greta.Yorsh@arm.com>
1377         Backport from mainline
1378         2013-05-02  Greta Yorsh  <Greta.Yorsh@arm.com>
1380         PR target/56732
1381         * config/arm/arm.c (arm_expand_epilogue): Check really_return before
1382         generating simple_return for naked functions.
1384 2013-05-24  Alexander Ivchenko  <alexander.ivchenko@intel.com>
1386         PR tree-ssa/57385
1387         * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Check
1388         that index is not negative.
1390 2013-05-23  Martin Jambor  <mjambor@suse.cz>
1392         PR middle-end/57347
1393         * tree.h (contains_bitfld_component_ref_p): Declare.
1394         * tree-sra.c (contains_bitfld_comp_ref_p): Move...
1395         * tree.c (contains_bitfld_component_ref_p): ...here.  Adjust its caller.
1396         * ipa-prop.c (determine_known_aggregate_parts): Check that LHS does
1397         not access a bit-field.  Assert all final offsets are byte-aligned.
1399 2013-05-23  Richard Biener  <rguenther@suse.de>
1401         PR rtl-optimization/57341
1402         * ira.c (validate_equiv_mem_from_store): Use anti_dependence
1403         instead of true_dependence.
1405 2013-05-23  Jakub Jelinek  <jakub@redhat.com>
1407         PR middle-end/57344
1408         * expmed.c (store_split_bit_field): If op0 is a REG or
1409         SUBREG of a REG, don't lower unit.  Handle unit not being
1410         always BITS_PER_WORD.
1412 2013-05-22  Uros Bizjak  <ubizjak@gmail.com>
1414         PR target/57356
1415         * config/i386/i386.md (*movti_internal_rex64): Emit movaps/movups
1416         for non-sse2 targets.
1417         (*movti_internal): Simplify mode attribute calculation.
1419 2013-05-22  Richard Biener  <rguenther@suse.de>
1421         Backport from mainline
1422         2013-05-21  Richard Biener  <rguenther@suse.de>
1424         PR tree-optimization/57318
1425         * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Do not
1426         estimate stmts with side-effects as likely eliminated.
1428         2013-05-21  Richard Biener  <rguenther@suse.de>
1430         PR tree-optimization/57330
1431         * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Properly
1432         preserve the call stmts fntype.
1434         2013-05-21  Richard Biener  <rguenther@suse.de>
1436         PR tree-optimization/57303
1437         * tree-ssa-sink.c (statement_sink_location): Properly handle
1438         self-assignments.
1440 2013-05-21  Magnus Granberg  <baldrick@free.fr>
1442         PR plugins/56754
1443         * Makefile.in (PLUGIN_HEADERS): Add $(TARGET_H).
1445 2013-05-21  Eric Botcazou  <ebotcazou@adacore.com>
1447         Backport from mainline
1448         2013-05-14  Eric Botcazou  <ebotcazou@adacore.com>
1450         * config/sparc/sp64-elf.h (CPP_SUBTARGET_SPEC): Delete.
1451         * config/sparc/openbsd64.h (CPP_SUBTARGET_SPEC): Likewise.
1453 2013-05-17  Jakub Jelinek  <jakub@redhat.com>
1455         PR rtl-optimization/57281
1456         PR rtl-optimization/57300
1457         * config/i386/i386.md (extendsidi2_1 dead reg splitter): Remove.
1458         (extendsidi2_1 peephole2s): Add instead 2 new peephole2s, that undo
1459         what the other splitter did if the registers are dead.
1461 2013-05-17  Uros Bizjak  <ubizjak@gmail.com>
1463         Backport from mainline
1464         2013-05-16  Uros Bizjak  <ubizjak@gmail.com>
1466         * config/i386/driver-i386.c (host_detect_local_cpu): Determine
1467         cache parameters using detect_caches_amd also for CYRIX,
1468         NSC and TM2 signatures.
1470         2013-05-16  Uros Bizjak  <ubizjak@gmail.com>
1471                     Dzianis Kahanovich  <mahatma@eu.by>
1473         PR target/45359
1474         PR target/46396
1475         * config/i386/driver-i386.c (host_detect_local_cpu): Detect
1476         VIA/Centaur processors and determine their cache parameters
1477         using detect_caches_amd.
1479         2013-05-15  Uros Bizjak  <ubizjak@gmail.com>
1481         * config/i386/i386.c (ix86_option_override_internal): Update
1482         processor_alias_table for missing PTA_PRFCHW and PTA_FXSR flags.  Add
1483         PTA_POPCNT to corei7 entry. Do not enable SSE prefetch on
1484         non-SSE 3dNow! targets.  Enable TARGET_PRFCHW for TARGET_3DNOW targets.
1485         * config/i386/i386.md (prefetch): Enable for TARGET_PRFCHW instead
1486         of TARGET_3DNOW.
1487         (*prefetch_3dnow): Enable for TARGET_PRFCHW only.
1489 2013-05-17  Jakub Jelinek  <jakub@redhat.com>
1491         * gcc.c (SANITIZER_SPEC): Reject -fsanitize=address -fsanitize=thread
1492         linking.
1494         PR tree-optimization/57051
1495         * fold-const.c (const_binop) <case VEC_LSHIFT_EXPR,
1496         case VEC_RSHIFT_EXPR>: Fix BYTES_BIG_ENDIAN handling.
1498 2013-05-16  Jakub Jelinek  <jakub@redhat.com>
1500         * omp-low.c (extract_omp_for_data): For collapsed loops,
1501         if at least one of the loops is known at compile time to
1502         iterate zero times, set count to 0.
1503         (expand_omp_regimplify_p): New function.
1504         (expand_omp_for_generic): For collapsed loops, if at least
1505         one of the loops isn't known to iterate at least once,
1506         add runtime check with setting count to 0.
1507         (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
1508         For unsigned types if it isn't known at compile time that
1509         the loop will iterate at least once, add runtime check to bypass
1510         the whole loop if initial condition isn't true.
1512 2013-05-14  Jakub Jelinek  <jakub@redhat.com>
1514         PR middle-end/57251
1515         * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Handle
1516         the case when both op0 and op1 have VOIDmode.
1518 2013-05-13  Jakub Jelinek  <jakub@redhat.com>
1520         PR tree-optimization/57230
1521         * tree-ssa-strlen.c (handle_char_store): Add missing integer_zerop
1522         check.
1524 2013-05-12  Joern Rennecke  <joern.rennecke@embecosm.com>
1526         * config/epiphany/epiphany.c (epiphany_init): Check size of
1527         NUM_MODES_FOR_MODE_SWITCHING.
1528         (epiphany_expand_prologue):
1529         Remove CONFIG_REGNUM initial value handling code.
1530         (epiphany_optimize_mode_switching): Handle EPIPHANY_MSW_ENTITY_CONFIG.
1531         (epiphany_mode_needed, epiphany_mode_entry_exit): Likewise.
1532         (emit_set_fp_mode, epiphany_mode_after): Likewise.
1533         (epiphany_mode_needed) <Handle EPIPHANY_MSW_ENTITY_AND>:
1534         Don't return 1 for FP_MODE_NONE.
1535         * config/epiphany/epiphany.h (NUM_MODES_FOR_MODE_SWITCHING):
1536         Add value for EPIPHANY_MSW_ENTITY_CONFIG.
1537         (EPIPHANY_MSW_ENTITY_CONFIG, EPIPHANY_MSW_ENTITY_NUM): Define.
1538         * config/epiphany/epiphany.md (save_config): New pattern.
1540 2013-05-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1542         * config/arm/t-rtems-eabi: Remove mthumb/march=armv7 multilib.
1543         Add mthumb/march=armv7-a multilib.
1544         Add mthumb/march=armv7-r multilib.
1545         Add mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard multilib.
1547 2013-05-10  Ralf Corsépius  <ralf.corsepius@rtems.org>
1549         PR target/57237
1550         * config/v850/t-rtems: Add more multilibs.
1552 2013-05-10  Richard Biener  <rguenther@suse.de>
1554         PR tree-optimization/57214
1555         * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling): Do
1556         not propagate from SSA names that occur in abnormal PHI nodes.
1558 2013-05-10  Alan Modra  <amodra@gmail.com>
1560         PR target/55033
1561         * varasm.c (default_elf_select_section): Move !DECL_P check..
1562         (get_named_section): ..to here before calling get_section_name.
1563         Adjust assertion.
1564         (default_section_type_flags): Add DECL_P check.
1565         * config/i386/winnt.c (i386_pe_section_type_flags): Likewise.
1566         * config/rs6000/rs6000.c (rs6000_xcoff_section_type_flags): Likewise.
1568 2013-05-09  Joern Rennecke  <joern.rennecke@embecosm.com>
1570         * config/epiphany/epiphany.c (epiphany_expand_prologue):
1571         When using gen_stack_adjust_str with a register offset, add a
1572         REG_FRAME_RELATED_EXPR note.
1574 2013-05-09  Martin Jambor  <mjambor@suse.cz>
1576         PR middle-end/56988
1577         * ipa-prop.h (ipa_agg_replacement_value): New flag by_ref.
1578         * ipa-cp.c (find_aggregate_values_for_callers_subset): Fill in the
1579         by_ref flag of ipa_agg_replacement_value structures.
1580         (known_aggs_to_agg_replacement_list): Likewise.
1581         * ipa-prop.c (write_agg_replacement_chain): Stream by_ref flag.
1582         (read_agg_replacement_chain): Likewise.
1583         (ipcp_transform_function): Also check that by_ref flags match.
1585 2013-05-08  Diego Novillo  <dnovillo@google.com>
1587         PR bootstrap/54659
1589         Revert:
1591         2012-08-17  Diego Novillo  <dnovillo@google.com>
1593                 PR bootstrap/54281
1594                 * configure.ac: Add libintl.h to AC_CHECK_HEADERS list.
1595                 * config.in: Regenerate.
1596                 * configure: Regenerate.
1597                 * intl.h: Always include libintl.h if HAVE_LIBINTL_H is
1598                 set.
1600 2013-05-08  Paolo Carlini  <paolo.carlini@oracle.com>
1602         PR tree-optimization/57200
1603         * tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations):
1604         Only call inform if the preceding warning_at returns true.
1606 2013-05-07  Jakub Jelinek  <jakub@redhat.com>
1608         PR tree-optimization/57149
1609         * tree-ssa-uninit.c (uninit_undefined_value_p): New inline.
1610         (can_skip_redundant_opnd, compute_uninit_opnds_pos,
1611         collect_phi_def_edges, execute_late_warn_uninitialized): Use
1612         uninit_undefined_value_p instead of ssa_undefined_value_p.
1614         PR debug/57184
1615         * expr.c (expand_expr_addr_expr_1): Handle COMPOUND_LITERAL_EXPR
1616         for modifier == EXPAND_INITIALIZER.
1618 2013-05-07  Richard Biener  <rguenther@suse.de>
1620         Backport from mainline
1621         2013-05-06  Richard Biener  <rguenther@suse.de>
1623         PR tree-optimization/57185
1624         * tree-parloops.c (add_field_for_reduction): Handle anonymous
1625         SSA names properly.
1627         2013-04-19  Richard Biener  <rguenther@suse.de>
1629         PR tree-optimization/57000
1630         * tree-ssa-reassoc.c (pass_reassoc): Add TODO_update_ssa_only_virtuals.
1632 2013-05-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
1634         Backport from trunk
1635         2013-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
1637         PR target/57150
1638         * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Use DFmode
1639         to save TFmode registers and DImode to save TImode registers for
1640         caller save operations.
1641         (HARD_REGNO_CALL_PART_CLOBBERED): TFmode and TDmode do not need to
1642         mark being partially clobbered since they only use the first
1643         double word.
1645         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): TFmode
1646         and TDmode only use the upper 64-bits of each VSX register.
1648 2013-05-06  Oleg Endo  <olegendo@gcc.gnu.org>
1650         PR target/57108
1651         * config/sh/sh.md (tstsi_t_zero_extract_eq): Use QIHISIDI mode iterator.
1653 2013-05-06  Uros Bizjak  <ubizjak@gmail.com>
1655         Backport from mainline
1656         2013-05-06  Uros Bizjak  <ubizjak@gmail.com>
1658         PR target/57106
1659         * config/i386/i386.c (add_parameter_dependencies): Add dependence
1660         between "first_arg" and "insn", not "last" and "insn".
1662 2013-05-03  Jakub Jelinek  <jakub@redhat.com>
1664         PR rtl-optimization/57130
1665         * combine.c (make_compound_operation) <case SUBREG>: Pass
1666         SET instead of COMPARE as in_code to the recursive call
1667         if needed.
1669         Backported from mainline
1670         2013-04-26  Jakub Jelinek  <jakub@redhat.com>
1672         PR tree-optimization/57051
1673         * fold-const.c (const_binop): Handle VEC_LSHIFT_EXPR
1674         and VEC_RSHIFT_EXPR if shift count is a multiple of element
1675         bitsize.
1677         2013-04-12  Marc Glisse  <marc.glisse@inria.fr>
1679         * fold-const.c (fold_binary_loc): Call const_binop also for mixed
1680         vector-scalar operations.
1682 2013-05-03  Marek Polacek  <polacek@redhat.com>
1684         Backport from mainline
1685         2013-04-25  Marek Polacek  <polacek@redhat.com>
1687         PR tree-optimization/57066
1688         * builtins.c (fold_builtin_logb): Return +Inf for -Inf.
1690 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
1692         Backport from mainline
1693         2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
1695         * lra-constraints.c (process_alt_operands): Add checking alt
1696         number to choose the best alternative.
1698         2013-05-01  Vladimir Makarov  <vmakarov@redhat.com>
1700         PR target/57091
1701         * lra-constraints.c (best_small_class_operands_num): Remove.
1702         (process_alt_operands): Remove small_class_operands_num.  Take
1703         small classes operands into losers and only if the operand is not
1704         matched.  Modify debugging output.
1705         (curr_insn_transform): Remove best_small_class_operands_num.
1706         Print insn name.
1708 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
1710         Backport from mainline
1711         2013-04-29  Vladimir Makarov  <vmakarov@redhat.com>
1713         PR target/57097
1714         * lra-constraints.c (process_alt_operands): Discourage a bit more
1715         using memory for pseudos.  Print cost dump for alternatives.
1716         Modify cost values for conflicts with early clobbers.
1717         (curr_insn_transform): Spill pseudos reassigned to NO_REGS.
1719 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
1721         Backport from mainline
1722         2013-04-24  Vladimir Makarov  <vmakarov@redhat.com>
1724         PR rtl-optimizations/57046
1725         * lra-constraints (split_reg): Set up lra_risky_transformations_p
1726         for multi-reg splits.
1728 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
1730         Backport from mainline
1731         2013-04-22  Vladimir Makarov  <vmakarov@redhat.com>
1733         PR target/57018
1734         * lra-eliminations.c (mark_not_eliminable): Prevent elimination of
1735         a set sp if no stack realignment.
1737 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
1739         Backport from mainline
1740         2013-04-18  Vladimir Makarov  <vmakarov@redhat.com>
1742         PR rtl-optimization/56999
1743         * lra-coalesce.c (coalescable_pseudo_p): Remove 2nd parameter and
1744         related code.
1745         (lra_coalesce): Remove split_origin_bitmap and related code.
1746         * lra.c (lra): Coalesce after undoing inheritance. Recreate live
1747         ranges if necessary.
1749 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
1751         Backport from mainline
1752         2013-04-19  Vladimir Makarov  <vmakarov@redhat.com>
1754         PR rtl-optimization/56847
1755         * lra-constraints.c (process_alt_operands): Discourage alternative
1756         with non-matche doffsettable memory constraint fro memory with
1757         known offset.
1759 2013-05-02  Ian Bolton  <ian.bolton@arm.com>
1761         Backport from mainline
1762         2013-03-28  Ian Bolton  <ian.bolton@arm.com>
1764         * config/aarch64/aarch64.md (aarch64_can_eliminate): Keep frame
1765         record only when desired or required.
1767 2013-04-30  Jakub Jelinek  <jakub@redhat.com>
1769         PR tree-optimization/57104
1770         * tsan.c (instrument_expr): Don't instrument accesses to
1771         DECL_HARD_REGISTER VAR_DECLs.
1773 2013-04-30  Uros Bizjak  <ubizjak@gmail.com>
1775         Backport from mainline
1776         2013-04-29  Uros Bizjak  <ubizjak@gmail.com>
1778         PR target/44578
1779         * config/i386/i386.md (*zero_extendsidi2_rex64): Add "!" to m->?*y
1780         alternative.
1781         (*zero_extendsidi2): Ditto.
1783         Backport from mainline
1784         2013-04-29  Uros Bizjak  <ubizjak@gmail.com>
1786         PR target/57098
1787         * config/i386/i386.c (ix86_expand_vec_perm): Validize constant memory.
1789 2013-04-29  Richard Biener  <rguenther@suse.de>
1791         PR middle-end/57103
1792         * tree-cfg.c (move_stmt_op): Fix condition under which to update
1793         TREE_BLOCK.
1794         (move_stmt_r): Remove redundant checking.
1796 2013-04-29  Christian Bruel  <christian.bruel@st.com>
1798         PR target/57108
1799         * sh.md (tstsi_t_zero_extract_eq): Set mode for operand 0.
1801 2013-04-29  Jakub Jelinek  <jakub@redhat.com>
1803         PR tree-optimization/57083
1804         * tree-vrp.c (extract_range_from_binary_expr_1): For LSHIFT_EXPR with
1805         non-singleton shift count range, zero extend low_bound for uns case.
1807 2013-04-28  Eric Botcazou  <ebotcazou@gcc.gnu.org>
1809         * stor-layout.c (finalize_size_functions): Allocate a structure and
1810         reset cfun before dumping the functions.
1812 2013-04-27  Jakub Jelinek  <jakub@redhat.com>
1814         PR target/56866
1815         * config/i386/i386.c (ix86_expand_mul_widen_evenodd): Don't
1816         use xop_pmacsdqh if uns_p.
1817         * config/i386/sse.md (xop_rotr<mode>3): Fix up computation of
1818         the immediate rotate count.
1820 2013-04-25  Jakub Jelinek  <jakub@redhat.com>
1822         PR rtl-optimization/57003
1823         * regcprop.c (copyprop_hardreg_forward_1): If ksvd.ignore_set_reg,
1824         call note_stores with kill_clobbered_value callback again after
1825         killing regs_invalidated_by_call.
1827 2013-04-25  Ian Bolton  <ian.bolton@arm.com>
1829         Backported from mainline.
1830         2013-03-22  Ian Bolton  <ian.bolton@arm.com>
1832         * config/aarch64/aarch64.c (aarch64_print_operand): New
1833         format specifier for printing a constant in hex.
1834         * config/aarch64/aarch64.md (insv_imm<mode>): Use the X
1835         format specifier for printing second operand.
1837 2013-04-24  James Greenhalgh  <james.greenhalgh@arm.com>
1839         Backported from mainline.
1840         2013-04-24  James Greenhalgh  <james.greenhalgh@arm.com>
1842         * config/aarch64/arm_neon.h (vld1<q>_lane*): Fix constraints.
1843         (vld1<q>_dup_<sufp><8, 16, 32, 64>): Likewise.
1844         (vld1<q>_<sufp><8, 16, 32, 64>): Likewise.
1846 2013-04-24  Greta Yorsh  <Greta.Yorsh@arm.com>
1848         Backported from mainline.
1849         PR target/56797
1850         * config/arm/arm.c (load_multiple_sequence): Require SP
1851         as base register for loads if SP is in the register list.
1853 2013-04-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1854             Steven Bosscher <steven@gcc.gnu.org>
1856         Backported from mainline.
1857         PR rtl-optimization/56605
1858         * loop-iv.c (implies_p): Handle equal RTXs and subregs.
1860 2013-04-22  Marek Polacek  <polacek@redhat.com>
1862         Backported from mainline.
1863         2013-04-22  Marek Polacek  <polacek@redhat.com>
1865         PR sanitizer/56990
1866         * tsan.c (instrument_expr): Don't instrument expression
1867         in case its size is zero.
1869 2013-04-22  Yufeng Zhang  <yufeng.zhang@arm.com>
1871         Backported from mainline.
1872         2013-04-10  Yufeng Zhang  <yufeng.zhang@arm.com>
1873         * config/aarch64/aarch64.c (aarch64_print_extension): New function.
1874         (aarch64_start_file): Use the new function.
1876 2013-04-18  Jakub Jelinek  <jakub@redhat.com>
1878         PR tree-optimization/56984
1879         * tree-vrp.c (register_edge_assert_for_2): For (x >> M) < N
1880         and (x >> M) >= N don't register any assertion if N << M is the
1881         minimum value.
1883 2013-04-17  David Edelsohn  <dje.gcc@gmail.com>
1885         PR target/56948
1886         * config/rs6000/vsx.md (vsx_mov<mode>): Add j->r alternative.
1888 2013-04-15  Jakub Jelinek  <jakub@redhat.com>
1890         PR tree-optimization/56962
1891         * gimple-ssa-strength-reduction.c (record_increment): Only set
1892         initializer if gimple_assign_rhs_code is {,POINTER_}PLUS_EXPR and
1893         either rhs1 or rhs2 is equal to c->base_expr.
1895 2013-04-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1897         * emit-rtl.c (reset_all_used_flags): New function.
1898         (verify_rtl_sharing): Call reset_all_used_flags before and after
1899         performing the checks.
1901 2013-04-15  Eric Botcazou  <ebotcazou@adacore.com>
1903         PR target/56890
1904         * config/sparc/sparc.c (enum sparc_mode_class): Add H_MODE value.
1905         (S_MODES): Set H_MODE bit.
1906         (SF_MODES): Set only S_MODE and SF_MODE bits.
1907         (DF_MODES): Set SF_MODES and only D_MODE and DF_MODE bits.
1908         (sparc_init_modes) <MODE_INT>: Set H_MODE bit for sub-word modes.
1909         <MODE_VECTOR_INT>: Do not set SF_MODE for sub-word modes.
1910         <MODE_FLOAT>: Likewise.
1912 2013-04-12  Vladimir Makarov  <vmakarov@redhat.com>
1914         PR target/56903
1915         * config/i386/i386.c (ix86_hard_regno_mode_ok): Add
1916         lra_in_progress for return.
1918 2013-04-12  Jakub Jelinek  <jakub@redhat.com>
1920         PR tree-optimization/56918
1921         PR tree-optimization/56920
1922         * fold-const.c (int_const_binop_1): Use op1.mul_with_sign (op2, ...)
1923         instead of op1 - op2.  Pass 2 * TYPE_PRECISION (type) as second
1924         argument to rshift method.
1926 2013-04-12  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1928         * ifcvt.c (end_ifcvt_sequence): Mark a and b for unsharing as
1929         well.
1931 2013-04-11  Marek Polacek  <polacek@redhat.com>
1933         PR tree-optimization/48184
1934         * params.def (PARAM_ALIGN_THRESHOLD): Increase the minimum
1935         value to 1.
1937 2013-04-11  James Greenhalgh  <james.greenhalgh@arm.com>
1939         Backported from mainline.
1940         2013-04-11  James Greenhalgh  <james.greenhalgh@arm.com>
1942         * config/aarch64/aarch64-simd.md (aarch64_vcond_internal): Fix
1943         floating-point vector comparisons against 0.
1945 2013-04-11  Jakub Jelinek  <jakub@redhat.com>
1947         PR tree-optimization/56899
1948         * fold-const.c (extract_muldiv_1): Apply distributive law
1949         only if TYPE_OVERFLOW_WRAPS (ctype).
1951 2013-04-10  David S. Miller  <davem@davemloft.net>
1953         * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=supersparc
1954         or -mcpu=hypersparc.
1956 2013-04-10  Jakub Jelinek  <jakub@redhat.com>
1958         Backported from mainline
1959         2013-04-09  Jakub Jelinek  <jakub@redhat.com>
1961         PR middle-end/56883
1962         * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
1963         expand_omp_for_static_chunk): Use simple_p = true in
1964         force_gimple_operand_gsi calls when assigning to addressable decls.
1966 2013-04-09  Marek Polacek  <polacek@redhat.com>
1968         PR tree-optimization/48762
1969         * params.def (PARAM_MAX_CSE_INSNS): Increase the minimum
1970         value to 1.
1972 2013-04-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1974         * config/s390/s390.c (s390_expand_insv): Only accept insertions
1975         within mode size.
1977 2013-04-08  Marek Polacek  <polacek@redhat.com>
1979         PR rtl-optimization/48182
1980         * params.def (PARAM_MIN_CROSSJUMP_INSNS): Increase the minimum
1981         value to 1.
1983 2013-04-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1985         PR target/55487
1986         * config/pa/pa.c (legitimize_pic_address): Before incrementing label
1987         nuses, make sure we have a label.
1989 2013-04-04  Ian Lance Taylor  <iant@google.com>
1991         Backport from mainline:
1992         * doc/standards.texi (Standards): The Go frontend supports the Go
1993         1 language standard.
1995 2013-04-04  Marek Polacek  <polacek@redhat.com>
1997         Backport from mainline:
1998         2013-04-04  Marek Polacek  <polacek@redhat.com>
2000         PR tree-optimization/48186
2001         * predict.c (maybe_hot_frequency_p): Return false if
2002         HOT_BB_FREQUENCY_FRACTION is 0.
2003         (cgraph_maybe_hot_edge_p): Likewise.
2005 2013-04-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2007         Backport from mainline:
2008         2013-03-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2010         PR target/56720
2011         * config/arm/iterators.md (v_cmp_result): New mode attribute.
2012         * config/arm/neon.md (vcond<mode><mode>): Handle unordered cases.
2014 2013-04-04  Richard Biener  <rguenther@suse.de>
2016         PR tree-optimization/56837
2017         * tree-loop-distribution.c (classify_partition): For non-zero
2018         values require that the value has the same precision as its
2019         mode to be useful as memset value.
2021 2013-04-03  Roland McGrath  <mcgrathr@google.com>
2023         Backport from mainline:
2024         2013-03-26  Roland McGrath  <mcgrathr@google.com>
2026         * config/arm/arm.c (arm_print_operand: case 'w'): Use fputs rather
2027         than fprintf with a non-constant, non-format string.
2029 2013-04-03  Marek Polacek  <polacek@redhat.com>
2031         Backport from mainline:
2032         2013-04-03  Marek Polacek  <polacek@redhat.com>
2034         PR sanitizer/55702
2035         * tsan.c (instrument_func_exit): Allow BUILT_IN_RETURN
2036         functions.
2038 2013-04-03  Richard Biener  <rguenther@suse.de>
2040         PR tree-optimization/56817
2041         * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely):
2042         Split out ...
2043         (tree_unroll_loops_completely_1): ... new function to manually
2044         walk the loop tree, properly defering outer loops of unrolled
2045         loops to later iterations.
2047 2013-04-02  Jakub Jelinek  <jakub@redhat.com>
2049         PR rtl-optimization/56745
2050         * ifcvt.c (cond_exec_find_if_block): Don't try to optimize
2051         if then_bb has no successors and else_bb is EXIT_BLOCK_PTR.
2053 2013-04-02  Wei Mi  <wmi@google.com>
2055         * config/i386/i386.c (ix86_rtx_costs): Set proper rtx cost for
2056         ashl<mode>3_mask, *<shift_insn><mode>3_mask and
2057         *<rotate_insn><mode>3_mask in i386.md.
2059 2013-04-01  Wei Mi  <wmi@google.com>
2061         * config/i386/i386.md (*ashl<mode>3_mask): Rewrite as define_insn.
2062         Truncate operand 2 using %b asm operand modifier.
2063         (*<shift_insn><mode>3_mask): Ditto.
2064         (*<rotate_insn><mode>3_mask): Ditto.
2066 2013-04-01  Uros Bizjak  <ubizjak@gmail.com>
2068         * config/i386/i386.md (*movsf_internal): Change type of
2069         alternatives 3,4 to imov.
2071 2013-03-29  Paolo Carlini  <paolo.carlini@oracle.com>
2073         PR lto/56777
2074         * doc/invoke.texi ([-fwhole-program]): Fix typo.
2076 2013-03-29  Kirill Yukhin  <kirill.yukhin@intel.com>
2078         * config/i386/avx2intrin.h (_mm256_broadcastsi128_si256):
2079         Fix declaration name.
2081 2013-03-28  Gerald Pfeifer  <gerald@pfeifer.com>
2083         * doc/invoke.texi (AVR Options): Tweak link for AVR-LibC user manual.
2084         * doc/extend.texi (Named Address Spaces): Ditto.
2085         (Variable Attributes): Ditto.
2087 2013-03-28  Eric Botcazou  <ebotcazou@adacore.com>
2089         * toplev.c (process_options): Do not disable -fomit-frame-pointer on a
2090         general basis if unwind info is requested and ACCUMULATE_OUTGOING_ARGS
2091         is not enabled.
2093 2013-03-27  Walter Lee  <walt@tilera.com>
2095         Backport from mainline:
2096         2013-03-27  Walter Lee  <walt@tilera.com>
2098         * config/tilegx/tilegx.c (tilegx_expand_prologue): Avoid
2099         double-decrement of next_scratch_regno.
2101 2013-03-27  Walter Lee  <walt@tilera.com>
2103         Backport from mainline:
2104         2013-03-27  Walter Lee  <walt@tilera.com>
2106         * config/tilegx/tilegx.md (insn_v1mulu): Fix predicates on
2107         input operands.
2108         (insn_v1mulus): Ditto.
2109         (insn_v2muls): Ditto.
2111 2013-03-27  Walter Lee  <walt@tilera.com>
2113         Backport from mainline:
2114         2013-03-27  Walter Lee  <walt@tilera.com>
2116         * config/tilegx/tilegx.h (ASM_OUTPUT_ADDR_VEC_ELT): Delete
2117         extra tab.
2118         (ASM_OUTPUT_ADDR_DIFF_ELT): Ditto.
2120 2013-03-27  Walter Lee  <walt@tilera.com>
2122         Backport from mainline:
2123         2013-03-27  Walter Lee  <walt@tilera.com>
2125         * config/tilegx/tilegx.md (*sibcall_insn): Fix type atribute for jr.
2126         (*sibcall_value): Ditto.
2128 2013-03-27  Walter Lee  <walt@tilera.com>
2130         Backport from mainline:
2131         2013-03-27  Walter Lee  <walt@tilera.com>
2133         * config/tilegx/tilegx.md (insn_mnz_<mode>): Replaced by ...
2134         (insn_mnz_v8qi): ... this ...
2135         (insn_mnz_v4hi): ... and this.  Replace (const_int 0) with the
2136         vector equivalent.
2137         (insn_v<n>mnz): Replaced by ...
2138         (insn_v1mnz): ... this ...
2139         (insn_v2mnz): ... and this.  Replace (const_int 0) with the vector
2140         equivalent.
2141         (insn_mz_<mode>): Replaced by ...
2142         (insn_mz_v8qi): ... this ...
2143         (insn_mz_v4hi): ... and this.  Replace (const_int 0) with the
2144         vector equivalent.
2145         (insn_v<n>mz): Replaced by ...
2146         (insn_v1mz): ... this ...
2147         (insn_v2mz): ... and this.  Replace (const_int 0) with the vector
2148         equivalent.
2150 2013-03-26  Eric Botcazou  <ebotcazou@adacore.com>
2152         * doc/invoke.texi (SPARC options): Remove -mlittle-endian.
2154 2013-03-26  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2156         * config/rtems.opt: Add -pthread option.
2158 2013-03-26  Sofiane Naci  <sofiane.naci@arm.com>
2160         * config/aarch64/aarch64.c (aarch64_classify_address): Support
2161         PC-relative load in SI modes and above only.
2163 2013-03-26  Walter Lee  <walt@tilera.com>
2165         Backport from mainline:
2166         2013-03-26  Walter Lee  <walt@tilera.com>
2168         * config/tilegx/tilegx.h (PROFILE_BEFORE_PROLOGUE): Define.
2169         * config/tilegx/tilepro.h (PROFILE_BEFORE_PROLOGUE): Define.
2171 2013-03-26  Walter Lee  <walt@tilera.com>
2173         Backport from mainline:
2174         2013-03-25  Walter Lee  <walt@tilera.com>
2176         * config/tilegx/tilegx-builtins.h (enum tilegx_builtin): Add
2177         TILEGX_INSN_SHUFFLEBYTES1.
2178         * config/tilegx/tilegx.c (tilegx_builtin_info): Add entry for
2179         shufflebytes1.
2180         (tilegx_builtins): Ditto.
2181         * config/tilegx/tilegx.md (insn_shufflebytes1): New pattern.
2183 2013-03-26  Walter Lee  <walt@tilera.com>
2185         Backport from mainline:
2186         2013-03-25  Walter Lee  <walt@tilera.com>
2188         * config/tilegx/tilegx.c (expand_set_cint64_one_inst): Inline
2189         tests for constraint J, K, N, P.
2191 2013-03-26  Walter Lee  <walt@tilera.com>
2193         Backport from mainline:
2194         2013-03-25  Walter Lee  <walt@tilera.com>
2196         * config/tilegx/tilegx.c (tilegx_asm_preferred_eh_data_format):
2197         Use indirect/pcrel encoding.
2198         * config/tilepro/tilepro.c (tilepro_asm_preferred_eh_data_format):
2199         Ditto.
2201 2013-03-25  Richard Biener  <rguenther@suse.de>
2203         PR middle-end/56694
2204         * tree-eh.c (lower_eh_must_not_throw): Strip BLOCKs from the
2205         must-not-throw stmt location.
2207 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
2209         * BASE-VER: Set to 4.8.1.
2210         * DEV-PHASE: Set to prerelease.
2212 2013-03-22  Release Manager
2214         * GCC 4.8.0 released.
2216 2013-03-21  Walter Lee  <walt@tilera.com>
2218         * config/tilegx/sync.md (atomic_test_and_set): New pattern.
2220 2013-03-21  Mark Wielaard  <mjw@redhat.com>
2222         * dwarf2out.c (size_of_aranges): Skip DECL_IGNORED_P functions.
2224 2013-03-20  Richard Biener  <rguenther@suse.de>
2226         PR tree-optimization/56661
2227         * tree-ssa-sccvn.c (visit_use): Only value-number calls if
2228         the result does not have to be distinct.
2230 2013-03-20  Jakub Jelinek  <jakub@redhat.com>
2232         PR tree-optimization/56635
2233         * tree-ssa-phiopt.c (cond_if_else_store_replacement_1): Give up
2234         if lhs of then_assign and else_assign don't have compatible types.
2236 2013-03-17  Jakub Jelinek  <jakub@redhat.com>
2238         PR target/56640
2239         * config/arm/arm.h (REG_CLASS_NAMES): Add "SFP_REG" and "AFP_REG"
2240         class names.  Remove trailing comma after "ALL_REGS".
2242 2013-03-16  Jakub Jelinek  <jakub@redhat.com>
2244         * DEV-PHASE: Set to prerelease.
2246 2013-03-14  Andi Kleen  <ak@linux.intel.com>
2248         PR target/56619
2249         * doc/extend.texi: Document __ATOMIC_HLE_ACQUIRE,
2250         __ATOMIC_HLE_RELEASE. Document __builtin_ia32 TSX intrincs.
2251         Document _x* TSX intrinsics.
2253 2013-03-14  Edgar E. Iglesias <edgar.iglesias@xilinx.com>
2254             David Holsgrove <david.holsgrove@xilinx.com>
2256         * configure.ac: Add MicroBlaze TLS support detection.
2257         * configure: Regenerate.
2258         * config/microblaze/microblaze-protos.h
2259         (microblaze_cannot_force_const_mem, microblaze_tls_referenced_p,
2260         symbol_mentioned_p, label_mentioned_p): Add prototypes.
2261         * config/microblaze/microblaze.c (microblaze_address_type): Add
2262         ADDRESS_TLS and tls_reloc address types.
2263         (microblaze_address_info): Add tls_reloc.
2264         (TARGET_HAVE_TLS): Define.
2265         (get_tls_get_addr, microblaze_tls_symbol_p, microblaze_tls_operand_p_1,
2266         microblaze_tls_referenced_p, microblaze_cannot_force_const_mem,
2267         symbol_mentioned_p, label_mentioned_p, tls_mentioned_p,
2268         load_tls_operand, microblaze_call_tls_get_addr,
2269         microblaze_legitimize_tls_address): New functions.
2270         (microblaze_classify_unspec): Handle UNSPEC_TLS.
2271         (get_base_reg): Use microblaze_tls_symbol_p.
2272         (microblaze_classify_address): Handle TLS.
2273         (microblaze_legitimate_pic_operand): Use symbol_mentioned_p,
2274         label_mentioned_p and microblaze_tls_referenced_p.
2275         (microblaze_legitimize_address): Handle TLS.
2276         (microblaze_address_insns): Handle ADDRESS_TLS.
2277         (pic_address_needs_scratch): Handle TLS.
2278         (print_operand_address): Handle TLS.
2279         (microblaze_expand_prologue): Check TLS_NEEDS_GOT.
2280         (microblaze_expand_move): Handle TLS.
2281         (microblaze_legitimate_constant_p): Check
2282         microblaze_cannot_force_const_mem and microblaze_tls_symbol_p.
2283         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
2284         * config/microblaze/microblaze.h (TLS_NEEDS_GOT): Define
2285         (PIC_OFFSET_TABLE_REGNUM): Set.
2286         * config/microblaze/linux.h (TLS_NEEDS_GOT): Define.
2287         * config/microblaze/microblaze.md (UNSPEC_TLS): Define.
2288         (addsi3, movsi_internal2, movdf_internal): Update constraints
2289         * config/microblaze/predicates.md (arith_plus_operand): Define
2290         (move_operand): Redefine as move_src_operand, check
2291         microblaze_tls_referenced_p.
2293 2013-03-14  Ian Bolton  <ian.bolton@arm.com>
2295         * config/aarch64/aarch64.md: (*and<mode>3nr_compare0): Use CC_NZ.
2296         (*and_<SHIFT:optab><mode>3nr_compare0): Likewise.
2298 2013-03-14  Ian Bolton  <ian.bolton@arm.com>
2300         * config/aarch64/aarch64.c (aarch64_select_cc_mode): Return correct
2301         CC mode for AND.
2303 2013-03-14  Jakub Jelinek  <jakub@redhat.com>
2305         PR tree-optimization/53265
2306         * common.opt (Waggressive-loop-optimizations): New option.
2307         * tree-ssa-loop-niter.c: Include tree-pass.h.
2308         (do_warn_aggressive_loop_optimizations): New function.
2309         (record_estimate): Call it.  Don't add !is_exit bounds to loop->bounds
2310         if number_of_latch_executions returned constant.
2311         (estimate_numbers_of_iterations_loop): Call number_of_latch_executions
2312         early.  If number_of_latch_executions returned constant, set
2313         nb_iterations_upper_bound back to it.
2314         * cfgloop.h (struct loop): Add warned_aggressive_loop_optimizations
2315         field.
2316         * Makefile.in (tree-ssa-loop-niter.o): Depend on $(TREE_PASS_H).
2317         * doc/invoke.texi (-Wno-aggressive-loop-optimizations): Document.
2319         * config/aarch64/t-aarch64-linux (MULTARCH_DIRNAME): Remove.
2320         (MULTILIB_OSDIRNAMES): Set.
2321         * genmultilib: If defaultosdirname doesn't start with :: , set
2322         defaultosdirname2 instead, clear it and emit two . multilib_raw
2323         entries instead of just one.
2325 2013-03-14  Kaz Kojima  <kkojima@gcc.gnu.org>
2327         * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
2328         (SUBTARGET_OVERRIDE_OPTIONS): Set TARGET_USERMODE as default.
2329         * config/sh/netbsd-elf.h (TARGET_DEFAULT): Remove MASK_USERMODE.
2330         (SUBTARGET_OVERRIDE_OPTIONS): New.
2332 2013-03-13  Oleg Endo  <olegendo@gcc.gnu.org>
2334         PR target/49880
2335         * config/sh/sh.opt (FPU_SINGLE_ONLY): New mask.
2336         (musermode): Convert to Var(TARGET_USERMODE).
2337         * config/sh/sh.h (SELECT_SH2A_SINGLE_ONLY, SELECT_SH4_SINGLE_ONLY,
2338         MASK_ARCH): Add MASK_FPU_SINGLE_ONLY.
2339         * config/sh/sh.c (sh_option_override): Use
2340         TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY for call-fp case.
2341         * config/sh/sh.md (udivsi3_i1, divsi3_i1): Remove ! TARGET_SH4
2342         condition.
2343         (udivsi3_i4, divsi3_i4): Use TARGET_FPU_DOUBLE condition instead of
2344         TARGET_SH4.
2345         (udivsi3_i4_single, divsi3_i4_single): Use
2346         TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE instead of TARGET_HARD_SH4.
2348 2013-03-13  Dave Korn  <dave.korn.cygwin@....>
2350         * config/i386/cygwin.h (SHARED_LIBGCC_SPEC): Make shared libgcc the
2351         default setting.
2353 2013-03-13  Richard Biener  <rguenther@suse.de>
2355         PR tree-optimization/56608
2356         * tree-vect-slp.c (vect_schedule_slp): Do not remove scalar
2357         calls when vectorizing basic-blocks.
2359 2013-03-13  Jakub Jelinek  <jakub@redhat.com>
2361         PR plugins/45078
2362         * config.gcc: On arm, mips, sh and sparc add vxworks-dummy.h to
2363         tm_file.
2365 2013-03-12  Jakub Jelinek  <jakub@redhat.com>
2367         * doc/invoke.texi (-Waddr-space-convert): Move into the table earlier.
2369 2013-03-11  Jan Hubicka  <jh@suse.cz>
2371         PR lto/56557
2372         * lto-streamer-out.c (output_symbol_p): Skip references from
2373         constructors of external variables.
2375 2013-03-11  Jan Hubicka  <jh@suse.cz>
2377         PR middle-end/56571
2378         * valtrack.c (cleanup_auto_inc_dec): Unshare clobbers originating
2379         from pseudos.
2380         * emit-rtl.c (verify_rtx_sharing): Likewise.
2381         (copy_insn_1): Likewise.
2382         * rtl.c (copy_rtx): Likewise.
2384 2013-03-11  Georg-Johann Lay  <avr@gjlay.de>
2386         PR target/56591
2387         * config/avr/avr.c (avr_print_operand): Add space after '%c' in
2388         output_operand_lossage message.
2390 2013-03-11  Richard Earnshaw  <rearnsha@arm.com>
2392         PR target/56470
2393         * arm.c (shift_op): Validate RTL pattern on the fly.
2394         (arm_print_operand, case 'S'): Don't use shift_operator to validate
2395         the RTL.
2397 2013-03-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2399         PR target/56347
2400         * config/pa/pa.md (call_value): Check for calls to powf and direct to
2401         new call patterns that clobber %fr12.
2402         (call_val_powf, call_val_powf_pic, call_val_powf_64bit): New insn,
2403         split and postreload patterns.
2404         * config/pa/pa.c (pa_conditional_register_usage): Revert marking
2405         registers %fr12 and %fr12R as call used.
2407 2013-03-09  Steven Bosscher  <steven@gcc.gnu.org>
2409         * dse.c (delete_dead_store_insn): Respect TDF_DETAILS.
2410         (canon_address, record_store, replace_read, check_mem_read_rtx,
2411         scan_insn, dse_step1, dse_step2_init, dse_step2_spill,
2412         dse_step4, dse_step5_nospill, dse_step5_spill, dse_step6,
2413         rest_of_handle_dse): Likewise.
2415 2013-03-09  Richard Sandiford  <rdsandiford@googlemail.com>
2417         PR middle-end/56524
2418         * tree.h (tree_optimization_option): Rename target_optabs to optabs.
2419         Add base_optabs.
2420         (TREE_OPTIMIZATION_OPTABS): Update after previous field change.
2421         (TREE_OPTIMIZATION_BASE_OPTABS): New macro.
2422         (save_optabs_if_changed): Replace with...
2423         (init_tree_optimization_optabs): ...this.
2424         * optabs.c (save_optabs_if_changed): Rename to...
2425         (init_tree_optimization_optabs): ...this.  Take the optimization node
2426         as argument.  Do nothing if the base optabs are already correct.
2427         Reuse the existing TREE_OPTIMIZATION_OPTABS memory if we need
2428         to recompute optabs.
2429         * function.h (function): Remove optabs field.
2430         * function.c (invoke_set_current_function_hook): Call
2431         init_tree_optimization_optabs.  Use the result to initialize
2432         this_fn_optabs.
2434 2013-02-27  Aldy Hernandez  <aldyh@redhat.com>
2436         * trans-mem.c (expand_transaction): Do not set PR_INSTRUMENTEDCODE
2437         if GTMA_HAS_NO_INSTRUMENTATION.
2438         (generate_tm_state): Keep GTMA_HAS_NO_INSTRUMENTATION bit.
2439         (ipa_tm_transform_transaction): Set GTMA_HAS_NO_INSTRUMENTATION.
2440         * gimple.h (GTMA_HAS_NO_INSTRUMENTATION): Define.
2441         * gimple-pretty-print.c (dump_gimple_transaction): Handle
2442         GTMA_HAS_NO_INSTRUMENTATION.
2444 2013-03-08  Jakub Jelinek  <jakub@redhat.com>
2446         * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Don't link against
2447         libasan_preinit.o.
2449 2013-03-08  Marek Polacek  <polacek@redhat.com>
2450             Jakub Jelinek  <jakub@redhat.com>
2452         PR tree-optimization/56478
2453         * predict.c (is_comparison_with_loop_invariant_p): Change the
2454         type of loop_step to tree.
2455         (predict_loops): Adjust.
2456         (predict_iv_comparison): Perform the computations on double_ints.
2458 2013-03-08  Richard Biener  <rguenther@suse.de>
2460         PR tree-optimization/56570
2461         * tree-cfg.c (verify_expr_location_1): Verify locations for
2462         DECL_DEBUG_EXPR.
2463         * tree-sra.c (create_access_replacement): Strip locations
2464         from DECL_DEBUG_EXPRs.
2466 2013-03-08  Richard Biener  <rguenther@suse.de>
2468         * tree-inline.c (expand_call_inline): Do not associate
2469         a BLOCK with the location in BLOCK_SOURCE_LOCATION.
2470         * tree-cfg.c (verify_location): Verify BLOCK_SOURCE_LOCATION.
2472 2013-03-08  Richard Biener  <rguenther@suse.de>
2474         * tree-ssa-ter.c (is_replaceable_p): Do not TER across location
2475         or block changes with -Og.  Fix for location / block encoding
2476         changes and PHI arguments with locations.
2478 2013-03-07  Steven Bosscher  <steven@gcc.gnu.org>
2480         * bitmap.c (struct bitmap_descriptor_d): Use unsigned HOST_WIDEST_INT
2481         for all counters.
2482         (struct output_info): Likewise.
2483         (register_overhead): Remove bad gcc_assert.
2484         (bitmap_find_bit): If there is only a single bitmap element, do not
2485         count a miss as a search.
2486         (print_statistics): Update for counter type changes.
2487         (dump_bitmap_statistics): Likewise.  Print headers such that they
2488         are properly lined up with the printed counters.
2490 2013-03-07  Jakub Jelinek  <jakub@redhat.com>
2492         PR tree-optimization/56559
2493         * tree-ssa-reassoc.c (zero_one_operation): When looking at rhs2,
2494         check that it has only a single use.
2496 2013-03-07  Richard Biener  <rguenther@suse.de>
2498         * doc/invoke.texi (fwhole-program): Discourage use in combination
2499         with -flto.
2501 2013-03-06  Jakub Jelinek  <jakub@redhat.com>
2503         * config/arm/t-arm (TM_H, OPTIONS_H_EXTRA): Add arm-cores.def.
2505         PR tree-optimization/56539
2506         * tree-tailcall.c (adjust_return_value_with_ops): Use GSI_SAME_STMT
2507         instead of GSI_CONTINUE_LINKING as last argument to
2508         force_gimple_operand_gsi.  Adjust function comment.
2510         * config/aarch64/t-aarch64 (TM_H, OPTIONS_H_EXTRA): Add
2511         aarch64-cores.def.
2513         PR middle-end/56548
2514         * expr.c (expand_cond_expr_using_cmove): When expanding cmove in
2515         promoted mode, convert the result back to the original mode.
2517 2013-03-06  Richard Biener  <rguenther@suse.de>
2519         PR middle-end/56294
2520         * tree-into-ssa.c (insert_phi_nodes_for): Add dumping.
2521         (insert_updated_phi_nodes_compare_uids): New function.
2522         (update_ssa): Sort symbols_to_rename after UID before
2523         traversing it to insert PHI nodes.
2525 2013-03-06  Richard Biener  <rguenther@suse.de>
2527         PR middle-end/50494
2528         * tree-vect-data-refs.c (vect_can_force_dr_alignment_p):
2529         Do not adjust alignment of DECL_IN_CONSTANT_POOL decls.
2531         Revert
2532         2013-02-13  Richard Biener  <rguenther@suse.de>
2534         PR lto/50494
2535         * varasm.c (output_constant_def_1): Get the decl representing
2536         the constant as argument.
2537         (output_constant_def): Wrap output_constant_def_1.
2538         (make_decl_rtl): Use output_constant_def_1 with the decl
2539         representing the constant.
2540         (build_constant_desc): Optionally re-use a decl already
2541         representing the constant.
2542         (tree_output_constant_def): Adjust.
2544 2013-03-06  Joey Ye  <joey.ye@arm.com>
2546         PR lto/50293
2547         * gcc.c (convert_white_space): New function.
2548         (main): Handles white space in function name.
2550 2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
2552         PR target/56529
2553         * config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT
2554         instead of TARGET_SH2 for call-table case.  Do not set sh_div_strategy
2555         to SH_DIV_CALL_TABLE for TARGET_SH2.
2556         * config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib
2557         list.
2558         * doc/invoke.texi (SH options): Document mdiv= call-div1, call-fp,
2559         call-table options.
2561 2013-03-05  Sterling Augustine  <saugustine@google.com>
2562             Cary Coutant  <ccoutant@google.com>
2564         PR debug/55364
2565         * dwarf2out.c (resolve_addr): Don't call
2566         remove_loc_list_addr_table_entries a second time for the same
2567         expression.
2569 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
2571         PR debug/56510
2572         * cfgexpand.c (expand_debug_parm_decl): Call copy_rtx on incoming.
2573         (avoid_complex_debug_insns): New function.
2574         (expand_debug_locations): Call it.
2576         PR rtl-optimization/56484
2577         * ifcvt.c (noce_process_if_block): If else_bb is NULL, avoid extending
2578         lifetimes of hard registers on small register class machines.
2580 2013-03-05  David Holsgrove  <david.holsgrove@xilinx.com>
2582         * config/microblaze/microblaze-protos.h: Rename
2583         microblaze_is_interrupt_handler to microblaze_is_interrupt_variant.
2584         * config/microblaze/microblaze.c (microblaze_attribute_table): Add
2585         fast_interrupt.
2586         (microblaze_fast_interrupt_function_p): New function.
2587         (microblaze_is_interrupt_handler): Rename to
2588         microblaze_is_interrupt_variant and add fast_interrupt check.
2589         (microblaze_must_save_register): Use microblaze_is_interrupt_variant.
2590         (save_restore_insns): Likewise.
2591         (compute_frame_size): Likewise.
2592         (microblaze_function_prologue): Add FAST_INTERRUPT_NAME.
2593         (microblaze_globalize_label): Likewise.
2594         * config/microblaze/microblaze.h: Define FAST_INTERRUPT_NAME.
2595         * config/microblaze/microblaze.md: Use wrapper
2596         microblaze_is_interrupt_variant.
2598 2013-03-05  Kai Tietz  <ktietz@redhat.com>
2600         * sdbout.c (sdbout_one_type): Switch to current function's section
2601         supporting cold/hot.
2603 2013-03-05  David Holsgrove  <david.holsgrove@xilinx.com>
2605         * doc/invoke.texi (MicroBlaze): Add -mbig-endian, -mlittle-endian,
2606         -mxl-reorder.
2608 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
2610         PR middle-end/56461
2611         * ggc-common.c (gt_pch_save): For ENABLE_VALGRIND_CHECKING,
2612         if VALGRIND_GET_VBITS is defined, temporarily make object
2613         memory all defined, and restore previous valgrind addressability
2614         and definability afterwards.  Free this_object at the end.
2616         PR middle-end/56461
2617         * lra.c (lra): Call lra_clear_live_ranges if live_p,
2618         right before calling lra_create_live_ranges, also call it
2619         when clearing live_p.  Only call lra_clear_live_ranges
2620         at the end if live_p.
2622         PR middle-end/56461
2623         * sched-deps.c (delete_dep_node): Free DEP_REPLACE.
2625 2013-03-05  Richard Biener  <rguenther@suse.de>
2627         PR tree-optimization/56521
2628         * tree-ssa-sccvn.c (set_value_id_for_result): Always initialize
2629         value-id.
2631 2013-03-05  Steven Bosscher  <steven@gcc.gnu.org>
2633         PR c++/55135
2634         * except.h (remove_unreachable_eh_regions): New prototype.
2635         * except.c (remove_eh_handler_splicer): New function, split out
2636         of remove_eh_handler.
2637         (remove_eh_handler): Use remove_eh_handler_splicer.  Add comment
2638         warning about running it on many EH regions one at a time.
2639         (remove_unreachable_eh_regions_worker): New function, walk the
2640         EH tree in depth-first order and remove non-marked regions.
2641         (remove_unreachable_eh_regions): New function.
2642         * tree-eh.c (mark_reachable_handlers): New function, split out
2643         from remove_unreachable_handlers.
2644         (remove_unreachable_handlers): Use mark_reachable_handlers and
2645         remove_unreachable_eh_regions.
2646         (remove_unreachable_handlers_no_lp): Use mark_reachable_handlers
2647         and remove_unreachable_eh_regions.
2649 2013-03-05  Richard Biener  <rguenther@suse.de>
2651         PR middle-end/56525
2652         * loop-init.c (fix_loop_structure): Remove loops in two stages,
2653         not freeing them until the end.
2655 2013-03-05  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2657         * config/s390/s390.h: Define DWARF2_ASM_LINE_DEBUG_INFO.
2659 2013-03-05  Richard Biener  <rguenther@suse.de>
2661         PR tree-optimization/56270
2662         * tree-vect-slp.c (vect_schedule_slp): Clear vectorized stmts
2663         of loads after scheduling an SLP instance.
2665 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
2667         * Makefile.in (dg_target_exps): Add aarch64.exp, epiphany.exp and
2668         tic6x.exp.
2669         (check_gcc_parallelize): Run guality.exp as a separate job from
2670         vect.exp with unsorted.exp and $(dg_target_exps) separately from
2671         struct-layout-1.exp with stackalign.exp.
2673         * alias.c (init_alias_analysis): Clear reg_known_equiv_p bitmap.
2675         PR middle-end/56461
2676         * tree-vect-slp.c (vect_supported_load_permutation_p): Free
2677         load_index sbitmap even if some bit in it isn't set.
2679         PR middle-end/56461
2680         * tree-ssa-loop-niter.c (bb_queue): Remove typedef.
2681         (discover_iteration_bound_by_body_walk): Change queues to
2682         vec<vec<basic_block> > and queue to vec<basic_block>.  Fix up
2683         spelling in comment.  Call safe_push on queues[bound_index] directly.
2684         Release queues[queue_index] in every iteration unconditionally.
2685         Release bounds vector.
2687         PR middle-end/56461
2688         * tree-vect-stmts.c (free_stmt_vec_info_vec): Call
2689         free_stmt_vec_info on any left-over stmt_vec_info in the vector.
2690         * tree-vect-loop.c (vect_create_epilog_for_reduction): Release
2691         inner_phis vector.
2693 2013-03-05  Richard Biener  <rguenther@suse.de>
2695         PR lto/56515
2696         * tree-inline.c (remap_blocks_to_null): New function.
2697         (expand_call_inline): When expanding a call stmt without
2698         an associated block inline remap all callee blocks to NULL.
2700 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
2702         PR rtl-optimization/56494
2703         * simplify-rtx.c (simplify_truncation): If C is narrower than A,
2704         optimize (truncate:A (subreg:B (truncate:C X) 0)) into
2705         (subreg:A (truncate:C X) 0) instead of (truncate:A X).
2707         PR middle-end/56461
2708         * sel-sched-ir.c (free_sched_pools): Release
2709         succs_info_pool.stack[succs_info_pool.max_top] vectors too
2710         if succs_info_pool.max_top isn't -1.
2712         PR bootstrap/56509
2713         * opts.c (opts_obstack, opts_concat): Moved to...
2714         * opts-common.c (opts_obstack, opts_concat): ... here.
2716 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
2718         PR middle-end/56461
2719         * diagnostic.c (diagnostic_append_note): Save and restore old prefix.
2721 2013-03-04  Martin Jambor  <mjambor@suse.cz>
2723         * tree-dfa.c (get_or_create_ssa_default_def): Use parameter fn in
2724         all appropriate places.
2726 2013-01-04  Eric Botcazou  <ebotcazou@adacore.com>
2728         PR tree-optimization/56424
2729         * ipa-split.c (split_function): Do not set the RSO flag if result is
2730         not by reference and its type is a register type.
2732 2013-03-04  David Holsgrove  <david.holsgrove@xilinx.com>
2734         * config/microblaze/microblaze.c (microblaze_valid_pic_const): New.
2735         (microblaze_legitimate_pic_operand): Likewise.
2736         * config/microblaze/microblaze.h (LEGITIMATE_PIC_OPERAND_P): Call
2737         new function microblaze_legitimate_pic_operand.
2738         * config/microblaze/microblaze-protos.h
2739         (microblaze_legitimate_pic_operand): Declare.
2741 2013-03-04  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
2743         * config/microblaze/predicates.md (call_insn_simple_operand):
2744         New predicate for supported rtx code types.
2745         * config/microblaze/microblaze.md (call_internal1): Use
2746         call_insn_simple_operand predicate.
2748 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
2750         PR middle-end/56461
2751         * tree-loop-distribution.c (ldist_gen): Call partition_free after each
2752         partitions.ordered_remove.
2754         PR middle-end/56461
2755         * tree-vect-stmts.c (vectorizable_conversion): Don't call
2756         vec_oprnds0.create (1) for modifier == NONE.
2758         PR middle-end/56461
2759         * tree-vect-stmts.c (vectorizable_shift): Don't call create methods
2760         on vec_oprnds0 or vec_oprnds1 before loop, only call it on
2761         vec_oprnds1 right before pushing anything to it for
2762         scalar_shift_arg.
2764         PR middle-end/56461
2765         * tree-vect-loop.c (destroy_loop_vec_info): For !clean_stmts, just
2766         set nbbs to 0 instead of having separate code path.
2767         (vect_analyze_loop_form): Call destroy_loop_vec_info with true
2768         instead of false as last argument if returning NULL.
2770 2013-03-03  Sandra Loosemore  <sandra@codesourcery.com>
2772         * target.def (TARGET_OPTION_VALID_ATTRIBUTE_P): Update comments;
2773         the attribute is now called "target" instead of "option".
2774         (TARGET_OPTION_PRAGMA_PARSE): Likewise, for the pragma.
2775         * doc/tm.texi.in (Target Attributes):  Likewise document the correct
2776         attribute/pragma name for TARGET_OPTION_VALID_P and
2777         TARGET_OPTION_PRAGMA_PARSE.  Also copy-edit and correct markup.
2778         * doc/tm.texi: Regenerated.
2780 2013-03-02  David Holsgrove  <david.holsgrove@xilinx.com>
2782         * config/microblaze/microblaze.c:
2783         Check mcpu, pcmp requirement and set TARGET_REORDER to 0 if not met.
2784         * config/microblaze/microblaze.h: Add -mxl-reorder to
2785         DRIVER_SELF_SPECS.
2786         * config/microblaze/microblaze.md: New bswapsi2 and bswaphi2.
2787         instructions emitted if TARGET_REORDER.
2788         * config/microblaze/microblaze.opt: New option -mxl-reorder set to 1
2789         or 0 for -m/-mno case, but initialises as 2 to detect default use case
2790         separately.
2792 2013-03-01  Xinliang David Li  <davidxl@google.com>
2794         * tree-ssa-uninit.c (compute_control_dep_chain): Limit post-dom
2795         walk length.
2797 2013-03-01  Jakub Jelinek  <jakub@redhat.com>
2799         PR middle-end/56461
2800         * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Release path
2801         vector even when returning true.  Fix up function comment formatting.
2803         PR middle-end/56461
2804         * ira-build.c (ira_loop_nodes_count): New variable.
2805         (create_loop_tree_nodes): Initialize it.
2806         (finish_loop_tree_nodes): Use it instead of looking at current_loops.
2808         PR middle-end/56461
2809         * tree-vect-data-refs.c (vect_permute_store_chain): Avoid using copy
2810         method on dr_chain and result_chain.
2811         * tree-vect-stmts.c (vectorizable_store): Only call
2812         result_chain.create if j == 0.
2814         PR middle-end/56461
2815         * tree-vect-stmts.c (vect_create_vectorized_promotion_stmts): Call
2816         vec_oprnds0->release (); rather than vec_oprnds0->truncate (0)
2817         before overwriting it.
2819 2013-03-01  Tobias Burnus  <burnus@net-b.de>
2821         * doc/extended.texi (C Extensions): Change order in @menu
2822         to match @node.
2823         (Other MIPS Built-in Functions): Move last MIPS entry before
2824         "picoChip Built-in Functions".
2825         (SH Built-in Functions): Move after RX Built-in Functions.
2826         * doc/gcc.texi (Introduction): Change order in @menu to match @node.
2827         * doc/md.texi (Constraints): Ditto.
2828         * gty.texi (Type Information): Ditto.
2829         (User-provided marking routines for template types): Make subsection.
2830         * doc/invoke.texi (AArch64 Options): Move before
2831         "Adapteva Epiphany Options".
2833 2013-02-28  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>
2834             Jakub Jelinek  <jakub@redhat.com>
2836         PR sanitizer/56454
2837         * asan.c (gate_asan): Lookup no_sanitize_address instead of
2838         no_address_safety_analysis attribute.
2839         * doc/extend.texi (no_address_safety_attribute): Rename to
2840         no_sanitize_address attribute, mention no_address_safety_analysis
2841         attribute as deprecated alias.
2843 2013-02-28  Jakub Jelinek  <jakub@redhat.com>
2845         PR middle-end/56461
2846         * tree-vectorizer.h (vect_get_slp_defs): Change 3rd argument
2847         type to vec<vec<tree> > *.
2848         * tree-vect-slp.c (vect_get_slp_defs): Likewise.  Change vec_defs
2849         to be vec<tree> instead of vec<tree> *, set vec_defs
2850         to vNULL and call vec_defs.create (number_of_vects), adjust other
2851         uses of vec_defs.
2852         * tree-vect-stmts.c (vect_get_vec_defs, vectorizable_call,
2853         vectorizable_condition): Adjust vect_get_slp_defs callers.
2855 2013-02-28  James Greenhalgh  <james.greenhalgh@arm.com>
2857         * config/aarch64/aarch64.c
2858         (aarch64_float_const_representable): Remove unused variable.
2860 2013-02-28  James Greenhalgh  <james.greenhalgh@arm.com>
2862         * config/aarch64/aarch64.c (aarch64_mangle_type): Make static.
2864 2013-02-28  James Greenhalgh  <james.greenhalgh@arm.com>
2866         * config/aarch64/aarch64-builtins.c
2867         (aarch64_init_simd_builtins): Make static.
2869 2013-02-28  James Greenhalgh  <james.greenhalgh@arm.com>
2871         * config/aarch64/aarch64.c
2872         (aarch64_simd_make_constant): Make static.
2874 2013-02-28  Martin Jambor  <mjambor@suse.cz>
2876         * tree-sra.c (load_assign_lhs_subreplacements): Do not put replacements
2877         with no initialization to the RHS of debug statements.
2879 2013-02-28  Martin Jambor  <mjambor@suse.cz>
2881         PR tree-optimization/56294
2882         * tree-sra.c (analyze_access_subtree): Create replacement declarations.
2883         Adjust dumping.
2884         (get_access_replacement): Do not call create_access_replacement.
2885         Assert a replacement exists.
2886         (get_repl_default_def_ssa_name): Create the replacement declaration
2887         itself.
2889 2013-02-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2891         * config/arm/arm.c (arm_output_mi_thunk): Call final_start_function and
2892         final_end_function.
2894 2013-02-28  Marek Polacek  <polacek@redhat.com>
2896         PR rtl-optimization/56466
2897         * loop-unroll.c (unroll_and_peel_loops): Call fix_loop_structure
2898         if we're changing a loop.
2899         (peel_loops_completely): Likewise.
2901 2013-02-28  Paolo Carlini  <paolo.carlini@oracle.com>
2903         PR c++/55813
2904         * doc/invoke.texi ([-Wctor-dtor-privacy]): Complete.
2906 2013-02-28  Georg-Johann Lay  <avr@gjlay.de>
2908         PR target/56445
2909         * config/avr/avr.c (avr_init_builtins): Use 'n' instead of empty
2910         macro parameters with: FX_FTYPE_FX, FX_FTYPE_FX_INT, INT_FTYPE_FX,
2911         INTX_FTYPE_FX, FX_FTYPE_INTX.
2912         * config/avr/builtins.def: Adjust respective DEF_BUILTIN.
2914 2013-02-28  Georg-Johann Lay  <avr@gjlay.de>
2916         * avr/avr-mcus.def (ata5272, ata5505, attiny1634, ata6285)
2917         (ata6286, atmega8a, atmega48pa, ata5790, ata5790n, ata5795)
2918         (atmega164pa, atmega165pa, atmega168pa, atmega16hva, atmega16hvb)
2919         (atmega16hvbrevb, atmega16m1, atmega16u4, atmega26hvg, atmega32a)
2920         (atmega32a, atmega3250pa, atmega3290pa, atmega32c1, atmega32m1)
2921         (atmega32u4, atmega32u6, atmega64a, atmega6490a, atmega6490p)
2922         (atmega64c1, atmega64m1, atmega64rfa2, atmega64rfr2, atmega32hvb)
2923         (atmega32hvbrevb, atmega16hva2, atmega48hvf, at90pwm161)
2924         (atmega128a, atmega1284, atmxt112sl, atmxt224, atmxt224e)
2925         (atmxt336s, atxmega16a4u, atxmega16c4, atxmega32a4u, atxmega32c4)
2926         (atxmega32e5, atxmega64a3u, atxmega64a4u, atxmega64b1, atxmega64b3)
2927         (atxmega64c3, atxmega64d4, atxmega128a3u, atxmega128b1)
2928         (atxmega128b3, atxmega128c3, atxmega128d4, atmxt540s, atmxt540sreva)
2929         (atxmega192a3u, atxmega192c3, atxmega256a3u, atxmega256c3)
2930         (atxmega384c3, atxmega384d3, atxmega128a4u): New AVR_MCU.
2931         (avrxmega6): Increase max flash segments from 5 to 6.
2932         * config/avr/t-multilib: Regenerate.
2933         * config/avr/avr-tables.opt: Regenerate.
2934         * doc/avr-mmcu.texi: Regenerate.
2936 2013-02-28  Georg-Johann Lay  <avr@gjlay.de>
2938         * config/avr/avr.h (device_to_arch): Rename to device_to_ld.
2939         (avr_device_to_arch): Rename to avr_device_to_ld.
2940         (avr_device_to_as): New prototype.
2941         (EXTRA_SPEC_FUNCTIONS): Add device_to_as.
2942         (ASM_SPEC): Use device_to_as to get -mmcu= and -mno-skip-bug=.
2943         * config/avr/driver-avr.c (avr_device_to_as): New.
2944         (avr_device_to_arch): Rename to avr_device_to_ld.
2946 2013-02-27  Jakub Jelinek  <jakub@redhat.com>
2948         PR middle-end/56461
2949         * tree-vect-data-refs.c (vect_permute_load_chain): Avoid using copy
2950         method on dr_chain and result_chain.
2952         PR middle-end/56461
2953         * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Call
2954         pointer_set_destroy on not_executed_last_iteration.
2956         PR middle-end/56461
2957         * tree-vect-loop.c (vectorizable_reduction): Release vect_defs vector.
2959         PR middle-end/56461
2960         * ipa-pure-const.c (propagate): Use FOR_EACH_FUNCTION instead of
2961         FOR_EACH_DEFINED_FUNCTION when freeing state.
2963         PR middle-end/56461
2964         * df-scan.c (df_insn_delete): Use df_scan_free_mws_vec before
2965         pool_free.
2966         (df_insn_rescan_debug_internal): Use df_scan_free_mws_vec before
2967         overwriting it.
2969         PR middle-end/56461
2970         * ipa-cp.c (decide_whether_version_node): Call vec_free on
2971         known_aggs[i].items and release known_aggs vector.
2973         PR middle-end/56461
2974         * ipa-reference.c (propagate): Free node_info even for alias nodes.
2976 2013-02-27  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
2978         * config/microblaze/microblaze.c (microblaze_emit_compare):
2979         Use xor for EQ/NE comparisions.
2980         * config/microblaze/microblaze.md (cstoresf4): Add constraints
2981         (cbranchsf4): Adjust operator to comparison_operator.
2983 2013-02-27  Jakub Jelinek  <jakub@redhat.com>
2985         PR middle-end/56461
2986         * tree-flow.h (edge_var_map_vector): Change into va_heap, vl_embed
2987         vector.
2988         * tree-ssa.c (redirect_edge_var_map_add): Use vec_safe_reserve and
2989         vec_safe_push, always update *slot.
2990         (redirect_edge_var_map_clear): Use vec_free.
2991         (redirect_edge_var_map_dup): Use vec_safe_copy and vec_safe_reserve.
2992         (free_var_map_entry): Use vec_free.
2993         * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Use
2994         FOR_EACH_VEC_SAFE_ELT instead of FOR_EACH_VEC_ELT.
2996 2013-02-27  Andrey Belevantsev  <abel@ispras.ru>
2998         PR middle-end/45472
2999         * sel-sched-ir.c (merge_expr): Also change vinsn of merged expr
3000         when the may_trap_p bit of the exprs being merged differs.
3001         Reorder tests for speculativeness in the logical and operator.
3003 2013-02-27  Jakub Jelinek  <jakub@redhat.com>
3005         * incpath.c (add_standard_paths): Use reconcat instead of concat
3006         where appropriate and avoid leaking memory.
3008         * opts.h: Include obstack.h.
3009         (opts_concat): New prototype.
3010         (opts_obstack): New declaration.
3011         * opts.c (opts_concat): New function.
3012         (opts_obstack): New variable.
3013         (init_options_struct): Call gcc_init_obstack on opts_obstack.
3014         (finish_options): Use opts_concat instead of concat
3015         and XOBNEWVEC instead of XNEWVEC.
3016         * opts-common.c (generate_canonical_option, decode_cmdline_option,
3017         generate_option): Likewise.
3018         * Makefile.in (OPTS_H): Depend on $(OBSTACK_H).
3019         * lto-wrapper.c (main): Call gcc_init_obstack on opts_obstack.
3021         PR target/56455
3022         * stmt.c (expand_switch_as_decision_tree_p): If flag_pic
3023         and ASM_OUTPUT_ADDR_DIFF_ELT isn't defined, return true.
3025 2013-02-26  Jakub Jelinek  <jakub@redhat.com>
3027         PR middle-end/56461
3028         * lra-spills.c (lra_spill): Free spill_hard_reg at the end.
3030 2013-02-26  Joern Rennecke  <joern.rennecke@embecosm.com>
3032         * config/arm/arm.c (const_ok_for_dimode_op): Back out last change.
3033         (arm_block_move_unaligned_straight): Likewise.
3034         (arm_adjust_block_mem): Likewise.
3036 2013-02-26  Joern Rennecke  <joern.rennecke@embecosm.com>
3038         PR target/48901
3039         * config/lm32/lm32.c (gen_int_relational): Remove unused variables
3040         temp, cond and label.
3041         * config/lm32/lm32.md (ashlsi3): Remove unused variable one.
3043         PR target/52500
3044         * config/c6x/c6x.c (dbx_register_map): Change to unsigned.
3045         * config/c6x/c6x.h (dbx_register_map): Update declaration.
3047         PR target/52501
3048         * config/cr16/cr16-protos.h: Move end of RTX_CODE guard below end
3049         of prologue/epilogue functions.
3051         PR target/52550
3052         * config/tilegx/tilegx.c (tilegx_expand_prologue):
3053         Remove unused variable cfa_offset.
3054         * config/tilepro/tilepro.c (tilepro_expand_prologue): Likewise.
3056         PR target/54639
3057         * config/mn10300/mn10300.c (mn10300_expand_epilogue): Avoid offset
3058         type promotion to unsigned.
3060         PR target/54640
3061         * config/arm/arm.c (const_ok_for_dimode_op): Make code consistent
3062         for HOST_WIDE_INT of 32 bit / same size as int.
3063         (arm_block_move_unaligned_straight): Likewise.
3064         (arm_adjust_block_mem): Likewise.
3066         PR target/54662
3067         * config/mep/t-mep (mep-pragma.o): Use ALL_COMPILERFLAGS instead of
3068         ALL_CFLAGS.
3070 2013-02-26  Marek Polacek  <polacek@redhat.com>
3072         PR tree-optimization/56426
3073         * tree-ssa-loop.c (tree_ssa_loop_init): Always call
3074         scev_initialize.
3076 2013-02-26  Richard Biener  <rguenther@suse.de>
3078         PR target/56444
3079         * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc): Remove
3080         unused variable loops.
3082 2013-02-26  Jakub Jelinek  <jakub@redhat.com>
3084         PR tree-optimization/56448
3085         * fold-const.c (operand_equal_p) <case tcc_reference>: Don't look at
3086         TREE_SIDE_EFFECTS if flags contain OEP_CONSTANT_ADDRESS_OF.
3087         Clear OEP_CONSTANT_ADDRESS_OF from flags before recursing on second or
3088         later operands of the references, or even first operand for
3089         INDIRECT_REF, TARGET_MEM_REF or MEM_REF.
3091         PR tree-optimization/56443
3092         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For
3093         overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument
3094         to type_for_mode langhook.
3096 2013-02-25  Matt Turner  <mattst88@gmail.com>
3098         * doc/invoke.texi: Document r4700.
3100 2013-02-25  Richard Biener  <rguenther@suse.de>
3102         PR tree-optimization/56175
3103         * tree-ssa-forwprop.c (hoist_conversion_for_bitop_p): New predicate,
3104         split out from ...
3105         (simplify_bitwise_binary): ... here.  Also guard the conversion
3106         of (type) X op CST to (type) (X op ((type-x) CST)) with it.
3108 2013-02-25  Catherine Moore  <clm@codesourcery.com>
3110         Revert:
3111         2013-02-24  Catherine Moore  <clm@codesourcery.com>
3112             Maciej W. Rozycki  <macro@codesourcery.com>
3113             Tom de Vries  <tom@codesourcery.com>
3114             Nathan Sidwell  <nathan@codesourcery.com>
3115             Iain Sandoe  <iain@codesourcery.com>
3116             Nathan Froyd  <froydnj@codesourcery.com>
3117             Chao-ying Fu  <fu@mips.com>
3119         * doc/extend.texi (micromips, nomicromips, nocompression):
3120         Document new function attributes.
3121         * doc/invoke.texi (minterlink-compressed, mmicromips,
3122         m14k, m14ke, m14kec): Document new options.
3123         (minterlink-mips16): Update documentation.
3124         * doc/md.texi (ZC, ZD): Document new constraints.
3125         * configure.ac (gcc_cv_as_micromips): Check if linker
3126         supports the .set micromips directive.
3127         * configure: Regenerate.
3128         * config.in: Regenerate.
3129         * config/mips/mips-tables.opt: Regenerate.
3130         * config/mips/micromips.md: New file.
3131         * constraints.md (ZC, AD): New constraints.
3132         * config/mips/predicates.md (movep_src_register): New predicate.
3133         (movep_src_operand): New predicate.
3134         (non_volatile_mem_operand): New predicate.
3135         * config/mips/mips.md (multimem): New type.
3136         (length): Differentiate between 17-bit and 18-bit branch offsets.
3137         (MOVEP1, MOVEP2): New mode iterator.
3138         (mov_<load>l): Use ZC constraint.
3139         (mov_<load>r): Likewise.
3140         (mov_<store>l): Likewise.
3141         (mov_<store>r): Likewise.
3142         (*branch_equality<mode>_inverted): Add microMIPS support.
3143         (*branch_equality<mode>): Likewise.
3144         (*jump_absolute): Likewise.
3145         (indirect_jump_<mode>): Likewise.
3146         (tablejump_<mode>): Likewise.
3147         (<optab>_internal): Likewise.
3148         (sibcall_internal): Likewise.
3149         (sibcall_value_internal): Likewise.
3150         (prefetch): Use constraint ZD.
3151         * config/mips/mips.opt (minterlink-compressed): New option.
3152         (minterlink-mips16): Now an alias for minterlink-compressed.
3153         (mmicromips): New option.
3154         * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
3155         (compare_and_swap_12): Likewise.
3156         (sync_add<mode>): Likewise.
3157         (sync_<optab>_12): Likewise.
3158         (sync_old_<optab>_12): Likewise.
3159         (sync_new_<optab>_12): Likewise.
3160         (sync_nand_12): Likewise.
3161         (sync_old_nand_12): Likewise.
3162         (sync_new_nand_12): Likewise.
3163         (sync_sub<mode>): Likewise.
3164         (sync_old_add<mode>): Likewise.
3165         (sync_old_sub<mode>): Likewise.
3166         (sync_new_add<mode>): Likewise.
3167         (sync_new_sub<mode>): Likewise.
3168         (sync_<optab><mode>): Likewise.
3169         (sync_old_<optab><mode>): Likewise.
3170         (sync_new_<optab><mode>): Likewise.
3171         (sync_nand<mode>): Likewise.
3172         (sync_old_nand<mode>): Likewise.
3173         (sync_new_nand<mode>): Likewise.
3174         (sync_lock_test_and_set<mode>): Likewise.
3175         (test_and_set_12): Likewise.
3176         (atomic_compare_and_swap<mode>): Likewise.
3177         (atomic_exchange<mode>_llsc): Likewise.
3178         (atomic_fetch_add<mode>_llsc): Likewise.
3179         * config/mips/mips-cpus.def (m14kc, m14k): New processors.
3180         * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
3181         (umips_save_restore_pattern_p): Likewise.
3182         (umips_load_store_pair_p): Likewise.
3183         (umips_output_load_store_pair): Likewise.
3184         (umips_movep_target_p): Likewise.
3185         (umips_12bit_offset_address_p): Likewise.
3186         * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
3187         (mips_base_mips16): Rename this...
3188         (mips_base_compression_flags): ...to this. Update all uses.
3189         (mips_attribute_table): Add micromips, nomicromips and nocompression.
3190         (mips_mips16_decl_p): Delete.
3191         (mips_nomips16_decl_p): Delete.
3192         (mips_get_compress_on_flags): New function.
3193         (mips_get_compress_off_flags): New function.
3194         (mips_get_compress_mode): New function.
3195         (mips_get_compress_on_name): New function.
3196         (mips_get_compress_off_name): New function.
3197         (mips_insert_attributes): Support multiple compression types.
3198         (mips_merge_decl_attributes): Likewise.
3199         (umips_12bit_offset_address_p): New function.
3200         (mips_start_function_definition): Emit .set micromips directive.
3201         (mips_call_may_need_jalx_p): New function.
3202         (mips_function_ok_for_sibcall): Add microMIPS support.
3203         (mips_print_operand_punctuation): Support short delay slots and
3204         compact jumps.
3205         (umips_swm_mask, umips_swm_encoding): New.
3206         (umips_build_save_restore): New function.
3207         (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
3208         (was_mips16_p): Remove.
3209         (old_compression_mode): New.
3210         (mips_set_compression_mode): New function.
3211         (mips_set_current_function): Add microMIPS support.
3212         (mips_option_override): Likewise.
3213         (umips_save_restore_pattern_p): New function.
3214         (umips_output_save_restore): New function.
3215         (umips_load_store_pair_p_1): New function.
3216         (umips_load_store_pair_p): New function.
3217         (umips_output_load_store_pair_1): New function.
3218         (umips_output_load_store_pair): New function.
3219         (umips_movep_target_p) New function.
3220         (mips_prepare_pch_save): Add microMIPS support.
3221         * config/mips/mips.h (TARGET_COMPRESSION): New.
3222         (TARGET_CPU_CPP_BUILTINS): Update macro
3223         to use new compression flags and to support microMIPS.
3224         (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
3225         (MIPS_ARCH_FLOAT_SPEC): Likewise.
3226         (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
3227         (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
3228         (ASM_SPEC): Support mmicromips and mno-micromips.
3229         (M16STORE_REG_P): New macro.
3230         (MIPS_CALL): Support TARGET_MICROMIPS.
3231         (MICROMIPS_J): New macro.
3232         (mips_base_mips16): Rename this...
3233         (mips_base_compression_flags): ...to this.
3234         (UMIPS_12BIT_OFFSET_P): New macro.
3235         * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
3236         (MULTILIB_DIRNAMES): Likewise.
3238 2013-02-25  Tom de Vries  <tom@codesourcery.com>
3240         PR rtl-optimization/56131
3241         * insn-notes.def (INSN_NOTE_BASIC_BLOCK): Update comment.
3242         * cfgrtl.c (delete_insn): Don't reorder NOTE_INSN_DELETED_LABEL and
3243         NOTE_INSN_BASIC_BLOCK if BLOCK_FOR_INSN == NULL.
3245 2013-02-25  Tobias Burnus  <burnus@net-b.de>
3247         * doc/invoke.texi (-fsanitize=): Move from optimization
3248         to debugging options.
3250 2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
3252         * sched-deps.c (sched_analyze_insn): Fix typo in comment.
3254 2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
3255             Alexander Monakov  <amonakov@ispras.ru>
3257         PR middle-end/56077
3258         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
3259         flush pending lists also on non-jumps.  Adjust comment.
3261 2013-02-24  Catherine Moore  <clm@codesourcery.com>
3262             Maciej W. Rozycki  <macro@codesourcery.com>
3263             Tom de Vries  <tom@codesourcery.com>
3264             Nathan Sidwell  <nathan@codesourcery.com>
3265             Iain Sandoe  <iain@codesourcery.com>
3266             Nathan Froyd  <froydnj@codesourcery.com>
3267             Chao-ying Fu  <fu@mips.com>
3269         * doc/extend.texi (micromips, nomicromips, nocompression):
3270         Document new function attributes.
3271         * doc/invoke.texi (minterlink-compressed, mmicromips,
3272         m14k, m14ke, m14kec): Document new options.
3273         (minterlink-mips16): Update documentation.
3274         * doc/md.texi (ZC, ZD): Document new constraints.
3275         * configure.ac (gcc_cv_as_micromips): Check if linker
3276         supports the .set micromips directive.
3277         * configure: Regenerate.
3278         * config.in: Regenerate.
3279         * config/mips/mips-tables.opt: Regenerate.
3280         * config/mips/micromips.md: New file.
3281         * constraints.md (ZC, AD): New constraints.
3282         * config/mips/predicates.md (movep_src_register): New predicate.
3283         (movep_src_operand): New predicate.
3284         (non_volatile_mem_operand): New predicate.
3285         * config/mips/mips.md (multimem): New type.
3286         (length): Differentiate between 17-bit and 18-bit branch offsets.
3287         (MOVEP1, MOVEP2): New mode iterator.
3288         (mov_<load>l): Use ZC constraint.
3289         (mov_<load>r): Likewise.
3290         (mov_<store>l): Likewise.
3291         (mov_<store>r): Likewise.
3292         (*branch_equality<mode>_inverted): Add microMIPS support.
3293         (*branch_equality<mode>): Likewise.
3294         (*jump_absolute): Likewise.
3295         (indirect_jump_<mode>): Likewise.
3296         (tablejump_<mode>): Likewise.
3297         (<optab>_internal): Likewise.
3298         (sibcall_internal): Likewise.
3299         (sibcall_value_internal): Likewise.
3300         (prefetch): Use constraint ZD.
3301         * config/mips/mips.opt (minterlink-compressed): New option.
3302         (minterlink-mips16): Now an alias for minterlink-compressed.
3303         (mmicromips): New option.
3304         * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
3305         (compare_and_swap_12): Likewise.
3306         (sync_add<mode>): Likewise.
3307         (sync_<optab>_12): Likewise.
3308         (sync_old_<optab>_12): Likewise.
3309         (sync_new_<optab>_12): Likewise.
3310         (sync_nand_12): Likewise.
3311         (sync_old_nand_12): Likewise.
3312         (sync_new_nand_12): Likewise.
3313         (sync_sub<mode>): Likewise.
3314         (sync_old_add<mode>): Likewise.
3315         (sync_old_sub<mode>): Likewise.
3316         (sync_new_add<mode>): Likewise.
3317         (sync_new_sub<mode>): Likewise.
3318         (sync_<optab><mode>): Likewise.
3319         (sync_old_<optab><mode>): Likewise.
3320         (sync_new_<optab><mode>): Likewise.
3321         (sync_nand<mode>): Likewise.
3322         (sync_old_nand<mode>): Likewise.
3323         (sync_new_nand<mode>): Likewise.
3324         (sync_lock_test_and_set<mode>): Likewise.
3325         (test_and_set_12): Likewise.
3326         (atomic_compare_and_swap<mode>): Likewise.
3327         (atomic_exchange<mode>_llsc): Likewise.
3328         (atomic_fetch_add<mode>_llsc): Likewise.
3329         * config/mips/mips-cpus.def (m14kc, m14k): New processors.
3330         * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
3331         (umips_save_restore_pattern_p): Likewise.
3332         (umips_load_store_pair_p): Likewise.
3333         (umips_output_load_store_pair): Likewise.
3334         (umips_movep_target_p): Likewise.
3335         (umips_12bit_offset_address_p): Likewise.
3336         * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
3337         (mips_base_mips16): Rename this...
3338         (mips_base_compression_flags): ...to this. Update all uses.
3339         (mips_attribute_table): Add micromips, nomicromips and nocompression.
3340         (mips_mips16_decl_p): Delete.
3341         (mips_nomips16_decl_p): Delete.
3342         (mips_get_compress_on_flags): New function.
3343         (mips_get_compress_off_flags): New function.
3344         (mips_get_compress_mode): New function.
3345         (mips_get_compress_on_name): New function.
3346         (mips_get_compress_off_name): New function.
3347         (mips_insert_attributes): Support multiple compression types.
3348         (mips_merge_decl_attributes): Likewise.
3349         (umips_12bit_offset_address_p): New function.
3350         (mips_start_function_definition): Emit .set micromips directive.
3351         (mips_call_may_need_jalx_p): New function.
3352         (mips_function_ok_for_sibcall): Add microMIPS support.
3353         (mips_print_operand_punctuation): Support short delay slots and
3354         compact jumps.
3355         (umips_swm_mask, umips_swm_encoding): New.
3356         (umips_build_save_restore): New function.
3357         (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
3358         (was_mips16_p): Remove.
3359         (old_compression_mode): New.
3360         (mips_set_compression_mode): New function.
3361         (mips_set_current_function): Add microMIPS support.
3362         (mips_option_override): Likewise.
3363         (umips_save_restore_pattern_p): New function.
3364         (umips_output_save_restore): New function.
3365         (umips_load_store_pair_p_1): New function.
3366         (umips_load_store_pair_p): New function.
3367         (umips_output_load_store_pair_1): New function.
3368         (umips_output_load_store_pair): New function.
3369         (umips_movep_target_p) New function.
3370         (mips_prepare_pch_save): Add microMIPS support.
3371         * config/mips/mips.h (TARGET_COMPRESSION): New.
3372         (TARGET_CPU_CPP_BUILTINS): Update macro
3373         to use new compression flags and to support microMIPS.
3374         (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
3375         (MIPS_ARCH_FLOAT_SPEC): Likewise.
3376         (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
3377         (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
3378         (ASM_SPEC): Support mmicromips and mno-micromips.
3379         (M16STORE_REG_P): New macro.
3380         (MIPS_CALL): Support TARGET_MICROMIPS.
3381         (MICROMIPS_J): New macro.
3382         (mips_base_mips16): Rename this...
3383         (mips_base_compression_flags): ...to this.
3384         (UMIPS_12BIT_OFFSET_P): New macro.
3385         * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
3386         (MULTILIB_DIRNAMES): Likewise.
3388 2013-02-24  Jakub Jelinek  <jakub@redhat.com>
3390         PR target/52555
3391         * target-globals.c (save_target_globals): For init_reg_sets and
3392         target_reinit remporarily set this_fn_optabs to this_target_optabs.
3394 2013-02-22  James Grennahlgh  <james.greenhalgh@arm.com>
3396         * config/aarch64/aarch64-simd-builtins.def: Add copyright header.
3397         * config/aarch64/t-aarch64
3398         (aarch64-builtins.o): Depend on aarch64-simd-builtins.def.
3400 2013-02-22  Vladimir Makarov  <vmakarov@redhat.com>
3402         PR inline-asm/56148
3403         * lra-constraints.c (process_alt_operands): Reload operand
3404         conflicting with earlier clobber only if no more other conflicting
3405         operands.
3407 2013-02-22  Jakub Jelinek  <jakub@redhat.com>
3409         PR sanitizer/56393
3410         * config/gnu-user.h (LIBASAN_EARLY_SPEC): Link in libasan_preinit.o
3411         if not linking a shared library.
3413 2013-02-22  Seth LaForge  <sethml@google.com>
3415         * config.gcc (arm*-*-eabi*): Treat arm*eb as big-endian.
3417 2013-02-22  Greta Yorsh  <Greta.Yorsh@arm.com>
3419         * config/arm/arm.md (split for extendsidi): Update condition.
3420         (zero_extend<mode>di2,extend<mode>di2): Add an alternative.
3421         * config/arm/iterators.md (qhs_extenddi_cstr): Likewise.
3422         (qhs_zextenddi_cstr): Likewise.
3424 2013-02-21  Jakub Jelinek  <jakub@redhat.com>
3426         PR middle-end/56420
3427         * expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Do subtraction in uhwi, to
3428         avoid signed wrapping.
3429         (expand_mult): Handle properly multiplication by
3430         ((dword_type) -1) << (BITS_PER_WORD - 1).  Improve multiplication by
3431         ((dword_type) 1) << (BITS_PER_WORD - 1).  Avoid undefined behavior
3432         in the compiler if coeff is HOST_WIDE_INT_MIN.
3433         (expand_divmod): Don't make ext_op1 static, change it's type to uhwi.
3434         Avoid undefined behavior in -INTVAL (op1).
3436         PR rtl-optimization/50339
3437         * lower-subreg.h (struct lower_subreg_choices): Add splitting_ashiftrt
3438         field.
3439         * lower-subreg.c (compute_splitting_shift): Handle ASHIFTRT.
3440         (compute_costs): Call compute_splitting_shift also for ASHIFTRT
3441         into splitting_ashiftrt field.
3442         (find_decomposable_shift_zext, resolve_shift_zext): Handle also
3443         ASHIFTRT.
3444         (dump_choices): Fix up printing LSHIFTRT choices, print ASHIFTRT
3445         choices.
3447 2013-02-20  Aldy Hernandez  <aldyh@redhat.com>
3449         PR middle-end/56108
3450         * trans-mem.c (execute_tm_mark): Do not expand transactions that
3451         are sure to go irrevocable.
3453 2013-02-21  Hans-Peter Nilsson  <hp@axis.com>
3455         * doc/rtl.texi (vec_concat, vec_duplicate): Mention that
3456         scalars are valid operands.
3458 2013-02-21  Martin Jambor  <mjambor@suse.cz>
3460         PR tree-optimization/56310
3461         * ipa-cp.c (agg_replacements_to_vector): New parameter index, copy
3462         only matching indices and non-negative final offsets.
3463         (intersect_aggregates_with_edge): Pass src_idx to
3464         agg_replacements_to_vector.  Pass src_idx insstead of index to
3465         intersect_with_agg_replacements.
3467 2013-02-21  Martin Jambor  <mjambor@suse.cz>
3469         * ipa-cp.c (good_cloning_opportunity_p): Dump the real threshold
3470         instead of hard-wired defaults.
3472 2013-02-21  Maciej W. Rozycki  <macro@codesourcery.com>
3474         * doc/invoke.texi (MIPS Options): Update documentation of the
3475         floating-point multiply-accumulate instruction restrictions.
3477 2013-02-21  Kostya Serebryany  <kcc@google.com>
3479         * config/i386/i386.c (ix86_asan_shadow_offset): Use 0x7fff8000 as
3480         asan_shadow_offset on x86_64 linux.
3482 2013-02-21  Richard Biener  <rguenther@suse.de>
3484         PR tree-optimization/56415
3485         Revert
3486         2013-02-11  Richard Biener  <rguenther@suse.de>
3488         PR tree-optimization/56273
3489         * tree-vrp.c (simplify_cond_using_ranges): Disable for the
3490         first VRP run.
3492 2013-02-21  Jakub Jelinek  <jakub@redhat.com>
3494         PR bootstrap/56258
3495         * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item
3496         instead of @itemx.
3498         PR inline-asm/56405
3499         * expr.c (expand_expr_real_1) <case TARGET_MEM_REF, MEM_REF>: Don't
3500         use movmisalign or extract_bit_field for EXPAND_MEMORY modifier.
3502 2013-02-20  Jan Hubicka  <jh@suse.cz>
3504         PR tree-optimization/56265
3505         * ipa-prop.c (ipa_make_edge_direct_to_target): Fixup callgraph when
3506         target is referenced for first time.
3508 2013-02-20  Richard Biener  <rguenther@suse.de>
3510         * tree-call-cdce.c (tree_call_cdce): Do not remove unused locals.
3511         * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise.
3512         * tree-ssa-dce.c (perform_tree_ssa_dce): Likewise.
3513         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do
3514         not return anything.
3515         (rename_ssa_copies): Do not remove unused locals.
3516         * tree-ssa-ccp.c (do_ssa_ccp): Likewise.
3517         * tree-ssanames.c (pass_release_ssa_names): Remove unused locals first.
3518         * passes.c (execute_function_todo): Do not schedule unused locals
3519         removal if cleanup_tree_cfg did something.
3520         * tree-ssa-live.c (remove_unused_locals): Dump statistics
3521         about the number of removed locals.
3523 2013-02-20  Richard Biener  <rguenther@suse.de>
3525         PR tree-optimization/56398
3526         * tree-vect-loop-manip.c (adjust_debug_stmts): Skip
3527         SSA default defs.
3529 2013-02-20  Martin Jambor  <mjambor@suse.cz>
3531         PR tree-optimization/55334
3532         * ipa-cp.c (initialize_node_lattices): Disable IPA-CP through and to
3533         restricted pointers to arrays.
3535 2013-02-20  Richard Biener  <rguenther@suse.de>
3536         Jakub Jelinek  <jakub@redhat.com>
3538         PR tree-optimization/56396
3539         * tree-ssa-ccp.c (n_const_val): New static variable.
3540         (get_value): Return NULL for SSA names we don't have a lattice
3541         entry for.
3542         (ccp_initialize): Initialize n_const_val.
3543         * tree-ssa-copy.c (n_copy_of): New static variable.
3544         (init_copy_prop): Initialize n_copy_of.
3545         (get_value): Return NULL_TREE for SSA names we don't have a
3546         lattice entry for.
3548 2013-02-20  Martin Jambor  <mjambor@suse.cz>
3550         * ipa-cp.c (initialize_node_lattices): Fix dumping condition.
3552 2013-02-20  Richard Biener  <rguenther@suse.de>
3554         * genpreds.c (write_lookup_constraint): Do not compare first
3555         letter of the constraint again.
3557 2013-02-20  Richard Biener  <rguenther@suse.de>
3559         * tree-ssa-loop-ivopts.c (alloc_use_cost_map): Use bitmap_count_bits
3560         and ceil_log2.
3561         (get_use_iv_cost): Terminate hashtable walk when coming across
3562         an empty entry.
3564 2013-02-20  Igor Zamyatin  <igor.zamyatin@intel.com>
3566         * config/i386/i386.c (initial_ix86_tune_features): Turn on fp
3567         reassociation for avx2 targets.
3569 2012-02-19  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
3571         * config/microblaze/microblaze.c: microblaze_has_clz = 0
3572         Add version check for v8.10.a to enable microblaze_has_clz
3573         * config/microblaze/microblaze.h: Add TARGET_HAS_CLZ as combined
3574         version and TARGET_PATTERN_COMPARE check
3575         * config/microblaze/microblaze.md: New clzsi2 instruction
3577 2012-02-19  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
3579         * config/microblaze/microblaze.md (call_value_intern): Check symbol is
3580         function before branching.
3582 2012-02-19  Andrey Belevantsev  <abel@ispras.ru>
3584         * sel-sched-dump.c (dump_insn_rtx_flags): Explicitly set
3585         DUMP_INSN_RTX_UID.
3586         (dump_insn_rtx_1): Pass PATTERN (insn) to str_pattern_slim.
3588 2012-02-19  Andrey Belevantsev  <abel@ispras.ru>
3590         PR middle-end/55889
3591         * sel-sched.c: Include ira.h.
3592         (implicit_clobber_conflict_p): New function.
3593         (moveup_expr): Use it.
3594         * Makefile.in (sel-sched.o): Depend on ira.h.
3596 2013-02-19  Richard Biener  <rguenther@suse.de>
3598         PR tree-optimization/56384
3599         * tree-ssa-sccvn.h (struct vn_phi_s): Add type member.
3600         (vn_hash_type): Split out from ...
3601         (vn_hash_constant_with_type): ... here.
3602         * tree-ssa-sccvn.c (vn_phi_compute_hash): Use vn_hash_type.
3603         (vn_phi_eq): Compare types from vn_phi_s structure.
3604         (vn_phi_lookup): Populate vn_phi_s type.
3605         (vn_phi_insert): Likewise.
3607 2013-02-19  Jakub Jelinek  <jakub@redhat.com>
3609         PR tree-optimization/56350
3610         * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
3611         if haven't found reduction or nested cycle operand, rather than
3612         asserting we must find it.
3614         PR tree-optimization/56381
3615         * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
3616         to fold_build3.
3618 2013-02-18  Aldy Hernandez  <aldyh@redhat.com>
3619             Jakub Jelinek  <jakub@redhat.com>
3621         PR target/52555
3622         * genopinit.c (raw_optab_handler): Use this_fn_optabs.
3623         (swap_optab_enable): Same.
3624         (init_all_optabs): Use argument instead of global.
3625         * tree.h (struct tree_optimization_option): New field target_optabs.
3626         * expr.h (init_all_optabs): Add argument to prototype.
3627         (TREE_OPTIMIZATION_OPTABS): New.
3628         (save_optabs_if_changed): Protoize.
3629         * optabs.h: Declare this_fn_optabs.
3630         * optabs.c (save_optabs_if_changed): New.
3631         Declare this_fn_optabs.
3632         (init_optabs): Add argument to init_all_optabs() call.
3633         * function.c (invoke_set_current_function_hook): Handle per
3634         function optabs.
3635         * function.h (struct function): New field optabs.
3636         * config/mips/mips.c (mips_set_mips16_mode): Handle when
3637         optimization_current_node has changed.
3638         * target-globals.h (save_target_globals_default_opts): Protoize.
3639         * target-globals.c (save_target_globals_default_opts): New.
3641 2013-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3643         PR target/56347
3644         * config/pa/pa.c (pa_conditional_register_usage): On HP-UX, mark
3645         registers %fr12 and %fr12R as call used.
3647         PR target/56214
3648         * config/pa/predicates.md (base14_operand): Except for BLKmode, QImode
3649         and HImode, require all displacements to be an integer multiple of
3650         their mode size.
3651         * config/pa/pa.c (pa_legitimate_address_p): For REG+BASE addresses,
3652         only allow QImode and HImode when reload is in progress and strict is
3653         true.  Likewise for symbolic addresses.  Use base14_operand to check
3654         displacements in REG+BASE addresses.
3656 2013-02-18  Richard Biener  <rguenther@suse.de>
3658         PR tree-optimization/56366
3659         * tree-vect-loop.c (get_initial_def_for_induction): Properly
3660         handle sign-conversion of outer-loop initial induction value.
3662 2013-02-18  Richard Biener  <rguenther@suse.de>
3664         PR middle-end/56349
3665         * cfghooks.c (merge_blocks): If we merge a latch into another
3666         block adjust references to it.
3667         * cfgloop.c (flow_loops_find): Reset latch before recomputing it.
3668         (verify_loop_structure): Verify that a recorded latch is in fact
3669         a latch.
3671 2013-02-18  Richard Biener  <rguenther@suse.de>
3673         PR tree-optimization/56321
3674         * tree-ssa-reassoc.c (propagate_op_to_single_use): Properly
3675         order SSA name release and virtual operand unlinking.
3677 2013-02-17  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
3679         * config/microblaze/microblaze.md (save_stack_block): Define.
3680         (restore_stack_block): Likewise.
3682 2013-02-16  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
3684         * config/microblaze/linux.h (TARGET_SUPPORTS_PIC): Define as 1.
3685         * config/microblaze/microblaze.h (TARGET_SUPPORTS_PIC): Define as 1.
3686         * config/microblaze/microblaze.c (microblaze_option_override):
3687         Bail out early for PIC modes when target does not support PIC.
3689 2013-02-16  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
3691         * config/microblaze/microblaze.c (microblaze_asm_trampoline_template):
3692         Replace with a microblaze version.
3693         (microblaze_trampoline_init): Adapt for microblaze.
3694         * config/microblaze/microblaze.h (TRAMPOLINE_SIZE): Adapt for
3695         microblaze.
3697 2013-02-16  Jakub Jelinek  <jakub@redhat.com>
3698             Dodji Seketeli  <dodji@redhat.com>
3700         PR asan/56330
3701         * asan.c (get_mem_refs_of_builtin_call): White space and style
3702         cleanup.
3703         (instrument_mem_region_access): Do not forget to always put
3704         instrumentation of the of 'base' and 'base + len' in a "if (len !=
3705         0) statement, even for cases where either 'base' or 'base + len'
3706         are not instrumented -- because they have been previously
3707         instrumented.  Simplify the logic by putting all the statements
3708         instrument 'base + len' inside a sequence, and then insert that
3709         sequence right before the current insertion point.  Then, to
3710         instrument 'base + len', just get an iterator on that statement.
3711         And do not forget to update the pointer to iterator the function
3712         received as argument.
3714 2013-02-15  Vladimir Makarov  <vmakarov@redhat.com>
3716         PR rtl-optimization/56348
3717         * lra-assigns.c (reload_pseudo_compare_func): Prefer bigger pseudos.
3719 2013-02-15  Steven Bosscher  <steven@gcc.gnu.org>
3721         * graph.c (start_graph_dump): Print dumpfile base as digraph label.
3722         (clean_graph_dump_file): Pass base to start_graph_dump.
3724 2013-02-14  Richard Henderson  <rth@redhat.com>
3726         PR target/55941
3727         * lower-subreg.c (simple_move): Check dest mode instead of src mode.
3729 2013-02-14  Steven Bosscher  <steven@gcc.gnu.org>
3731         * collect2-aix.h: Define F_LOADONLY.
3733 2013-02-14  Richard Biener  <rguenther@suse.de>
3735         PR lto/50494
3736         * varasm.c (output_constant_def_1): Get the decl representing
3737         the constant as argument.
3738         (output_constant_def): Wrap output_constant_def_1.
3739         (make_decl_rtl): Use output_constant_def_1 with the decl
3740         representing the constant.
3741         (build_constant_desc): Optionally re-use a decl already
3742         representing the constant.
3743         (tree_output_constant_def): Adjust.
3745 2013-02-14  Dodji Seketeli  <dodji@redhat.com>
3747         Fix an asan crash
3748         * asan.c (instrument_builtin_call):  Really put the length of the
3749         second source argument into src1_len.
3751 2013-02-13  Jakub Jelinek  <jakub@redhat.com>
3753         * asan.c (create_cond_insert_point): Add create_then_fallthru_edge
3754         argument.  If it is false, don't create edge from then_bb to
3755         fallthru_bb.
3756         (insert_if_then_before_iter): Pass true to it.
3757         (build_check_stmt): Pass false to it.
3758         (transform_statements): Flush hash table only on extended basic
3759         block boundaries, rather than at the beginning of every bb.
3760         Don't flush hash table on nonfreeing_call_p calls.
3761         * tree-flow.h (nonfreeing_call_p): New prototype.
3762         * tree-ssa-phiopt.c (nonfreeing_call_p): No longer static.
3764 2013-02-13  David S. Miller  <davem@davemloft.net>
3766         * expmed.c (expand_shift_1): Only strip scalar integer subregs.
3768 2013-02-13  Vladimir Makarov  <vmakarov@redhat.com>
3770         PR target/56184
3771         * ira.c (max_regno_before_ira): Move from ...
3772         (ira): ... here.
3773         (fix_reg_equiv_init): Use max_regno_before_ira instead of
3774         vec_safe_length.
3776 2013-02-13  Jakub Jelinek  <jakub@redhat.com>
3778         * config/i386/i386.c (ix86_asan_shadow_offset): Revert last change.
3780 2013-02-13  Richard Biener  <rguenther@suse.de>
3782         PR lto/56295
3783         * gimple-streamer-out.c (output_gimple_stmt): Undo wrapping
3784         globals in MEM_REFs.
3786 2013-02-13  Richard Biener  <rguenther@suse.de>
3788         * loop-init.c (loop_optimizer_init): Clear loop state when
3789         re-initializing preserved loops.
3790         * loop-unswitch.c (unswitch_single_loop): Return whether
3791         we unswitched the loop.  Do not verify loop state here.
3792         (unswitch_loops): When we unswitched a loop discover new
3793         loops.
3795 2013-02-13  Kostya Serebryany  <kcc@google.com>
3797         * config/i386/i386.c: Use 0x7fff8000 as asan_shadow_offset on x86_64
3798         linux.
3799         * sanitizer.def: Rename __asan_init to __asan_init_v1.
3801 2013-02-12  Dodji Seketeli  <dodji@redhat.com>
3803         Avoid instrumenting duplicated memory access in the same basic block
3804         * Makefile.in (asan.o): Add new dependency on hash-table.h
3805         * asan.c (struct asan_mem_ref, struct mem_ref_hasher): New types.
3806         (asan_mem_ref_init, asan_mem_ref_get_end, get_mem_ref_hash_table)
3807         (has_stmt_been_instrumented_p, empty_mem_ref_hash_table)
3808         (free_mem_ref_resources, has_mem_ref_been_instrumented)
3809         (has_stmt_been_instrumented_p, update_mem_ref_hash_table)
3810         (get_mem_ref_of_assignment): New functions.
3811         (get_mem_refs_of_builtin_call): Extract from
3812         instrument_builtin_call and tweak a little bit to make it fit with
3813         the new signature.
3814         (instrument_builtin_call): Use the new
3815         get_mem_refs_of_builtin_call.  Use gimple_call_builtin_p instead
3816         of is_gimple_builtin_call.
3817         (instrument_derefs, instrument_mem_region_access): Insert the
3818         instrumented memory reference into the hash table.
3819         (maybe_instrument_assignment): Renamed instrument_assignment into
3820         this, and change it to advance the iterator when instrumentation
3821         actually happened and return true in that case.  This makes it
3822         homogeneous with maybe_instrument_assignment, and thus give a
3823         chance to callers to be more 'regular'.
3824         (transform_statements): Clear the memory reference hash table
3825         whenever we enter a new BB, when we cross a function call, or when
3826         we are done transforming statements.  Use
3827         maybe_instrument_assignment instead of instrumentation.  No more
3828         need to special case maybe_instrument_assignment and advance the
3829         iterator after calling it; it's now handled just like
3830         maybe_instrument_call.  Update comment.
3832 2013-02-13  Richard Biener  <rguenther@suse.de>
3834         * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc):
3835         Fix loop discovery code.
3837 2013-02-12  Vladimir Makarov  <vmakarov@redhat.com>
3839         PR inline-asm/56148
3840         * lra-constraints.c (process_alt_operands): Match early clobber
3841         operand with itself.  Check conflicts with earlyclobber only if
3842         the operand is not reloaded.  Prefer to reload conflicting operand
3843         if earlyclobber and matching operands are the same.
3845 2013-02-12  Richard Biener  <rguenther@suse.de>
3847         PR lto/56297
3848         * lto-streamer-out.c (write_symbol): Do not output symbols
3849         for hard register variables.
3851 2013-02-12  Georg-Johann Lay  <avr@gjlay.de>
3853         PR target/54222
3854         * config/avr/avr-dimode.md (umulsidi3, mulsidi3): New expanders.
3855         (umulsidi3_insn, mulsidi3_insn): New insns.
3857 2013-02-12  Christophe Lyon  <christophe.lyon@linaro.org>
3859         * config/arm/arm-protos.h (struct cpu_vec_costs): New struct type.
3860         (struct tune_params): Add vec_costs field.
3861         * config/arm/arm.c (arm_builtin_vectorization_cost)
3862         (arm_add_stmt_cost): New functions.
3863         (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST)
3864         (TARGET_VECTORIZE_ADD_STMT_COST): Define.
3865         (arm_default_vec_cost): New struct of type cpu_vec_costs.
3866         (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
3867         (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune)
3868         (arm_cortex_a15_tune, arm_cortex_a5_tune, arm_cortex_a9_tune)
3869         (arm_v6m_tune, arm_fa726te_tune): Define new vec_costs field.
3871 2013-02-12  Richard Biener  <rguenther@suse.de>
3873         PR lto/56295
3874         * gimple-streamer-in.c (input_gimple_stmt): Strip MEM_REFs off
3875         decls again if possible.
3877 2013-02-12  Richard Biener  <rguenther@suse.de>
3879         PR middle-end/56288
3880         * tree-ssa.c (verify_ssa_name): Fix check, move
3881         SSA_NAME_IN_FREE_LIST check up.
3883 2013-02-12  Jakub Jelinek  <jakub@redhat.com>
3884             Steven Bosscher   <steven@gcc.gnu.org>
3886         PR rtl-optimization/56151
3887         * optabs.c (add_equal_note): Don't return 0 if target is a MEM,
3888         equal to op0 or op1, and last_insn pattern is CODE operation
3889         with MEM dest and one of the operands matches that MEM.
3891 2013-02-11  Sriraman Tallam  <tmsriramgoogle.com>
3893         * doc/extend.texi: Document Function Multiversioning and "default"
3894         parameter string to target attribute.
3895         * config/i386/i386.c (get_builtin_code_for_version): Return 0 if
3896         target attribute parameter is "default".
3897         (ix86_compare_version_priority): Remove checks for target attribute.
3898         (ix86_mangle_function_version_assembler_name): Change error to sorry.
3899         Remove check for target attribute equal to NULL. Add assert.
3900         (ix86_generate_version_dispatcher_body): Change error to sorry.
3902 2013-02-11  Iain Sandoe  <iain@codesourcery.com>
3903             Jack Howarth  <howarth@bromo.med.uc.edu>
3904             Patrick Marlier  <patrick.marlier@gmail.com>
3906         PR libitm/55693
3907         * config/darwin.h: Replace ENDFILE_SPEC with TM_DESTRUCTOR and
3908         define ENDFILE_SPEC as TM_DESTRUCTOR.
3909         * config/i386/darwin.h (ENDFILE_SPEC): Use TM_DESTRUCTOR.
3911 2013-02-11  Alexander Potapenko  <glider@google.com>
3912             Jack Howarth  <howarth@bromo.med.uc.edu>
3913             Jakub Jelinek  <jakub@redhat.com>
3915         PR sanitizer/55617
3916         * config/darwin.c (cdtor_record): Rename ctor_record.
3917         (sort_cdtor_records): Rename sort_ctor_records.
3918         (finalize_dtors): New routine to sort destructors by
3919         priority before use in assemble_integer.
3920         (machopic_asm_out_destructor): Use finalize_dtors if needed.
3922 2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
3924         PR rtl-optimization/56275
3925         * simplify-rtx.c (avoid_constant_pool_reference): Check that
3926         offset is non-negative and less than cmode size before
3927         calling simplify_subreg.
3929 2013-02-11  Richard Biener  <rguenther@suse.de>
3931         PR tree-optimization/56264
3932         * cfgloop.h (fix_loop_structure): Adjust prototype.
3933         * loop-init.c (fix_loop_structure): Return the number of
3934         newly discovered loops.
3935         * tree-cfgcleanup.c (repair_loop_structures): When new loops
3936         are discovered, do a full loop-closed SSA rewrite.
3938 2013-02-11  Richard Biener  <rguenther@suse.de>
3940         PR tree-optimization/56273
3941         * tree-vrp.c (simplify_cond_using_ranges): Disable for the
3942         first VRP run.
3943         (check_array_ref): Fix missing newline in dumps.
3944         (search_for_addr_array): Likewise.
3946 2013-02-09  David Edelsohn  <dje.gcc@gmail.com>
3948         * config/rs6000/aix61.h (OS_MISSING_ALTIVEC): Undefine.
3950 2013-02-09  Jakub Jelinek  <jakub@redhat.com>
3952         PR target/56256
3953         * config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Define.
3955 2013-02-08  Vladimir Makarov  <vmakarov@redhat.com>
3957         PR rtl-optimization/56246
3958         * lra-constraints.c (simplify_operand_subreg): Try to reuse
3959         reload pseudo.
3960         * lra.c (lra): Clear lra_optional_reload_pseudos only when all
3961         constraints are satisfied.
3963 2013-02-08  Jeff Law  <law@redhat.com>
3965         PR debug/53948
3966         * emit-rtl.c (reg_is_parm_p): New function.
3967         * regs.h (reg_is_parm_p): New prototype.
3968         * ira-conflicts.c (ira_build_conflicts): Allow parameters in
3969         callee-clobbered registers.
3971 2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
3973         PR target/56043
3974         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
3975         If there is no implicit builtin declaration, just return NULL.
3977 2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
3979         * config/i386/sse.md (FMAMODEM): New mode iterator.
3980         (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
3981         mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
3983 2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
3985         * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
3986         when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
3987         * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
3989 2013-02-08  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
3991         * config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT.
3992         (microblaze*-*-elf): Likewise.
3993         * config/microblaze/linux.h: Add -mbig-endian / -mlittle-endian to
3994         LINK_SPEC.
3995         * config/microblaze/microblaze-c.c: Add builtin defines for
3996         _LITTLE_ENDIAN and _BIG_ENDIAN.
3997         * config/microblaze/microblaze.h: Add TARGET_ENDIAN_DEFAULT and
3998         add to TARGET_DEFAULT flags.
3999         Expand ASM_SPEC and LINK_SPEC.
4000         Update BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN.
4001         * config/microblaze/microblaze.md: Update extendsidi2 and
4002         movdi_internal instructions to use low-order / high-order reg
4003         print_operands.
4004         * config/microblaze/microblaze.opt: Add mbig-endian and mlittle-endian
4005         options and inversemask / mask of LITTLE_ENDIAN.
4006         * config/microblaze/t-microblaze: Expand multilib options to
4007         include mlittle-endian (le) and update exceptions patterns.
4009 2013-02-08  Jakub Jelinek  <jakub@redhat.com>
4011         PR rtl-optimization/56195
4012         * lra-constraints.c (get_reload_reg): Don't reuse regs
4013         if they have smaller mode than requested, if they have
4014         wider mode than requested, try to return a SUBREG.
4016         PR tree-optimization/56250
4017         * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
4018         if type is unsigned and code isn't MULT_EXPR.
4020 2013-02-08  Georg-Johann Lay  <avr@gjlay.de>
4022         PR tree-optimization/56064
4023         * fixed-value.c (fixed_from_double_int): Sign/zero extend payload
4024         bits according to mode.
4025         * fixed-value.h (fixed_from_double_int)
4026         (const_fixed_from_double_int): Adjust comments.
4028 2013-02-08  Richard Biener  <rguenther@suse.de>
4030         PR lto/56231
4031         * lto-streamer.h (struct data_in): Remove current_file, current_line
4032         and current_col members.
4033         * lto-streamer-out.c (lto_output_location): Stream changed bits
4034         en-block for efficiency.
4035         * lto-streamer-in.c (clear_line_info): Remove.
4036         (lto_input_location): Cache current file, line and column
4037         globally via local statics.  Read changed bits en-block.
4038         (input_function): Do not call clear_line_info.
4039         (lto_read_body): Likewise.
4040         (lto_input_toplevel_asms): Likewise.
4042 2013-02-08  Michael Matz  <matz@suse.de>
4044         PR tree-optimization/52448
4045         * tree-ssa-phiopt.c (struct name_to_bb): Add phase member.
4046         (nt_call_phase): New static.
4047         (add_or_mark_expr): Only mark accesses with newer phase than any
4048         call seen.
4049         (nonfreeing_call_p): New.
4050         (nt_init_block): Update nt_call_phase, mark blocks as visited.
4051         (nt_fini_block): Keep blocks marked as visited.
4052         (get_non_trapping): Initialize nt_call_phase, and reset aux pointer.
4054 2013-02-08  Richard Biener  <rguenther@suse.de>
4056         * ira.c (ira): Free broken dominator information.
4058 2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
4060         * config/i386/i386.c (ix86_spill_class): Use INTEGER_CLASS_P macro.
4062 2013-02-08  Marek Polacek  <polacek@redhat.com>
4064         * cfgloop.c (verify_loop_structure): Add more checking of headers.
4066 2013-02-08  Richard Biener  <rguenther@suse.de>
4068         PR middle-end/56181
4069         * cfgloop.h (flow_loops_find): Adjust.
4070         (bb_loop_header_p): Declare.
4071         * cfgloop.c (bb_loop_header_p): New function split out from ...
4072         (flow_loops_find): ... here.  Adjust function signature,
4073         support incremental loop structure update.
4074         (verify_loop_structure): Cleanup.  Verify a loop is a loop.
4075         * cfgloopmanip.c (fix_loop_structure): Move ...
4076         * loop-init.c (fix_loop_structure): ... here.
4077         (apply_loop_flags): Split out from ...
4078         (loop_optimizer_init): ... here.
4079         (fix_loop_structure): Use apply_loop_flags.  Use flow_loops_find
4080         in incremental mode, only remove dead loops here.
4082 2013-02-08  Georg-Johann Lay  <avr@gjlay.de>
4084         PR target/54222
4085         * config/avr/avr.md (unspec) <UNSPEC_ROUND>: Add.
4086         * config/avr/avr-fixed.md (ALL4QA, ALL124QA): New mode iterators.
4087         (round<mode>3, round<mode>3_const): New expanders for fixed-mode.
4088         (*round<mode>3.libgcc): New insns for fixed-modes.
4089         * config/avr/builtins.def (ABSxx): Use a non-NULL LIBNAME.
4090         (ROUNDxx, COUNTLSxx, BITSxx, xxBITS): New DEF_BUILTINs.
4091         (ROUNDFX, COUNTLSFX, ABSFX): New DEF_BUILTINs.
4092         * config/avr/stdfix.h (absFX, bitsFX, FXbits): Remove inline
4093         implementations.  Define to __builtin_avr_absFX,
4094         __builtin_avr_bitsFX, __builtin_avr_FXbits, respectively.
4095         (roundFX, countlsFX): Define to __builtin_avr_roundFX,
4096         __builtin_avr_countlsFX, respectively.
4097         * config/avr/avr-c.c (target.h): Include it.
4098         (enum avr_builtin_id): New enum.
4099         (avr_resolve_overloaded_builtin): New static function.
4100         (avr_register_target_pragmas): Use it to set
4101         targetm.resolve_overloaded_builtin.
4102         * config/avr/avr.c (avr_init_builtins): Supply myriads of local
4103         tree nodes used by DEF_BUILTIN.
4104         (avr_expand_builtin) <AVR_BUILTIN_ROUNDxx>: Sanity-check them.
4105         (avr_fold_builtin) <AVR_BUILTIN_BITSxx>: Fold to VIEW_COVERT_EXPR.
4106         <AVR_BUILTIN_xxBITS>: Same.
4108 2013-02-08  Richard Biener  <rguenther@suse.de>
4110         * cfgloop.c (verify_loop_structure): Properly handle
4111         a loop exiting to another loop header.
4112         * ira-int.h (ira_loops): Remove.
4113         * ira.c (ira_loops): Remove.
4114         (ira): Use loop_optimizer_init and loop_optimizer_finalize.
4115         (do_reload): Use loop_optimizer_finalize.
4116         * ira-build.c (create_loop_tree_nodes): Use get_loops and
4117         number_of_loops to access the loop tree.
4118         (more_one_region_p): Likewise.
4119         (finish_loop_tree_nodes): Likewise.
4120         (rebuild_regno_allocno_maps): Likewise.
4121         (mark_loops_for_removal): Likewise.
4122         (mark_all_loops_for_removal): Likewise.
4123         (remove_unnecessary_regions): Likewise.
4124         (ira_build): Likewise.
4125         * ira-emit.c (setup_entered_from_non_parent_p): Likewise.
4127 2013-02-08  Richard Biener  <rguenther@suse.de>
4129         * Makefile.in (tree-tailcall.o): Add $(CFGLOOP_H) dependency.
4130         * ipa-pure-const.c (analyze_function): Avoid calling
4131         mark_irreducible_loops twice.
4132         * tree-tailcall.c (tree_optimize_tail_calls_1): Mark loops for fixup.
4134 2013-02-07  David S. Miller  <davem@davemloft.net>
4136         * dwarf2out.c (based_loc_descr): Perform leaf register remapping
4137         on 'reg'.
4138         * var-tracking.c (vt_add_function_parameter): Test the presence of
4139         HAVE_window_save properly and do not remap argument registers when
4140         we have a leaf function.
4142 2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
4144         PR bootstrap/56227
4145         * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
4146         instead of "ll".
4147         * config/i386/i386.c (ix86_print_operand): Ditto.
4149 2013-02-07  Vladimir Makarov  <vmakarov@redhat.com>
4151         * lra-constraints.c (process_alt_operands): Fix recently added comment.
4153 2013-02-07  Vladimir Makarov  <vmakarov@redhat.com>
4155         PR rtl-optimization/56225
4156         * lra-constraints.c (process_alt_operands): Check that reload hard
4157         reg can hold value for strict_low_part.
4159 2013-02-07  Jakub Jelinek  <jakub@redhat.com>
4161         PR debug/56154
4162         * dwarf2out.c (dwarf2_debug_hooks): Set end_function hook to
4163         dwarf2out_end_function.
4164         (in_first_function_p, maybe_at_text_label_p,
4165         first_loclabel_num_not_at_text_label): New variables.
4166         (dwarf2out_var_location): In the first function find out
4167         lowest loclabel_num N where .LVLN is known not to be equal to .Ltext0.
4168         (find_empty_loc_ranges_at_text_label, dwarf2out_end_function): New
4169         functions.
4171 2013-02-07  Eric Botcazou  <ebotcazou@adacore.com>
4173         PR rtl-optimization/56178
4174         * cse.c (cse_insn): Do not create a REG_EQUAL note if the source is a
4175         SUBREG of a register.  Tidy up related block of code.
4176         * fwprop.c (forward_propagate_and_simplify): Do not create a REG_EQUAL
4177         note if the source is a register or a SUBREG of a register.
4179 2013-02-07  Jakub Jelinek  <jakub@redhat.com>
4181         PR target/56228
4182         * config/rs6000/rs6000.md (ptrm): New mode attr.
4183         (call_indirect_aix<ptrsize>, call_indirect_aix<ptrsize>_nor11,
4184         call_value_indirect_aix<pttrsize>,
4185         call_value_indirect_aix<pttrsize>_nor11): Use <ptrm> instead of
4186         m in constraints.
4188 2013-02-07  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
4190         * collect2.c (main): Set aix64_flag for -G and -bsvr4 too, disable
4191         if -bnortl. Convert to strcmp and strncmp.
4193 2013-02-07  Alan Modra  <amodra@gmail.com>
4195         PR target/54009
4196         * config/rs6000/rs6000.c (mem_operand_gpr): Check that LO_SUM
4197         addresses won't wrap when offsetting.
4198         (rs6000_secondary_reload): Provide secondary reloads needed for
4199         wrapping LO_SUM addresses.
4201 2013-02-06  Thomas Schwinge  <thomas@codesourcery.com>
4203         * config/gnu.h (GNU_USER_TARGET_OS_CPP_BUILTINS): Never define
4204         MACH, just __MACH__.
4206 2013-02-06  Richard Biener  <rguenther@suse.de>
4208         * tracer.c (tracer): Mark loops with LOOPS_NEED_FIXUP
4209         instead of calling fix_loop_structure.
4211 2013-02-06  Jakub Jelinek  <jakub@redhat.com>
4213         PR middle-end/56217
4214         * omp-low.c (use_pointer_for_field): Return false if
4215         lower_send_shared_vars doesn't generate any copy-out code.
4217 2013-02-06  Tom de Vries  <tom@codesourcery.com>
4219         PR rtl-optimization/56131
4220         * cfgrtl.c (delete_insn): Use NOTE_BASIC_BLOCK instead of BLOCK_FOR_INSN
4221         to get the bb of a NOTE_INSN_BASIC_BLOCK.  Handle the case that the bb
4222         of the label is NULL.  Add comment.
4224 2013-02-05  Jakub Jelinek  <jakub@redhat.com>
4226         * tree.h (struct tree_decl_with_vis): Remove thread_local field.
4228         PR sanitizer/55374
4229         * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Define.
4230         (STATIC_LIBTSAN_LIBS): Likewise.
4231         * gcc.c (ADD_STATIC_LIBTSAN_LIBS, LIBTSAN_EARLY_SPEC): Define.
4232         (LIBTSAN_SPEC): Add ADD_STATIC_LIBTSAN_LIBS, if LIBTSAN_EARLY_SPEC
4233         is defined, don't add anything else beyond that.
4234         (SANITIZER_EARLY_SPEC, SANITIZER_SPEC): Define.
4235         (LINK_COMMAND_SPEC): Use them.
4237         PR tree-optimization/56205
4238         * tree-stdarg.c (check_all_va_list_escapes): Return true if
4239         there are any PHI nodes that set non-va_list_escape_vars SSA_NAME
4240         and some va_list_escape_vars SSA_NAME appears in some PHI argument.
4242 2013-02-05  Richard Biener  <rguenther@suse.de>
4244         PR tree-optimization/53342
4245         PR tree-optimization/53185
4246         * tree-vectorizer.h (vect_check_strided_load): Remove.
4247         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do
4248         not disallow peeling for vectorized strided loads.
4249         (vect_check_strided_load): Make static and simplify.
4250         (vect_analyze_data_refs): Adjust.
4251         * tree-vect-stmts.c (vectorizable_load): Handle peeled loops
4252         correctly when vectorizing strided loads.
4254 2013-02-05  Richard Biener  <rguenther@suse.de>
4256         * doc/install.texi: Refer to ISL, not PPL.
4258 2013-02-05  Jan Hubicka  <jh@suse.cz>
4260         PR tree-optimization/55789
4261         * params.def (PARAM_EARLY_INLINER_MAX_ITERATIONS): Drop to 1.
4263 2013-02-05  Jan Hubicka  <jh@suse.cz>
4265         PR tree-optimization/55789
4266         * cgraphclones.c (cgraph_remove_node_and_inline_clones): Remove
4267         the dead call anyway.
4269 2013-02-05  Eric Botcazou  <ebotcazou@adacore.com>
4271         PR sanitizer/55374
4272         * config/gnu-user.h (LIBASAN_EARLY_SPEC): Add missing guard.
4274 2013-02-04  Alexander Potapenko  <glider@google.com>
4275             Jack Howarth  <howarth@bromo.med.uc.edu>
4276             Jakub Jelinek  <jakub@redhat.com>
4278         PR sanitizer/55617
4279         * config/darwin.c (sort_ctor_records): Stabilized qsort
4280         on constructor priority by using original position.
4281         (finalize_ctors): New routine to sort constructors by
4282         priority before use in assemble_integer.
4283         (machopic_asm_out_constructor): Use finalize_ctors if needed.
4285 2013-02-04  Jakub Jelinek  <jakub@redhat.com>
4287         PR libstdc++/54314
4288         * config/i386/winnt.c (i386_pe_assemble_visibility): Don't warn
4289         about visibility on artificial decls.
4290         * config/sol2.c (solaris_assemble_visibility): Likewise.
4292 2013-02-04  Kai Tietz  <ktietz@redhat.com>
4294         PR target/56186
4295         * config/i386/i386.c (function_value_ms_64): Add additional valtype
4296         argument and improve checking of return-argument types for 16-byte
4297         modes.
4298         (ix86_function_value_1): Add additional valtype argument on call
4299         of function_value_64.
4300         (return_in_memory_ms_64): Sync 16-byte sized mode handling with
4301         handling infunction_value_64 function.
4303 2013-02-04  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
4305         * reload.c (subst_reloads): Fix DEBUG_RELOAD build issue.
4307 2013-02-04  Richard Biener  <rguenther@suse.de>
4309         PR tree-optimization/56188
4310         * tree-ssa-structalias.c (label_visit): Consider case with
4311         initially non-empty points-to set.
4312         (perform_var_substitution): Dump node mapping and clean up.
4314 2013-02-04  Richard Guenther  <rguenther@suse.de>
4316         PR lto/56168
4317         * lto-symtab.c (lto_symtab_merge_decls_1): Make non-builtin
4318         node prevail as last resort.
4319         (lto_symtab_merge_decls): Remove guard on LTRANS here.
4320         (lto_symtab_prevailing_decl): Builtins are their own prevailing decl.
4322 2013-02-04  Richard Biener  <rguenther@suse.de>
4324         PR tree-optimization/56113
4325         * tree-ssa-structalias.c (equiv_class_lookup, equiv_class_add):
4326         Merge into ...
4327         (equiv_class_lookup_or_add): ... this.
4328         (label_visit): Adjust and fix error in previous patch.
4329         (perform_var_substitution): Adjust.
4331 2013-02-03  Oleg Endo  <olegendo@gcc.gnu.org>
4333         * config/sh/divtab.c: Fix formatting and comments throughout the file.
4334         * config/sh/sh4-300.md: Likewise.
4335         * config/sh/sh4a.md: Likewise.
4336         * config/sh/constraints.md: Likewise.
4337         * config/sh/sh.md: Likewise.
4338         * config/sh/netbsd-elf.h: Likewise.
4339         * config/sh/predicates.md: Likewise.
4340         * config/sh/sh-protos.h: Likewise.
4341         * config/sh/ushmedia.h: Likewise.
4342         * config/sh/linux.h: Likewise.
4343         * config/sh/sh.c: Likewise.
4344         * config/sh/superh.h: Likewise.
4345         * config/sh/elf.h: Likewise.
4346         * config/sh/sh4.md: Likewise.
4347         * config/sh/sh.h: Likewise.
4349 2013-02-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4351         * config/pa/constraints.md: Adjust unused letters.  Change "T"
4352         constraint to match_test floating_point_store_memory_operand().
4353         * config/pa/predicates.md (reg_plus_base_memory_operand): New.
4354         (base14_operand): New.
4355         (floating_point_store_memory_operand): New.
4356         (integer_store_memory_operand): Revise to use base14_operand and
4357         reg_plus_base_memory_operand.
4358         (move_dest_operand): Allow symbolic_memory_operands.
4359         (symbolic_memory_operand): Check for LO_SOM.
4360         (symbolic_operand): Change default case to break.
4361         * config/pa/pa.md: Remove unamed DFmode and SFmode patterns to force
4362         CONST_DOUBLE values to be reloaded by putting them into memory when
4363         the destination is a floating point register.
4364         (movdf): Remove code to handle CONST_DOUBLE.
4365         (movsf): Likewise.
4366         (reload_indf_r1): New.
4367         (reload_insf_r1): New.
4368         Consistently use "Q" and "T" constraints with integer and floating
4369         point move instructions, respectively.
4370         (movdi): Remove FAIL.
4371         Change predicate for source operand unamed DImode move from
4372         general_operand to move_src_operand.
4373         (umulsidi3): Change predicate for destination operand to
4374         register_operand.
4375         Likewise for similar unamed patterns.
4376         * config/pa/pa-protos.h (pa_legitimize_reload_address): Declare.
4377         * config/pa/pa.c (pa_symbolic_expression_p): Remove extra parenthesis.
4378         (hppa_legitimize_address): Simplify mask calculation.
4379         (pa_emit_move_sequence): Revised handling of secondary reloads from
4380         REG+D addresses for floating point loads and stores.  Directly handle
4381         loading CONST0_RTX (mode) to a floating point register.
4382         (pa_secondary_reload): Handle reloading DF and SFmode constant values
4383         to floating point registers.  Don't restrict secondary reloads to
4384         floating point registers to integer modes.  Revise some comments and
4385         cleanup some code.
4386         (TARGET_LEGITIMATE_ADDRESS_P): Define.
4387         (pa_legitimate_address_p): New.
4388         (pa_legitimize_reload_address): New.
4389         * config/pa/pa.h (STRICT_REG_OK_FOR_INDEX_P): New.
4390         (STRICT_REG_OK_FOR_BASE_P): New.
4391         (GO_IF_LEGITIMATE_ADDRESS): Delete.  Update some related comments.
4392         (LEGITIMIZE_RELOAD_ADDRESS): Revise to use pa_legitimize_reload_address.
4394 2013-02-03  David Edelsohn  <dje.gcc@gmail.com>
4395             Andrew Dixie  <andrewd@gentrack.com>
4397         * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
4398         flag set.
4400 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
4402         * expmed.c (extract_bit_field_1): Pass the full width of the
4403         structure to get_best_reg_extraction_insn.
4405 2013-02-01  David Edelsohn  <dje.gcc@gmail.com>
4407         PR target/54601
4408         * configure.ac (use_cxa_atexit): Add AIX.
4409         * configure: Regenerate.
4411         * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtcxa.o.
4413 2013-02-01  Jakub Jelinek  <jakub@redhat.com>
4415         PR debug/54793
4416         * final.c (need_profile_function): New variable.
4417         (final_start_function): Drop ATTRIBUTE_UNUSED from first argument.
4418         If first of NOTE_INSN_BASIC_BLOCK or NOTE_INSN_FUNCTION_BEG
4419         is only preceeded by NOTE_INSN_VAR_LOCATION or NOTE_INSN_DELETED
4420         notes, targetm.asm_out.function_prologue doesn't emit anything,
4421         HAVE_prologue and profiler should be emitted before prologue,
4422         set need_profile_function instead of emitting it.
4423         (final_scan_insn): If need_profile_function, emit
4424         profile_function on the first NOTE_INSN_BASIC_BLOCK or
4425         NOTE_INSN_FUNCTION_BEG note.
4427 2013-02-01  Richard Henderson  <rth@redhat.com>
4429         * config/rs6000/rs6000.md (smulditi3): New.
4430         (umulditi3): New.
4432         * config/alpha/alpha.md (umulditi3): New.
4434 2013-02-01  David Edelsohn  <dje.gcc@gmail.com>
4436         * config/rs6000/xcoff.h (ASM_OUTPUT_ALIGNED_COMMON): Use floor_log2.
4437         (ASM_OUTPUT_ALIGNED_LOCAL): New.
4439 2013-02-01  Richard Biener  <rguenther@suse.de>
4441         PR tree-optimization/56113
4442         * tree-ssa-structalias.c (label_visit): Reduce work for
4443         single-predecessor nodes.
4445 2013-02-01  Eric Botcazou  <ebotcazou@adacore.com>
4447         * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
4448         range isn't testing for zero.
4450 2013-01-31  Steven Bosscher  <steven@gcc.gnu.org>
4452         PR middle-end/56113
4453         * fwprop.c (fwprop_init): Set up loops without CFG modifications.
4455 2013-01-31  Hiroyuki Ono  <hiroyuki.ono.jc@renesas.com>
4456             Nick Clifton  <nickc@redhat.com>
4458         * config/v850/constraints.md (Q): Define as a memory constraint.
4459         * config/v850/predicates.md (label_ref_operand): New predicate.
4460         (e3v5_shift_operand): New predicate.
4461         (ior_operator): New predicate.
4462         * config/v850/t-v850: Add e3v5 multilib.
4463         * config/v850/v850-protos.h (v850_adjust_insn_length): Prototype.
4464         (v850_gen_movdi): Prototype.
4465         * config/v850/v850.c: Add support for e3v5 architecture.
4466         Rename all uses of TARGET_V850E || TARGET_V850E2_ALL to
4467         TARGET_V850E_UP.
4468         (construct_save_jarl): Add e3v5 long JARL support.
4469         (v850_adjust_insn_length): New function.  Adjust length of call
4470         insns when using e3v5 instructions.
4471         (v850_gen_movdi): New function: Generate instructions to move a
4472         DImode value.
4473         * config/v850/v850.h (TARGET_CPU_v850e3v5): Define.
4474         (CPP_SPEC): Define __v850e3v5__ as appropriate.
4475         (TARGET_USE_FPU): Enable for e3v5.
4476         (CONST_OK_FOR_W): New macro.
4477         (ADJUST_INSN_LENGTH): Define.
4478         * config/v850/v850.md (UNSPEC_LOOP): Define.
4479         (attr cpu): Add v850e3v5.
4480         Rename all uses of TARGET_V850E2 to TARGET_V850E2V3_UP.
4481         (movdi): New pattern.
4482         (movdi_internal): New pattern.
4483         (cbranchsf4): Conditionalize on TARGET_USE_FPU.
4484         (cbranchdf4): Conditionalize on TARGET_USE_FPU.
4485         (cstoresf4): Likewise.
4486         (cstoredf4): Likewise.
4487         (insv): New pattern.
4488         (rotlso3_a): New pattern.
4489         (rotlsi3_b): New pattern
4490         (rotlsi3_v850e3v5): New pattern.
4491         (doloop_begin): New pattern.
4492         (fix_loop_counter): New pattern.
4493         (doloop_end): New pattern.
4494         (branch_normal): Add e3v5 long branch support.
4495         (branch_invert): Likewise.
4496         (branch_z_normal): Likewise.
4497         (branch_z_invert): Likewise.
4498         (branch_nz_normal): Likewise.
4499         (branch_nz_invert): Likewise.
4500         (call_internal_short): Add e3v5 register-indirect JARL support.
4501         (call_internal_long): Likewise.
4502         (call_value_internal_short): Likewise.
4503         (call_value_internal_long): Likewise.
4504         * config/v850/v850.opt (mv850e3v5, mv850e2v4): New options.
4505         (mloop): New option.
4506         * config.gcc: Add support for configuring v840e3v5 target.
4507         * doc/invoke.texi: Document new v850 specific command line options.
4509 2013-01-31  Paul Koning  <ni1d@arrl.net>
4511         PR debug/55059
4512         PR debug/54508
4513         * dwarf2out.c (prune_unused_types_mark): Mark all of parent's
4514         children if parent is a class.
4515         (prune_unused_types_prune): Don't add DW_AT_declaration.
4517 2013-01-31  Richard Biener  <rguenther@suse.de>
4519         PR tree-optimization/56157
4520         * tree-vect-slp.c (vect_get_slp_defs): More thoroughly try to
4521         match up operand with SLP child.
4523 2013-01-31  Jason Merrill  <jason@redhat.com>
4525         PR debug/54410
4526         * dwarf2out.c (gen_struct_or_union_type_die): Always schedule template
4527         parameters the first time.
4528         (gen_scheduled_generic_parms_dies): Check completeness here.
4530 2013-01-31  Richard Biener  <rguenther@suse.de>
4532         PR middle-end/53073
4533         * common.opt (faggressive-loop-optimizations): New flag,
4534         enabled by default.
4535         * doc/invoke.texi (faggressive-loop-optimizations): Document.
4536         * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Guard
4537         infer_loop_bounds_from_undefined by it.
4539 2013-01-31  Richard Biener  <rguenther@suse.de>
4541         PR tree-optimization/56150
4542         * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Do not
4543         visit virtual operands.
4544         (find_uses_to_rename_bb): Likewise.
4546 2013-01-31  Richard Biener  <rguenther@suse.de>
4548         PR tree-optimization/56150
4549         * tree-ssa-tail-merge.c (gimple_equal_p): Properly handle
4550         mixed store non-store stmts.
4552 2013-01-30  Jakub Jelinek  <jakub@redhat.com>
4554         PR sanitizer/55374
4555         * gcc.c (LIBASAN_SPEC): Define just to ADD_STATIC_LIBASAN_LIBS if
4556         LIBASAN_EARLY_SPEC is defined.
4557         (LIBASAN_EARLY_SPEC): Define to empty string if not already defined.
4558         (LINK_COMMAND_SPEC): Add LIBASAN_EARLY_SPEC for -fsanitize=address,
4559         before %o.
4560         * config/gnu-user.h (LIBASAN_EARLY_SPEC): Define.
4562         PR c++/55742
4563         * config/i386/i386.c (ix86_valid_target_attribute_inner_p): Diagnose
4564         invalid args instead of ICEing on it.
4565         (ix86_valid_target_attribute_tree): Return error_mark_node if
4566         ix86_valid_target_attribute_inner_p failed.
4567         (ix86_valid_target_attribute_p): Return false only if
4568         ix86_valid_target_attribute_tree returned error_mark_node.  Allow
4569         target("default") attribute.
4570         (sorted_attr_string): Change argument from const char * to tree,
4571         merge in all target attribute arguments rather than just one.
4572         Formatting fix.  Use XNEWVEC instead of xmalloc and XDELETEVEC
4573         instead of free.  Avoid using strcat.
4574         (ix86_mangle_function_version_assembler_name): Mangle
4575         target("default") as if no target attribute is present.  Adjust
4576         sorted_attr_string caller.  Avoid leaking memory.  Use XNEWVEC
4577         instead of xmalloc and XDELETEVEC instead of free.
4578         (ix86_function_versions): Don't return true if one of the decls
4579         doesn't have target attribute.  If they don't and one of the decls
4580         is DECL_FUNCTION_VERSIONED, report an error.  Adjust
4581         sorted_attr_string caller.  Use XDELETEVEC instead of free.
4582         (ix86_supports_function_versions): Remove.
4583         (make_name): Fix up formatting.
4584         (make_dispatcher_decl): Remove resolver_name and its initialization.
4585         Avoid leaking memory.
4586         (is_function_default_version): Return true if there is
4587         target("default") attribute rather than no target attribute at all.
4588         (make_resolver_func): Avoid leaking memory.
4589         (ix86_generate_version_dispatcher_body): Likewise.
4590         (TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS): Remove.
4591         * target.def (supports_function_versions): Remove.
4592         * doc/tm.texi.in (SUPPORTS_FUNCTION_VERSIONS): Remove.
4593         * doc/tm.texi: Regenerated.
4595 2013-01-30  Vladimir Makarov  <vmakarov@redhat.com>
4597         PR rtl-optimization/56144
4598         * lra-constraints.c (get_reload_reg): Don't reuse reload pseudo
4599         for values with side effects.
4601 2013-01-30  Richard Biener  <rguenther@suse.de>
4603         * sparseset.h (sparseset_bit_p): Use gcc_checking_assert.
4604         (sparseset_pop): Likewise.
4605         * cfganal.c (compute_idf): Likewise.  Increase work-stack size
4606         to be able to use quick_push in the worker loop.
4608 2013-01-30  Marek Polacek  <polacek@redhat.com>
4610         * cfgcleanup.c (cleanup_cfg): Don't mark affected BBs.
4612 2013-01-30  Richard Biener  <rguenther@suse.de>
4614         PR lto/56147
4615         * lto-symtab.c (lto_symtab_merge_decls_1): Guard DECL_BUILT_IN check.
4617 2013-01-30  Georg-Johann Lay  <avr@gjlay.de>
4619         PR tree-optimization/56064
4620         * fixed-value.c (fixed_from_double_int): New function.
4621         * fixed-value.h (fixed_from_double_int): New prototype.
4622         (const_fixed_from_double_int): New static inline function.
4623         * fold-const.c (native_interpret_fixed): New static function.
4624         (native_interpret_expr) <FIXED_POINT_TYPE>: Use it.
4625         (can_native_interpret_type_p) <FIXED_POINT_TYPE>: Return true.
4626         (native_encode_fixed): New static function.
4627         (native_encode_expr) <FIXED_CST>: Use it.
4628         (native_interpret_int): Move double_int worker code to...
4629         * double-int.c (double_int::from_buffer): ...this new static method.
4630         * double-int.h (double_int::from_buffer): Prototype it.
4632 2013-01-30  Richard Biener  <rguenther@suse.de>
4634         * tree-ssa-structalias.c (final_solutions, final_solutions_obstack):
4635         New pointer-map and obstack.
4636         (init_alias_vars): Allocate pointer-map and obstack.
4637         (delete_points_to_sets): Free them.
4638         (find_what_var_points_to): Cache result.
4639         (find_what_p_points_to): Adjust for changed interface of
4640         find_what_var_points_to.
4641         (compute_points_to_sets): Likewise.
4642         (ipa_pta_execute): Likewise.
4644 2013-01-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4646         * configure.ac (HAVE_AS_SPARC_NOBITS): New test.
4647         * configure: Regenerate.
4648         * config.in: Regenerate.
4649         * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Emit
4650         #nobits/#progbits if supported.
4652 2013-01-29  Oleg Endo  <olegendo@gcc.gnu.org>
4654         PR target/56121
4655         * config/sh/sh.md (bclr_m2a, bset_m2a, bst_m2a, bld_m2a, bldsign_m2a,
4656         bld_reg, *bld_regqi, band_m2a, bandreg_m2a, bor_m2a, borreg_m2a,
4657         bxor_m2a, bxorreg_m2a): Add satisfies_constraint_K03 condition.
4659 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
4661         * config/arm/cortex-a7.md (cortex_a7_neon, cortex_a7_all): Remove.
4662         (cortex_a7_idiv): Use cortex_a7_both instead of cortex_a7_all.
4664 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
4666         * config/arm/arm.c (cortexa7_younger): Return true for TYPE_CALL.
4667         * config/arm/cortex-a7.md (cortex_a7_call): Update required units.
4669 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
4671         * config/arm/arm-protos.h (arm_mac_accumulator_is_result): New
4672         declaration.
4673         * config/arm/arm.c (arm_mac_accumulator_is_result): New function.
4674         * config/arm/cortex-a7.md: New bypasses using
4675         arm_mac_accumulator_is_result.
4677 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
4679         * config/arm/cortex-a7.md (cortex_a7_neon_mul):  New reservation.
4680         (cortex_a7_neon_mla): Likewise.
4681         (cortex_a7_fpfmad): New reservation.
4682         (cortex_a7_fpmacs): Use ffmas and update required units.
4683         (cortex_a7_fpmuld): Update required units and latency.
4684         (cortex_a7_fpmacd): Likewise.
4685         (cortex_a7_fdivs, cortex_a7_fdivd): Likewise.
4686         (cortex_a7_neon). Likewise.
4687         (bypass) Update participating units.
4689 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
4691         * config/arm/arm.md (type): Add ffmas and ffmad to "type" attribute.
4692         * config/arm/vfp.md (fma,fmsub,fnmsub,fnmadd): Change type
4693         from fmac to ffma.
4694         * config/arm/vfp11.md (vfp_farith): Use ffmas.
4695         (vfp_fmul): Use ffmad.
4696         * config/arm/cortex-r4f.md (cortex_r4_fmacs): Use ffmas.
4697         (cortex_r4_fmacd): Use ffmad.
4698         * config/arm/cortex-m4-fpu.md (cortex_m4_fmacs): Use ffmas.
4699         * config/arm/cortex-a9.md (cortex_a9_fmacs):  Use ffmas.
4700         (cortex_a9_fmacd): Use ffmad.
4701         * config/arm/cortex-a8-neon.md (cortex_a8_vfp_macs): Use ffmas.
4702         (cortex_a8_vfp_macd): Use ffmad.
4703         * config/arm/cortex-a5.md (cortex_a5_fpmacs): Use ffmas.
4704         (cortex_a5_fpmacd): Use ffmad.
4705         * config/arm/cortex-a15-neon.md (cortex_a15_vfp_macs) Use ffmas.
4706         (cortex_a15_vfp_macd): Use ffmad.
4707         * config/arm/arm1020e.md (v10_fmul): Use ffmas and ffmad.
4709 2013-01-29  Jason Merrill  <jason@redhat.com>
4711         PR libstdc++/54314
4712         * varasm.c (default_assemble_visibility): Don't warn about
4713         visibility on artificial decls.
4715 2013-01-29  Richard Biener  <rguenther@suse.de>
4717         PR tree-optimization/56113
4718         * tree-ssa-structalias.c (equiv_class_lookup): Also return
4719         the bitmap leader.
4720         (label_visit): Free duplicate bitmaps and record the leader instead.
4721         (perform_var_substitution): Adjust.
4723 2013-01-29  Richard Biener  <rguenther@suse.de>
4725         PR tree-optimization/55270
4726         * tree-ssa-dom.c (eliminate_degenerate_phis): If we changed
4727         the CFG, schedule loops for fixup.
4729 2013-01-29  Nick Clifton  <nickc@redhat.com>
4731         * config/rl78/rl78.c (rl78_regno_mode_code_ok_for_base_p): Allow
4732         SP_REG.
4734 2013-01-28  Leif Ekblad  <leif@rdos.net>
4736         * config.gcc (i[34567]86-*-rdos*, x86_64-*-rdos*): New targets.
4737         * config/i386/i386.h (TARGET_RDOS): New macro.
4738         (DEFAULT_LARGE_SECTION_THRESHOLD): New macro.
4739         * config/i386/i386.c (ix86_option_override_internal): For 64bit
4740         TARGET_RDOS, set ix86_cmodel to CM_MEDIUM_PIC and flag_pic to 1.
4741         * config/i386/i386.opt (mlarge-data-threshold): Initialize to
4742         DEFAULT_LARGE_SECTION_THRESHOLD.
4743         * config/i386/i386.md (R14_REG, R15_REG): New constants.
4744         * config/i386/rdos.h: New file.
4745         * config/i386/rdos64.h: New file.
4747 2013-01-28  Bernd Schmidt  <bernds@codesourcery.com>
4749         PR other/54814
4750         * reload.c (find_valid_class_1): Use in_hard_reg_set_p instead of
4751         TEST_HARD_REG_BIT.
4753 2013-01-28  Jakub Jelinek  <jakub@redhat.com>
4755         PR rtl-optimization/56117
4756         * sched-deps.c (sched_analyze_2) <case PREFETCH>: For use_cselib
4757         call cselib_lookup_from_insn on the MEM before calling
4758         add_insn_mem_dependence.
4760 2013-01-28  Richard Biener  <rguenther@suse.de>
4762         * tree-inline.c (remap_gimple_stmt): Do not assing a BLOCK
4763         to a stmt that didn't have one.
4764         (copy_phis_for_bb): Likewise for PHI arguments.
4765         (copy_debug_stmt): Likewise for debug stmts.
4767 2013-01-28  Richard Biener  <rguenther@suse.de>
4769         PR tree-optimization/56034
4770         * tree-loop-distribution.c (enum partition_kind): Add PKIND_REDUCTION.
4771         (partition_builtin_p): Adjust.
4772         (generate_code_for_partition): Handle PKIND_REDUCTION.  Assert
4773         it is the last partition.
4774         (rdg_flag_uses): Check SSA_NAME_IS_DEFAULT_DEF before looking
4775         up the vertex for the definition.
4776         (classify_partition): Classify whether a partition is a
4777         PKIND_REDUCTION, thus has uses outside of the loop.
4778         (ldist_gen): Inherit PKIND_REDUCTION when merging partitions.
4779         Merge all PKIND_REDUCTION partitions into the last partition.
4780         (tree_loop_distribution): Seed partitions from reductions as well.
4782 2013-01-28  Jakub Jelinek  <jakub@redhat.com>
4784         PR tree-optimization/56125
4785         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
4786         pow(x,c) into sqrt(x) * powi(x, n/2) or
4787         1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
4788         optimizing for size.
4789         Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
4790         1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
4791         integer.
4793         PR tree-optimization/56094
4794         * gimplify.c (force_gimple_operand_1): Temporarily set input_location
4795         to UNKNOWN_LOCATION while gimplifying expr.
4797 2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
4799         PR target/56114
4800         * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
4801         operand 0 in movabs insn template for -masm=intel asm alternative.
4802         (*movabs<mode>_2): Ditto for operand 1.
4804 2013-01-26  David Holsgrove  <david.holsgrove@xilinx.com>
4806         PR target/54663
4807         * config.gcc (microblaze*-linux*): Add tmake_file to allow building
4808         of microblaze-c.o
4810 2013-01-26  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
4812         * config.gcc (microblaze*-*-*): Rename microblaze*-*-elf, update
4813         tm_file.
4815 2013-01-25  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
4817         * config/aarch64/aarch64.c (TARGET_FIXED_CONDITION_CODE_REGS):
4818         Undef to avoid warning.
4820 2013-01-25  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
4822         * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
4823         * configure: Regenerate.
4825 2013-01-25  Jakub Jelinek  <jakub@redhat.com>
4827         PR tree-optimization/56098
4828         * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
4829         for stmts with volatile ops.
4830         (cond_store_replacement): Don't optimize if assign has volatile ops.
4831         (cond_if_else_store_replacement_1): Don't optimize if either
4832         then_assign or else_assign have volatile ops.
4833         (hoist_adjacent_loads): Don't optimize if either def1 or def2 have
4834         volatile ops.
4836 2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
4838         * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
4840 2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
4842         * doc/extend.texi (Example of asm with clobbered asm reg): Fix
4843         missing ':' in asm example.
4845 2013-01-25  Tejas Belagod  <tejas.belagod@arm.com>
4847         * config/aarch64/aarch64-simd-builtins.def: Separate sq<r>dmulh_lane
4848         entries into lane and laneq entries.
4849         * config/aarch64/aarch64-simd.md (aarch64_sq<r>dmulh_lane<mode>):
4850         Remove AdvSIMD scalar modes.
4851         (aarch64_sq<r>dmulh_laneq<mode>): New.
4852         (aarch64_sq<r>dmulh_lane<mode>): New RTL pattern for Scalar AdvSIMD
4853         modes.
4854         * config/aarch64/arm_neon.h: Fix all the vq<r>dmulh_lane* intrinsics'
4855         builtin implementations to relfect changes in RTL in aarch64-simd.md.
4856         * config/aarch64/iterators.md (VCOND): New.
4857         (VCONQ): New.
4859 2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
4861         PR target/54222
4862         * config/avr/builtins.def (DEF_BUILTIN): Add LIBNAME argument.
4863         Add NULL LIBNAME argument to existing definitions.
4864         (ABSHR, ABSR, ABSLR, ABSLLR, ABSHK, ABSK, ABSLK, ABSLLK): New.
4865         * config/avr/avr-c.c (DEF_BUILTIN): Add LIBNAME argument.
4866         * config/avr/avr.c (DEF_BUILTIN): Same.
4867         (avr_init_builtins): Pass down LIBNAME to add_builtin_function.
4868         (avr_expand_builtin): Expand to a vanilla call if a libgcc
4869         implementation is available (DECL_ASSEMBLER_NAME is set).
4870         (avr_fold_absfx): New static function.
4871         (avr_fold_builtin): Use it to handle: AVR_BUILTIN_ABSHR,
4872         AVR_BUILTIN_ABSR, AVR_BUILTIN_ABSLR, AVR_BUILTIN_ABSLLR,
4873         AVR_BUILTIN_ABSHK, AVR_BUILTIN_ABSK, AVR_BUILTIN_ABSLK,
4874         AVR_BUILTIN_ABSLLK.
4875         * config/avr/stdfix.h (abshr, absr, abslr, absllr)
4876         (abshk, absk, abslk, absllk): Provide as static inline functions.
4878 2013-01-25  Marek Polacek  <polacek@redhat.com>
4880         PR tree-optimization/56035
4881         * cfgloopmanip.c (fix_loop_structure): Remove redundant condition.
4883 2012-01-24  Uros Bizjak  <ubizjak@gmail.com>
4885         * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
4886         (*movtf_internal_rex64): Add (!o,C) alternative
4887         (*movxf_internal_rex64): Ditto.
4888         (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
4890 2013-01-24  Shenghou Ma  <minux.ma@gmail.com>
4892         * doc/invoke.texi: fix typo.
4893         * doc/objc.texi: fix typo.
4895 2013-01-24  Richard Sandiford  <rdsandiford@googlemail.com>
4897         * config/mips/mips.md (*and<mode>3_mips16): Use the "W" constraint
4898         for the first two alternatives.
4900 2013-01-24  Diego Novillo  <dnovillo@google.com>
4902         * Makefile.in (GGC): Remove.  Replace all instances with ggc-page.o.
4903         (ggc-zone.o): Remove.
4904         * configure.ac: Remove option --with-gc.
4905         * configure: Re-generate.
4906         * doc/install.texi: Remove documentation for --with-gc.
4907         * gengtype.c (write_enum_defn): Remove.  Update all users.
4908         (write_Types_process_field): Remove generation of gt_e_* argument.
4909         (output_type_enum): Remove.  Update all users.
4910         (write_enum_defn): Remove.  Update all users.
4911         (enum alloc_zone): Remove.  Update all users.
4912         (write_splay_tree_allocator_def): Remove generation of gt_e_* argument.
4913         * ggc-common.c (ggc_splay_alloc): Remove first argument.
4914         Update all callers.
4915         (struct ptr_data): Remove field TYPE.  Update all users.
4916         (gt_pch_note_object): Remove argument TYPE.  Update all users.
4917         * ggc-internal.h (ggc_pch_alloc_object): Remove last argument.
4918         Update all users.
4919         * ggc-none.c (ggc_alloc_typed_stat): Remove.
4920         (struct alloc_zone): Remove.
4921         (ggc_internal_alloc_zone_stat): Remove.
4922         (ggc_internal_cleared_alloc_zone_stat): Remove.
4923         * ggc-page.c (ggc_alloc_typed_stat): Remove.
4924         (ggc_pch_count_object): Remove last argument.  Update all users.
4925         (ggc_pch_alloc_object): Remove last argument.  Update all users.
4926         (struct alloc_zone): Remove.
4927         * ggc-zone.c: Remove.
4928         * ggc.h (gt_pch_note_object): Remove last argument.  Update all users.
4929         (struct alloc_zone): Remove.
4930         (ggc_alloc_typed_stat): Remove.
4931         (ggc_alloc_typed): Remove.
4932         (ggc_splay_alloc): Remove first argument.
4933         (rtl_zone): Remove.  Update all users.
4934         (tree_zone): Remove.  Update all users.
4935         (tree_id_zone): Remove.  Update all users.
4936         (ggc_internal_zone_alloc_stat): Remove.  Update all users.
4937         (ggc_internal_zone_cleared_alloc_stat): Remove.  Update all users.
4938         (ggc_internal_zone_vec_alloc_stat): Remove.  Update all users.
4939         * tree-ssanames.c: Remove references to zone allocator in comments.
4941 2013-01-24  Georg-Johann Lay  <avr@gjlay.de>
4943         * config/avr/avr.c (avr_out_fract): Make register numbers that
4944         might be outside of source operand signed.
4946 2013-01-24  Uros Bizjak  <ubizjak@gmail.com>
4948         * config/i386/constraints.md (Yf): New constraint.
4949         * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
4950         of f constraint to conditionaly disable x87 register preferences.
4951         (*movdf_internal): Ditto.
4952         (*movsf_internal): Ditto.
4954 2013-01-24  Steven Bosscher  <steven@gcc.gnu.org>
4956         PR inline-asm/55934
4957         * lra-assigns.c (assign_by_spills): Throw away the pattern of asms
4958         that have operands with impossible constraints.
4959         Add a FIXME for a speed-up opportunity.
4960         * lra-constraints.c (process_alt_operands): Verify that a class
4961         selected from constraints on asms is valid for the operand mode.
4962         (curr_insn_transform): Remove incorrect comment.
4964 2013-01-23  David Edelsohn  <dje.gcc@gmail.com>
4966         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Check that
4967         TOC operand is a valid symbol ref in the constant pool.
4969 2013-01-23  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
4971         * config/microblaze/linux.h: Add TARGET_OS_CPP_BUILTINS
4973 2013-01-23  Georg-Johann Lay  <avr@gjlay.de>
4975         PR target/54222
4976         * config/avr/stdfix.h: New file.
4977         * t-avr (stdfix-gcc.h): New rule to build it.
4978         (EXTRA_HEADERS): Set it to install stdfix.h, stdfix-gcc.h.
4980 2013-01-23  Kostya Serebryany  <kcc@google.com>
4982         * config/darwin.h: remove dependency on
4983         CoreFoundation (asan on Mac OS).
4985 2013-01-23  Jakub Jelinek  <jakub@redhat.com>
4987         PR target/49069
4988         * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
4989         instead of cmpdi_operand for first comparison operand.
4990         Don't assert that comparison operands aren't both constants.
4992 2013-01-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
4994         * doc/install.texi (Downloading the Source): Update references to
4995         downloading separate components.
4997 2013-01-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
4999         * doc/extend.texi (__int128): Improve grammar.
5001 2013-01-22  Uros Bizjak  <ubizjak@gmail.com>
5003         PR target/56028
5004         * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
5005         alternative to (o,r).
5006         (*movdi_internal_rex64): Remove (!o,n) alternative.
5007         (DImode immediate->memory splitter): Remove.
5008         (DImode immediate->memory peephole2): Remove.
5009         (movtf): Enable for TARGET_64BIT || TARGET_SSE.
5010         (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
5011         alternative to (!o,*r).
5012         (*movtf_internal_sse): New pattern.
5013         (*movxf_internal_rex64): New pattern.
5014         (*movxf_internal): Disable for TARGET_64BIT.
5015         (*movdf_internal_rex64): Remove (!o,F) alternative.
5017 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
5019         PR middle-end/56074
5020         * dumpfile.c (dump_loc): Only print loc if LOCATION_LOCUS (loc)
5021         isn't UNKNOWN_LOCATION nor BUILTINS_LOCATION.
5022         * tree-vect-loop-manip.c (find_loop_location): Also ignore
5023         stmt locations where LOCATION_LOCUS of the stmt location is
5024         UNKNOWN_LOCATION or BUILTINS_LOCATION.
5026         PR target/55686
5027         * config/i386/i386.md (UNSPEC_STOS): New.
5028         (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
5029         *strsetqi_1): Add UNSPEC_STOS.
5031 2013-01-22  Paolo Carlini  <paolo.carlini@oracle.com>
5033         PR c++/56067
5034         * doc/invoke.texi: Remove left over -Wsynth example.
5036 2013-01-21  Jakub Jelinek  <jakub@redhat.com>
5038         PR tree-optimization/56051
5039         * fold-const.c (fold_binary_loc): Don't fold
5040         X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
5041         a narrowing conversion, or widening conversion from signed
5042         to unsigned.
5044 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
5046         PR rtl-optimization/56023
5047         * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
5048         dependent on debug instruction.
5050 2013-01-21  Martin Jambor  <mjambor@suse.cz>
5052         PR middle-end/56022
5053         * function.c (allocate_struct_function): Call
5054         invoke_set_current_function_hook earlier.
5056 2013-01-21  Jakub Jelinek  <jakub@redhat.com>
5058         * reload1.c (init_reload): Only initialize reload_obstack
5059         during the first call.
5061 2013-01-21  Marek Polacek  <polacek@redhat.com>
5063         * cfgloop.c (verify_loop_structure): Fix up grammar.
5065 2013-01-21  Yi-Hsiu Hsu  <ahsu@marvell.com>
5067         * config/arm/marvell-pj4.md (pj4_shift_conds, pj4_alu_shift,
5068         pj4_alu_shift_conds, pj4_shift): Handle simple_alu_shift.
5070 2013-01-21  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
5072         PR target/56058
5073         * config/arm/marvell-pj4.md: Update copyright year.
5074         Fix up use of alu to alu_reg and simple_alu_imm.
5076 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
5078         * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
5080 2013-01-20  Vladimir Makarov  <vmakarov@redhat.com>
5082         PR target/55433
5083         * lra-constraints.c (curr_insn_transform): Don't reuse original
5084         insn for secondary memory move when memory mode should be different.
5086 2013-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5088         * config/pa/pa.md (atomic_loaddi, atomic_loaddi_1, atomic_storedi,
5089         atomic_storedi_1): New patterns.
5091 2013-01-20  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
5093         btver2 pipeline descriptions.
5094         * config/i386/i386.c: Enable CPU_BTVER2 to use btver2 pipeline
5095         descriptions.
5096         * config/i386/i386.md (btver2_decode): New type attributes.
5097         * config/i386/sse.md (btver2_decode, btver2_sse_attr): New
5098         type attributes.
5099         * config/i386/btver2.md: New file describing btver2 pipelines.
5101 2013-01-19  Andrew Pinski  <apinski@cavium.com>
5103         PR tree-optimization/52631
5104         * tree-ssa-sccvn (visit_use): Before looking up the original
5105         statement, try looking up the simplified expression.
5107 2013-01-19  Anthony Green  <green@moxielogic.com>
5109         * config/moxie/moxie.c (moxie_expand_prologue): Set
5110         current_function_static_stack_size.
5112 2013-01-18  Jakub Jelinek  <jakub@redhat.com>
5114         PR tree-optimization/56029
5115         * tree-phinodes.c (reserve_phi_args_for_new_edge): Set
5116         gimple_phi_arg_location for the new arg to UNKNOWN_LOCATION.
5118 2013-01-18  Sharad Singhai  <singhai@google.com>
5120         PR tree-optimization/55995
5121         * dumpfile.c (dump_loc): Print location only if available.
5122         * tree-vectorizer.c (increase_alignment): Intialize vect_location.
5124 2013-01-18  Vladimir Makarov  <vmakarov@redhat.com>
5126         PR target/55433
5127         * lra-constraints.c (curr_insn_transform): Reuse original insn for
5128         secondary memory move.
5129         (inherit_reload_reg): Use rclass instead of cl for
5130         check_secondary_memory_needed_p.
5132 2013-01-18  Jakub Jelinek  <jakub@redhat.com>
5134         PR middle-end/56015
5135         * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
5136         the case where writing real complex part of target modifies op1.
5138 2013-01-18  James Greenhalgh  <james.greenhalgh@arm.com>
5140         * config/aarch64/aarch64-simd.md
5141         (aarch64_vcond_internal<mode>): Handle unordered cases.
5142         * config/aarch64/iterators.md (v_cmp_result): New.
5144 2013-01-18  Yi-Hsiu Hsu  <ahsu@marvell.com>
5145             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
5147         * config/arm/marvell-pj4.md: New file.
5148         * config/arm/arm.c (arm_issue_rate): Add marvell_pj4.
5149         * config/arm/arm.md (generic_sched): Add marvell_pj4.
5150         (generic_vfp): Likewise.
5151         * config/arm/arm-cores.def: Add marvell-pj4.
5152         * config/arm/arm-tune.md: Regenerate.
5153         * config/arm/arm-tables.opt: Regenerate.
5154         * config/arm/bpabi.h (BE8_LINK_SPEC): Add marvell_pj4.
5155         * doc/invoke.texi: Document marvell-pj4.
5157 2013-01-18  Tejas Belagod  <tejas.belagod@arm.com>
5159         * config/aarch64/arm_neon.h: Map scalar types to standard types.
5161 2013-01-18  Alexandre Oliva  <aoliva@redhat.com>
5163         PR debug/54114
5164         PR debug/54402
5165         PR debug/49888
5166         * var-tracking.c (negative_power_of_two_p): New.
5167         (global_get_addr_cache, local_get_addr_cache): New.
5168         (get_addr_from_global_cache, get_addr_from_local_cache): New.
5169         (vt_canonicalize_addr): Rewrite using the above.  Adjust the
5170         heading comment.
5171         (vt_stack_offset_p): Remove.
5172         (vt_canon_true_dep): Always canonicalize loc's address.
5173         (clobber_overlapping_mems): Make sure we have a MEM.
5174         (local_get_addr_clear_given_value): New.
5175         (val_reset): Clear local cached entries.
5176         (compute_bb_dataflow): Create and release the local cache.
5177         Disable duplicate MEMs clobbering.
5178         (emit_notes_in_bb): Clobber MEMs likewise.
5179         (vt_emit_notes): Create and release the local cache.
5180         (vt_initialize, vt_finalize): Create and release the global
5181         cache, respectively.
5182         * alias.c (rtx_equal_for_memref_p): Compare operands of ENTRY_VALUEs.
5184 2013-01-18  Alexandre Oliva  <aoliva@redhat.com>
5186         PR libmudflap/53359
5187         * tree-mudflap.c (mudflap_finish_file): Skip deferred decls
5188         not found in the symtab.
5190 2013-01-18  Alexandre Oliva  <aoliva@redhat.com>
5192         PR debug/56006
5193         PR rtl-optimization/55547
5194         PR rtl-optimization/53827
5195         PR debug/53671
5196         PR debug/49888
5197         * alias.c (offset_overlap_p): New, factored out of...
5198         (memrefs_conflict_p): ... this.  Use absolute sizes.  Retain
5199         the conservative special case for symbolic constants.  Don't
5200         adjust zero sizes on alignment.
5202 2013-01-18  Bernd Schmidt  <bernds@codesourcery.com>
5204         PR rtl-optimization/52573
5205         * regrename.c (build_def_use): Ignore REG_DEAD notes if there is a
5206         REG_UNUSED for the same register.
5208 2013-01-17  Richard Biener  <rguenther@suse.de>
5209             Marek Polacek  <polacek@redhat.com>
5211         PR rtl-optimization/55833
5212         * loop-unswitch.c (unswitch_loops): Move loop verification...
5213         (unswitch_single_loop): ...here.  Call mark_irreducible_loops.
5214         * cfgloopmanip.c (fix_loop_placement): Add IRRED_INVALIDATED parameter.
5215         Set it to true when we're removing a loop from hierarchy tree in
5216         an irreducible region.
5217         (fix_bb_placements): Adjust caller.
5218         (fix_loop_placements): Likewise.
5220 2013-01-17  Georg-Johann Lay  <avr@gjlay.de>
5222         * config/avr/builtins.def (DEF_BUILTIN): Factor out
5223         "__builtin_avr_" from NAME, turn NAME to an uppercase identifier.
5224         Factor out 'CODE_FOR_' from ICODE, use 'nothing' instead of '-1'.
5225         Remove ID.  Adjust comments.
5226         * config/avr/avr-c.c (avr_builtin_name): Remove.
5227         (avr_cpu_cpp_builtins): Use DEF_BUILTIN instead of for-loop.
5228         * config/avr/avr.c (avr_tolower): New static function.
5229         (DEF_BUILTIN): Remove parameter ID.  Prefix ICODE by 'CODE_FOR_'.
5230         Stringify NAME, prefix it with "__builtin_avr_" and lowercase it.
5231         (avr_expand_builtin): Assert insn_code != CODE_FOR_nothing for
5232         default expansion.
5234 2013-01-17  Jan Hubicka  <jh@suse.cz>
5236         PR tree-optimization/55273
5237         * loop-iv.c (iv_number_of_iterations): Consider zero iteration case.
5239 2013-01-17  Uros Bizjak  <ubizjak@gmail.com>
5241         PR target/55981
5242         * config/i386/sync.md (atomic_store<mode>): Always generate SWImode
5243         store through atomic_store<mode>_1.
5244         (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
5246 2013-01-17  Martin Jambor  <mjambor@suse.cz>
5248         PR tree-optimizations/55264
5249         * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
5250         for virtual methods.
5251         * ipa.c (symtab_remove_unreachable_nodes): Never return true for
5252         virtual methods before inlining is over.
5253         * cgraph.h (cgraph_only_called_directly_or_aliased_p): Return false for
5254         virtual functions.
5255         * cgraphclones.c (cgraph_create_virtual_clone): Mark clones as
5256         non-virtual.
5258 2013-01-16  Vladimir Makarov  <vmakarov@redhat.com>
5260         PR rtl-optimization/56005
5261         * sched-deps.c (sched_analyze_2): Check deps->readonly for adding
5262         pending reads for prefetch.
5264 2013-01-16  Ian Bolton  <ian.bolton@arm.com>
5266         * config/aarch64/aarch64.md
5267         (*cstoresi_neg_uxtw): New pattern.
5268         (*cmovsi_insn_uxtw): New pattern.
5269         (*<optab>si3_uxtw): New pattern.
5270         (*<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): New pattern.
5271         (*<optab>si3_insn_uxtw): New pattern.
5272         (*bswapsi2_uxtw): New pattern.
5274 2013-01-16  Richard Biener  <rguenther@suse.de>
5276         * tree-inline.c (tree_function_versioning): Remove set but
5277         never used variable.
5279 2013-01-16  Richard Biener  <rguenther@suse.de>
5281         PR tree-optimization/55964
5282         * tree-flow.h (rename_variables_in_loop): Remove.
5283         (rename_variables_in_bb): Likewise.
5284         * tree-loop-distribution.c (update_phis_for_loop_copy): Remove.
5285         (copy_loop_before): Adjust and delete update-ssa status.
5286         * tree-vect-loop-manip.c (rename_variables_in_bb): Make static.
5287         (rename_variables_in_bb): Likewise.  Properly walk over predecessors.
5288         (rename_variables_in_loop): Remove.
5289         (slpeel_update_phis_for_duplicate_loop): Likewise.
5290         (slpeel_tree_duplicate_loop_to_edge_cfg): Handle nested loops,
5291         use available cfg machinery instead of duplicating it.
5292         Update PHI nodes and perform poor-mans SSA update here.
5293         (slpeel_tree_peel_loop_to_edge): Adjust.
5295 2013-01-16  Richard Biener  <rguenther@suse.de>
5297         PR tree-optimization/54767
5298         PR tree-optimization/53465
5299         * tree-vrp.c (vrp_meet_1): Revert original fix for PR53465.
5300         (vrp_visit_phi_node): For PHI arguments coming via backedges
5301         drop all symbolical range information.
5302         (execute_vrp): Compute backedges.
5304 2013-01-16  Richard Biener  <rguenther@suse.de>
5306         * doc/install.texi: Update CLooG and ISL requirements to
5307         0.18.0 and 0.11.1.
5309 2013-01-16  Christian Bruel  <christian.bruel@st.com>
5311         PR target/55301
5312         * config/sh/sh.c (sh_expand_prologue): Postpone new_stack mem symbol.
5313         (broken_move): Handle UNSPECV_SP_SWITCH_B.
5314         * config/sh/sh.md (sp_switch_1): Use set (reg:SI SP_REG).
5316 2013-01-16  DJ Delorie  <dj@redhat.com>
5318         * config/sh/sh.md (UNSPECV_SP_SWITCH_B): New.
5319         (UNSPECV_SP_SWITCH_E): New.
5320         (sp_switch_1): Change to an unspec.
5321         (sp_switch_2): Change to an unspec.  Don't use post-inc when we
5322         replace $r15.
5324 2013-01-16  Uros Bizjak  <ubizjak@gmail.com>
5326         * emit-rtl.c (need_atomic_barrier_p): Mask memory model argument
5327         with MEMMODEL_MASK before comparing with MEMMODEL_* memory types.
5328         * optabs.c (maybe_emit_sync_lock_test_and_set): Ditto.
5329         (expand_mem_thread_fence): Ditto.
5330         (expand_mem_signal_fence): Ditto.
5331         (expand_atomic_load): Ditto.
5332         (expand_atomic_store): Ditto.
5334 2013-01-16  Alexandre Oliva  <aoliva@redhat.com>
5336         PR rtl-optimization/55547
5337         PR rtl-optimization/53827
5338         PR debug/53671
5339         PR debug/49888
5340         * alias.c (memrefs_conflict_p): Set sizes to negative after
5341         AND adjustments.
5343 2013-01-15  Jakub Jelinek  <jakub@redhat.com>
5345         PR target/55940
5346         * function.c (thread_prologue_and_epilogue_insns): Always
5347         add crtl->drap_reg to set_up_by_prologue.set, even if
5348         stack_realign_drap is false.
5350 2013-01-15  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
5352         * config/vax/vax.md (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3,
5353         and<mode>3, *and<mode>_const_int, ior<mode>3, xor<mode>3, ashrsi3,
5354         *call): Fix indention.
5356 2013-01-15  Tom de Vries  <tom@codesourcery.com>
5358         PR target/55876
5359         * optabs.c (widen_operand): Use gen_lowpart instead of gen_rtx_SUBREG.
5360         Update comment.
5362 2013-01-15  Vladimir Makarov  <vmakarov@redhat.com>
5364         PR rtl-optimization/55153
5365         * sched-deps.c (sched_analyze_2): Add pending reads for prefetch.
5367 2013-01-15  Martin Jambor  <mjambor@suse.cz>
5369         PR tree-optimization/55920
5370         * tree-sra.c (analyze_access_subtree): Do not mark non-removable
5371         accesses as grp_to_be_debug_replaced.
5373 2013-01-15  Jakub Jelinek  <jakub@redhat.com>
5375         PR tree-optimization/55920
5376         * tree-sra.c (sra_modify_assign): If for lacc->grp_to_be_debug_replaced
5377         there is non-useless type conversion needed from debug rhs to lhs,
5378         use build_debug_ref_for_model and/or VIEW_CONVERT_EXPR.
5380 2013-01-15  Joseph Myers  <joseph@codesourcery.com>
5381             Mikael Pettersson  <mikpe@it.uu.se>
5383         PR target/43961
5384         * config/arm/arm.h (ADDR_VEC_ALIGN): Align SImode jump tables for
5385         Thumb.
5386         (ASM_OUTPUT_CASE_LABEL): Remove.
5387         (ASM_OUTPUT_BEFORE_CASE_LABEL): Define to empty.
5388         * final.c (shorten_branches): Update alignment of labels before
5389         jump tables if CASE_VECTOR_SHORTEN_MODE.
5391 2013-01-15  Richard Biener  <rguenther@suse.de>
5393         PR bootstrap/55961
5394         * system.h: Do not include gmp.h for building host tools.
5396 2013-01-15  Richard Biener  <rguenther@suse.de>
5398         PR middle-end/55882
5399         * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
5400         account for bitpos when computing alignment.
5402 2013-01-15  Vladimir Yakovlev  <vladimir.b.yakovlev@intel.com>
5404         * config/i386/i386-c.c (ix86_target_macros_internal): New case.
5405         (ix86_target_macros_internal): Likewise.
5407         * config/i386/i386.c (m_CORE2I7): Removed.
5408         (m_CORE_HASWELL): New macro.
5409         (m_CORE_ALL): Likewise.
5410         (initial_ix86_tune_features): m_CORE2I7 is replaced by m_CORE_ALL.
5411         (initial_ix86_arch_features): Likewise.
5412         (processor_target_table): Initializations for Core avx2.
5413         (cpu_names): New names "core-avx2".
5414         (ix86_option_override_internal): Changed PROCESSOR_COREI7 by
5415         PROCESSOR_CORE_HASWELL.
5416         (ix86_issue_rate): New case.
5417         (ia32_multipass_dfa_lookahead): Likewise.
5418         (ix86_sched_init_global): Likewise.
5420         * config/i386/i386.h (TARGET_HASWELL): New macro.
5421         (target_cpu_default): New TARGET_CPU_DEFAULT_haswell.
5422         (processor_type): New PROCESSOR_HASWELL.
5424 2013-01-15  Jakub Jelinek  <jakub@redhat.com>
5426         PR tree-optimization/55955
5427         * tree-vect-loop.c (vectorizable_reduction): Give up early on
5428         *SHIFT_EXPR and *ROTATE_EXPR codes.
5430         PR tree-optimization/48766
5431         * opts.c (common_handle_option): For -fwrapv disable -ftrapv, for
5432         -ftrapv disable -fwrapv.
5434 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
5436         PR target/55974
5437         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
5438         etc. to 1 and not to __flash.
5439         Use LL suffix for __INT24_MAX__ with -mint8.
5440         Use ULL suffix for __UINT24_MAX__ with -mint8.
5442 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
5444         * config/avr/avr-arch.h
5445         (struct base_arch_s): Use typedef avr_arch_t instead.
5446         (struct arch_info_s): Use typedef avr_arch_info_t instead.
5447         (struct mcu_type_s): Use typedef avr_mcu_t instead.
5448         * config/avr/avr.c: Same.
5449         * config/avr/avr-devices.c: Same.
5450         * config/avr/driver-avr.c: Same.
5451         * config/avr/gen-avr-mmcu-texi.c: Same.
5452         * config/avr/avr-mcus.def: Adjust comment.
5454 2013-01-14  Tejas Belagod  <tejas.belagod@arm.com>
5456         * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): New.
5457         * config/aarch64/iterators.md (VALLDI): New.
5459 2013-01-14  Uros Bizjak  <ubizjak@gmail.com>
5460             Andi Kleen  <ak@linux.intel.com>
5462         PR target/55948
5463         * config/i386/sync.md (atomic_store<mode>_1): New pattern.
5464         (atomic_store<mode>): Call atomic_store<mode>_1 for IX86_HLE_RELEASE
5465         memmodel flag.
5467 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
5469         * config/avr/avr-stdint.h: Remove trailing blanks.
5470         * config/avr/avr-log.h: Same.
5471         * config/avr/avr-arch.h: Same.
5472         * config/avr/avr-devices.c: Same.
5473         * config/avr/avr-dimode.md: Same.
5474         * config/avr/predicates.md: Same.
5475         * config/avr/avr-c.c: Same.  And fix typo.
5477         * config/avr/avr-protos.h: Same.  And:
5478         (function_arg_regno_p): Rename to avr_function_arg_regno_p.
5479         (init_cumulative_args): Rename to avr_init_cumulative_args.
5480         (expand_prologue): Rename to avr_expand_prologue.
5481         (expand_epilogue): Rename to avr_expand_epilogue.
5482         (adjust_insn_length): Rename to avr_adjust_insn_length.
5483         (notice_update_cc): Rename to avr_notice_update_cc.
5484         (final_prescan_insn): Rename to avr_final_prescan_insn.
5485         * config/avr/avr.c: Same.
5486         * config/avr/avr.h: Same.
5487         * config/avr/avr.md: Remove trailing blanks.
5488         (prologue): Use avr_expand_prologue.
5489         (epilogue, sibcall_epilogue): Use avr_expand_epilogue.
5491 2013-01-14  Richard Biener  <rguenther@suse.de>
5493         * tree-cfg.c (verify_expr_location, verify_expr_location_1,
5494         verify_location, collect_subblocks): New functions.
5495         (verify_gimple_in_cfg): Verify that locations only reference
5496         BLOCKs in the functions BLOCK tree.
5498 2013-01-14  Richard Biener  <rguenther@suse.de>
5500         * tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated
5501         PHI argument.
5502         * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Properly
5503         unshare reference.
5504         (insert_out_of_ssa_copy_on_edge): Likewise.
5505         (rewrite_close_phi_out_of_ssa): Likewise.
5506         * tree-ssa.c (insert_debug_temp_for_var_def): Properly unshare
5507         debug expressions.
5508         * tree-ssa-pre.c (insert_into_preds_of_block): Properly unshare
5509         propagated constants.
5510         * tree-cfg.c (tree_node_can_be_shared): Handled component-refs
5511         can not be shared.
5513 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
5515         * config/avr/avr-modes.def: Add GPL copyright notice.
5517 2013-01-13  Uros Bizjak  <ubizjak@gmail.com>
5519         * config/i386/sync.md (mem_thread_fence): Mask operands[0] with
5520         MEMMODEL_MASK to determine memory model.
5521         (atomic_store<mode>): Ditto from operands[2].
5522         * config/i386/i386.c (ix86_memmodel_check): Declare "strong" as bool.
5524 2013-01-13  Jakub Jelinek  <jakub@redhat.com>
5526         PR fortran/55935
5527         * gimple-fold.c (get_symbol_constant_value): Call unshare_expr.
5528         (fold_gimple_assign): Don't call unshare_expr here.
5529         (fold_ctor_reference): Call unshare_expr.
5531 2013-01-13  Terry Guo  <terry.guo@arm.com>
5533         * Makefile.in (s-mlib): New argument MULTILIB_REUSE.
5534         * doc/fragments.texi: Document MULTILIB_REUSE.
5535         * gcc.c (multilib_reuse): New internal spec.
5536         (set_multilib_dir): Also search multilib from multilib_reuse.
5537         * genmultilib (tmpmultilib3): Refactor code.
5538         (tmpmultilib4): Ditto.
5539         (multilib_reuse): New multilib argument.
5541 2013-01-13  Richard Sandiford  <rdsandiford@googlemail.com>
5543         * Makefile.in: Update copyright.
5545 2013-01-12  Tom de Vries  <tom@codesourcery.com>
5547         PR middle-end/55890
5548         * calls.c (expand_call): Check if arg_nr is valid.
5550 2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
5552         * doc/extend.texi (X86 Built-in Functions): Add whitespace in
5553         __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
5554         documentation.  Add missing '__' in front of
5555         __builtin_ia32_packssdw256.
5557 2013-01-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5559         PR target/55719
5560         * config/s390/s390.c (s390_preferred_reload_class): Do not return
5561         NO_REGS for larl operands.
5562         (s390_reload_larl_operand): Use s390_load_address instead of
5563         emit_move_insn.
5565 2013-01-11  Richard Biener  <rguenther@suse.de>
5567         * tree-cfg.c (verify_node_sharing_1): Split out from ...
5568         (verify_node_sharing): ... here.
5569         (verify_gimple_in_cfg): Use verify_node_sharing_1 for walk_tree.
5571 2013-01-11  Eric Botcazou  <ebotcazou@adacore.com>
5573         * configure.ac (Tree checking): Set TREECHECKING to yes if enabled.
5574         Substitute TREECHECKING.
5575         * configure: Regenerate.
5576         * Makefile.in (TREECHECKING): New.
5578 2013-01-11  Richard Guenther  <rguenther@suse.de>
5580         PR tree-optimization/44061
5581         * tree-vrp.c (extract_range_basic): Compute zero as
5582         value-range for __builtin_constant_p of function parameters.
5584 2013-01-10  Richard Sandiford  <rdsandiford@googlemail.com>
5586         Update copyright years.
5588 2013-01-10  Vladimir Makarov  <vmakarov@redhat.com>
5590         PR rtl-optimization/55672
5591         * lra-eliminations.c (mark_not_eliminable): Permit addition with
5592         const to be eliminable.
5594 2013-01-10  David Edelsohn  <dje.gcc@gmail.com>
5596         * configure.ac (HAVE_AS_TLS): Add check for powerpc-ibm-aix.
5597         * configure: Regenerate.
5599 2013-01-10  Richard Biener  <rguenther@suse.de>
5601         * builtins.c (expand_builtin_init_trampoline): Use set_mem_attributes.
5603 2013-01-10  Richard Biener  <rguenther@suse.de>
5605         PR bootstrap/55792
5606         * tree-into-ssa.c (rewrite_add_phi_arguments): Do not set
5607         locations for virtual PHI arguments.
5608         (rewrite_update_phi_arguments): Likewise.
5610 2013-01-10  Joel Sherrill  <joel.sherrill@OARcorp.com>
5612         * config/v850/rtems.h (ASM_SPEC): Pass -m8byte-align and -mgcc-abi
5613         on to assembler.
5615 2013-01-10  Jakub Jelinek  <jakub@redhat.com>
5617         PR tree-optimization/55921
5618         * tree-complex.c (expand_complex_asm): New function.
5619         (expand_complex_operations_1): Call it for GIMPLE_ASM.
5621 2013-01-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5623         PR target/55718
5624         * config/s390/s390.c (s390_symref_operand_p)
5625         (s390_loadrelative_operand_p): Merge the two functions.
5626         (s390_check_qrst_address, print_operand_address): Add parameters
5627         to s390_loadrelative_operand_p invokation.
5628         (s390_check_symref_alignment): Use s390_loadrelative_operand_p.
5629         (s390_reload_larl_operand, s390_secondary_reload): Use
5630         s390_loadrelative_operand_p instead of s390_symref_operand_p.
5631         (legitimize_pic_address): Handle @GOTENT and @PLT + addend.
5633 2013-01-09  Mike Stump  <mikestump@comcast.net>
5635         * dse.c (record_store): Remove unnecessary assert.
5637 2013-01-09  Jan Hubicka  <jh@suse.cz>
5639         PR tree-optimization/55569
5640         * cfgloopmanip.c (scale_loop_profile): Make ITERATION_BOUND gcov_type.
5641         * cfgloop.h (scale_loop_profile): Likewise.
5643 2013-01-09  Jan Hubicka  <jh@suse.cz>
5645         PR lto/45375
5646         * ipa-inline.c (ipa_inline): Remove extern inlines and virtual
5647         functions.
5648         * cgraphclones.c (cgraph_clone_node): Cpoy also LTO file data.
5650 2013-01-09  Richard Sandiford  <rdsandiford@googlemail.com>
5652         PR middle-end/55114
5653         * expr.h (maybe_emit_group_store): Declare.
5654         * expr.c (maybe_emit_group_store): New function.
5655         * builtins.c (expand_builtin_int_roundingfn): Call it.
5656         (expand_builtin_int_roundingfn_2): Likewise.
5658 2013-01-09  Vladimir Makarov  <vmakarov@redhat.com>
5660         PR rtl-optimization/55829
5661         * lra-constraints.c (match_reload): Add code for absent output.
5662         (curr_insn_transform): Add code for reloads of matched inputs
5663         without output.
5665 2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
5667         * config/i386/sse.md (*vec_interleave_highv2df): Change mode
5668         attribute of movddup insn to DF.
5669         (*vec_interleave_lowv2df): Ditto.
5670         (vec_dupv2df): Ditto.
5672 2013-01-09  Jan Hubicka  <jh@suse.cz>
5674         PR tree-optimiation/55875
5675         * tree-ssa-loop-niter.c (number_of_iterations_cond): Add
5676         EVERY_ITERATION parameter.
5677         (number_of_iterations_exit): Check if exit is executed every iteration.
5678         (idx_infer_loop_bounds): Similarly here.
5679         (n_of_executions_at_most): Simplify
5680         to only test for cases where statement is dominated by the
5681         particular bound; handle correctly the "postdominance" test.
5682         (scev_probably_wraps_p): Use max loop iterations info
5683         as a global bound first.
5685 2013-01-09  Nguyen Duy Dat  <dat.nguyen.yn@rvc.renesas.com>
5686             Nick Clifton  <nickc@redhat.com>
5688         * config/v850/v850.md (cbranchsf4): New pattern.
5689         (cstoresf4): New pattern.
5690         (cbranchdf4): New pattern.
5691         (cstoredf4): New pattern.
5692         (movsicc): Disallow floating point comparisons.
5693         (cmpsf_le_insn): Fix order of operators.
5694         (cmpsf_lt_insn): Likewise.
5695         (cmpsf_eq_insn): Likewise.
5696         (cmpdf_le_insn): Likewise.
5697         (cmpdf_lt_insn): Likewise.
5698         (cmpdf_eq_insn): Likewise.
5699         (cmpsf_ge_insn): Use LE comparison.
5700         (cmpdf_ge_insn): Likewise.
5701         (cmpsf_gt_insn): Use LT comparison.
5702         (cmpdf_gt_insn): Likewise.
5703         (cmpsf_ne_insn): Delete pattern.
5704         (cmpdf_ne_insn): Delete pattern.
5705         * config/v850/v850.c (v850_gen_float_compare): Use
5706         gen_cmpdf_eq_insn for NE comparison.
5707         (v850_float_z_comparison_operator)
5708         (v850_float_nz_comparison_operator): Move from here ...
5709         * config/v850/predicates.md: ... to here.  Move GT and GE
5710         comparisons into v850_float_z_comparison_operator.
5711         * config/v850/v850-protos.h (v850_float_z_comparison_operator):
5712         Delete prototype.
5713         (v850_float_nz_comparison_operator): Likewise.
5715 2013-01-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5717         * config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv
5718         with calls to gen_insvsi/gen_insvdi.
5720 2013-01-09  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
5722         * config/i386/i386.c (initial_ix86_tune_features): Set up
5723         X86_TUNE_AVX128_OPTIMAL for m_BTVER2.
5725 2013-01-09  Steven Bosscher  <steven@gcc.gnu.org>
5726             Jakub Jelinek  <jakub@redhat.com>
5728         PR tree-optimization/48189
5729         * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
5730         If nitercst is 0, don't predict the exit edge.
5732 2013-01-08  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
5734         * config/aarch64/aarch64.c (aarch64_print_operand): Replace %r
5735         in asm_fprintf with reg_names.
5736         (aarch64_print_operand_address): Likewise.
5737         (aarch64_return_addr): Likewise.
5738         * config/aarch64/aarch64.h (ASM_FPRINTF_EXTENSIONS): Remove.
5740 2013-01-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5742         * config/pa/pa.h (VAL_U6_BITS_P): Define.
5743         (INT_U6_BITS): Likewise.
5744         * config/pa/predicates.md (uint6_operand): New predicate.
5745         (shift5_operand, shift6_operand): Likewise.
5746         * config/pa/pa.md (lshrsi3, rotrsi3): Use shift5_operand instead of
5747         arith32_operand.
5748         (lshrdi3): Use shift6_operand.
5749         (shrpsi4, shrpdi4): New insn patterns.
5750         (extzv): Delete expander.
5751         (extzvsi, extzvdi): New expanders.  Use uint5_operand and uint6_operand
5752         predicates in unamed zero extract patterns.  Tighten common constraint.
5753         (extv): Delete expander.
5754         (extvsi, extvdi): New expanders.  Use uint5_operand and uint6_operand
5755         predicates in unamed sign extract patterns.  Tighten common constraint.
5756         (insv): Delete expander.
5757         (insvsi, insvdi): New expanders.  Use uint5_operand and uint6_operand
5758         predicates in unamed insert patterns.  Tighten common constraint.
5759         Change uint32_operand predicate to uint6_operand predicate in unamed
5760         DImode pattern to insert constant values of type 1...1xxxx.
5762 2013-01-04  Jan Hubicka  <jh@suse.cz>
5764         PR tree-optimization/55823
5765         * ipa-prop.c (update_indirect_edges_after_inlining): Fix ordering
5766         issue.
5768 2013-01-08  Jakub Jelinek  <jakub@redhat.com>
5769             Uros Bizjak  <ubizjak@gmail.com>
5771         PR rtl-optimization/55845
5772         * df-problems.c (can_move_insns_across): Stop scanning at
5773         volatile_insn_p source instruction or give up if
5774         across_from .. across_to range contains any volatile_insn_p
5775         instructions.
5777 2013-01-08  Tejas Belagod  <tejas.belagod@arm.com>
5779         * config/aarch64/aarch64-simd.md (vec_init<mode>): New.
5780         * config/aarch64/aarch64-protos.h (aarch64_expand_vector_init):
5781         Declare.
5782         * config/aarch64/aarch64.c (aarch64_simd_dup_constant,
5783         aarch64_simd_make_constant, aarch64_expand_vector_init): New.
5785 2013-01-08  Jakub Jelinek  <jakub@redhat.com>
5787         PR fortran/55341
5788         * asan.c (asan_clear_shadow): New function.
5789         (asan_emit_stack_protection): Use it.
5791 2013-01-08  Tejas Belagod  <tejas.belagod@arm.com>
5793         * config/aarch64/aarch64-simd.md (aarch64_simd_vec_<su>mult_lo_<mode>,
5794         aarch64_simd_vec_<su>mult_hi_<mode>): Separate instruction and operand
5795         with tab instead of space.
5797 2013-01-08  Nick Clifton  <nickc@redhat.com>
5799         * config/rl78/rl78.c (rl78_expand_prologue): Always select
5800         register bank 0 at the start of an interrupt handler.
5801         * config/rl78/rl78.md (mulsi3_g13): Correct values for MDBL and
5802         MDBH registers.
5804 2013-01-08  James Greenhalgh  <james.greenhalgh@arm.com>
5806         * config/aarch64/aarch64-simd.md
5807         (aarch64_simd_bsl<mode>_internal): Add floating-point modes.
5808         (aarch64_simd_bsl): Likewise.
5809         (aarch64_vcond_internal<mode>): Likewise.
5810         (vcond<mode><mode>): Likewise.
5811         (aarch64_cm<cmp><mode>): Fix constraints, add new modes.
5812         * config/aarch64/iterators.md (V_cmp_result): Add V2DF.
5814 2013-01-08  James Greenhalgh  <james.greenhalgh@arm.com>
5816         * config/aarch64/aarch64-builtins.c
5817         (aarch64_builtin_vectorized_function): Handle sqrt, sqrtf.
5819 2013-01-08  Martin Jambor  <mjambor@suse.cz>
5821         PR debug/55579
5822         * tree-sra.c (analyze_access_subtree): Return true also after
5823         potentially creating a debug-only replacement.
5825 2013-01-08  Jakub Jelinek  <jakub@redhat.com>
5827         PR middle-end/55890
5828         * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_p.
5830         PR tree-optimization/54120
5831         * tree-vrp.c (range_fits_type_p): Don't allow
5832         src_precision < precision from signed vr to unsigned_p
5833         if vr->min or vr->max is negative.
5834         (simplify_float_conversion_using_ranges): Test can_float_p
5835         against CODE_FOR_nothing.
5837 2013-01-08  Jakub Jelinek  <jakub@redhat.com>
5838             Richard Biener  <rguenther@suse.de>
5840         PR middle-end/55851
5841         * fold-const.c (int_binop_types_match_p): Allow all INTEGRAL_TYPE_P
5842         types instead of just INTEGER_TYPE types.
5844 2013-01-07  Mark Kettenis  <kettenis@openbsd.org>
5846         * config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT,
5847         TF_SIZE): Define.
5849 2013-01-07  Steve Ellcey  <sellcey@mips.com>
5851         PR target/42661
5852         * config/mips/mips.opt: Change mad to mmad to match documentation.
5854 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
5856         PR target/55897
5857         * doc/extend.texi (AVR Named Address Spaces): __memx goes into
5858         .progmemx.data now.
5860 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
5862         PR target/55897
5863         * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
5864         (avr_addrspace_t): Add .section_name field.
5865         * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
5866         array size.
5867         (avr_addrspace): Same.  Initialize .section_name.  Remove last
5868         NULL entry.  Put __memx into .progmemx.data.
5869         (progmem_section_prefix): Remove.
5870         (avr_asm_init_sections): No need to initialize progmem_section.
5871         (avr_asm_named_section): Use avr_addrspace[].section_name to get
5872         section name prefix.
5873         (avr_asm_select_section): Ditto.  And use get_unnamed_section to
5874         retrieve the progmem section.
5875         * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
5876         boundary to run over avr_addrspace[].
5877         (avr_register_target_pragmas): Ditto.
5879 2013-01-06  Jakub Jelinek  <jakub@redhat.com>
5881         * varasm.c (output_constant_def_contents): For asan_protect_global
5882         protected strings, adjust DECL_ALIGN if needed, before testing for
5883         anchored symbols.
5884         (place_block_symbol): Adjust size for asan protected STRING_CSTs if
5885         TREE_CONSTANT_POOL_ADDRESS_P.  Increase alignment for asan protected
5886         normal decls.
5887         (output_object_block): For asan protected decls, emit asan padding
5888         after their contents.
5889         * asan.c (asan_protect_global): Don't check TREE_ASM_WRITTEN here.
5890         (asan_finish_file): Test it here instead.
5892 2013-01-07  Nick Clifton  <nickc@redhat.com>
5893             Matthias Klose  <doko@debian.org>
5894             Doug Kwan  <dougkwan@google.com>
5895             H.J. Lu  <hongjiu.lu@intel.com>
5897         PR driver/55470
5898         * collect2.c (main): Support -fuse-ld=bfd and -fuse-ld=gold.
5900         * common.opt: Add fuse-ld=bfd and fuse-ld=gold.
5902         * gcc.c (LINK_COMMAND_SPEC): Pass -fuse-ld=* to collect2.
5904         * opts.c (comman_handle_option): Ignore -fuse-ld=bfd and -fuse-ld=gold.
5906         * doc/invoke.texi: Document -fuse-ld=bfd and -fuse-ld=gold.
5908 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
5910         PR target/54461
5911         * doc/install.texi (Cross-Compiler-Specific Options): Document
5912         --with-avrlibc.
5914 2013-01-07  Tejas Belagod  <tejas.belagod@arm.com>
5916         * config/aarch64/arm_neon.h (vmovn_high_is16, vmovn_high_s32,
5917         vmovn_high_s64, vmovn_high_u16, vmovn_high_u32, vmovn_high_u64,
5918         vqmovn_high_s16, vqmovn_high_s32, vqmovn_high_s64, vqmovn_high_u16,
5919         vqmovn_high_u32, vqmovn_high_u64, vqmovun_high_s16, vqmovun_high_s32,
5920         vqmovun_high_s64): Fix source operand number and update copyright.
5922 2013-01-07  Richard Biener  <rguenther@suse.de>
5924         PR middle-end/55890
5925         * gimple.h (gimple_call_builtin_p): New overload.
5926         * gimple.c (validate_call): New function.
5927         (gimple_call_builtin_p): Likewise.
5928         * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
5929         Use gimple_call_builtin_p.
5930         (find_func_clobbers): Likewise.
5931         * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
5932         (strlen_optimize_stmt): Likewise.
5934 2013-01-07  James Greenhalgh  <james.greenhalgh@arm.com>
5936         * config/aarch64/arm_neon.h (vld1_dup_*): Make argument const.
5937         (vld1q_dup_*): Likewise.
5938         (vld1_*): Likewise.
5939         (vld1q_*): Likewise.
5940         (vld1_lane_*): Likewise.
5941         (vld1q_lane_*): Likewise.
5943 2013-01-07  Richard Biener  <rguenther@suse.de>
5945         * lto-streamer.h (LTO_minor_version): Bump to 2.
5947 2013-01-07  James Greenhalgh  <james.greenhalgh@arm.com>
5949         * config/aarch64/aarch64-protos.h
5950         (aarch64_const_double_zero_rtx_p): Rename to...
5951         (aarch64_float_const_zero_rtx_p): ...this.
5952         (aarch64_float_const_representable_p): New.
5953         (aarch64_output_simd_mov_immediate): Likewise.
5954         * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Refactor
5955         move immediate case.
5956         * config/aarch64/aarch64.c
5957         (aarch64_const_double_zero_rtx_p): Rename to...
5958         (aarch64_float_const_zero_rtx_p): ...this.
5959         (aarch64_print_operand): Allow printing of new constants.
5960         (aarch64_valid_floating_const): New.
5961         (aarch64_legitimate_constant_p): Check for valid floating-point
5962         constants.
5963         (aarch64_simd_valid_immediate): Likewise.
5964         (aarch64_vect_float_const_representable_p): New.
5965         (aarch64_float_const_representable_p): Likewise.
5966         (aarch64_simd_imm_zero_p): Also allow for floating-point 0.0.
5967         (aarch64_output_simd_mov_immediate): New.
5968         * config/aarch64/aarch64.md (*movsf_aarch64): Add new alternative.
5969         (*movdf_aarch64): Likewise.
5970         * config/aarch64/constraints.md (Ufc): New.
5971         (Y): call aarch64_float_const_zero_rtx.
5972         * config/aarch64/predicates.md (aarch64_fp_compare_operand): New.
5974 2013-01-07  Richard Biener  <rguenther@suse.de>
5976         PR tree-optimization/55888
5977         PR tree-optimization/55862
5978         * tree-ssa-pre.c (phi_translate_1): Revert previous change.
5979         (valid_in_sets): Check if a NAME has a leader in AVAIL_OUT,
5980         not if it is contained therein.
5982 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
5984         * config/avr/t-avr: Typo.
5986 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
5988         PR55243
5989         * config/avr/t-avr: Don't automatically rebuild
5990         $(srcdir)/config/avr/t-multilib
5991         $(srcdir)/config/avr/avr-tables.opt
5992         $(srcdir)/doc/avr-mmcu.texi
5993         (avr-mcus): New phony target to build them on request.
5994         (s-avr-mlib, s-avr-mmcu-texi): Remove.
5995         * avr/avr-mcus.def: Adjust comments.
5997 2013-01-07  Uros Bizjak  <ubizjak@gmail.com>
5999         * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.
6001 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
6003         * file-find.c, file-find.h, realmpfr.c: Add FSF as copyright holder.
6005 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
6007         * config/tilepro/gen-mul-tables.cc: Put copyright on one line.
6009 2013-01-05  David Edelsohn  <dje.gcc@gmail.com>
6011         * config/rs6000/aix53.h (LIB_SPEC): Add -lpthreads when compiling
6012         to generate profiling.
6013         * config/rs6000/aix64.h (LIB_SPEC): Same.
6015 2013-01-04  Andrew Pinski  <apinski@cavium.com>
6017         * config/aarch64/aarch64.c (aarch64_fixed_condition_code_regs):
6018         New function.
6019         (TARGET_FIXED_CONDITION_CODE_REGS): Define.
6021 2013-01-04  Uros Bizjak  <ubizjak@gmail.com>
6023         * config/i386/i386.c (ix86_legitimize_address): Call convert_to_mode
6024         unconditionally.
6025         (ix86_expand_move): Ditto.
6026         (ix86_zero_extend_to_Pmode): Ditto.
6027         (ix86_expand_call): Ditto.
6028         (ix86_expand_special_args_builtin): Ditto.
6029         (ix86_expand_builtin): Ditto.
6031 2013-01-04  Richard Biener  <rguenther@suse.de>
6033         PR tree-optimization/55862
6034         * tree-ssa-pre.c (phi_translate_1): Valueize SSA names after
6035         translating them through PHI nodes.
6037 2013-01-04  Martin Jambor  <mjambor@suse.cz>
6039         PR tree-optimization/55755
6040         * tree-sra.c (sra_modify_assign): Do not check that an access has no
6041         children when trying to avoid producing a VIEW_CONVERT_EXPR.
6043 2013-01-04  Marek Polacek  <polacek@redhat.com>
6045         PR middle-end/55859
6046         * opts.c (default_options_optimization): Clarify error message.
6048 2013-01-04  Richard Biener  <rguenther@suse.de>
6050         PR middle-end/55863
6051         * fold-const.c (split_tree): Undo -X - 1 to ~X folding for
6052         reassociation.
6054 2013-01-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6056         PR target/53789
6057         * config/pa/pa.md (movsi): Revert previous change.
6058         * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
6059         references.
6061 2013-01-03  Richard Henderson  <rth@redhat.com>
6063         * config/i386/i386.c (ix86_expand_move): Always assign to op1
6064         after eliminating TLS symbols.
6066 2013-01-03  Marc Glisse  <marc.glisse@inria.fr>
6068         PR bootstrap/50167
6069         * graphite-interchange.c (pdr_stride_in_loop): Use gmp_fprintf.
6070         * graphite-poly.c (debug_gmp_value): Likewise.
6072 2013-01-03  Uros Bizjak  <ubizjak@gmail.com>
6074         PR target/55712
6075         * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
6076         selected code model, define __code_mode_small__, __code_model_medium__,
6077         __code_model_large__, __code_model_32__ or __code_model_kernel__.
6078         * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
6079         xchg temporary register with %k.  Declare temporary register as
6080         early clobbered.
6081         [__x86_64__]: For medium and large code models, preserve %rbx register.
6083 2013-01-03  Richard Biener  <rguenther@suse.de>
6085         * tree-data-ref.c (dump_conflict_function): Use less vertical spacing.
6086         (dump_subscript): Adjust.
6087         (finalize_ddr_dependent): Do not dump redundant info.
6088         (analyze_siv_subscript): Adjust.
6089         (subscript_dependence_tester): Likewise.
6090         (compute_affine_dependence): Likewise.
6092 2013-01-03  Richard Biener  <rguenther@suse.de>
6094         Revert
6095         2013-01-03  Richard Biener  <rguenther@suse.de>
6097         PR tree-optimization/55857
6098         * tree-vect-stmts.c (vectorizable_load): Do not setup
6099         re-alignment for invariant loads.
6101         2013-01-02  Richard Biener  <rguenther@suse.de>
6103         * tree-vect-stmts.c (vectorizable_load): When vectorizing an
6104         invariant load do not generate a vector load from the scalar location.
6106 2013-01-03  Richard Biener  <rguenther@suse.de>
6108         * tree-vect-loop.c (vect_analyze_loop_form): Clarify reason
6109         for not vectorizing.
6110         * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
6111         not build INDIRECT_REFs, call get_name once only.
6112         (vect_create_data_ref_ptr): Likewise.  Dump base object kind
6113         based on DR_BASE_OBJECT, not DR_BASE_ADDRESS.
6115 2013-01-03  Richard Biener  <rguenther@suse.de>
6117         PR tree-optimization/55857
6118         * tree-vect-stmts.c (vectorizable_load): Do not setup
6119         re-alignment for invariant loads.
6121 2013-01-03  Richard Biener  <rguenther@suse.de>
6123         PR lto/55848
6124         * lto-symtab.c (lto_symtab_merge_decls_1): As last resort, always
6125         prefer a built-in decl.
6127 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
6129         * gcc.c (process_command): Update copyright notice dates.
6130         * gcov.c (print_version): Likewise.
6131         * gcov-dump.c (print_version): Likewise.
6133         PR rtl-optimization/55838
6134         * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
6135         iv0.step, iv1.step and step.
6137 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
6138             Marc Glisse  <marc.glisse@inria.fr>
6140         PR tree-optimization/55832
6141         * fold-const.c (fold_binary_loc): For ABS_EXPR<x> >= 0 and
6142         ABS_EXPR<x> < 0 folding use constant_boolean_node instead of
6143         integer_{one,zero}_node.
6145 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
6147         PR debug/54402
6148         * params.def (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE): New param.
6149         * var-tracking.c (reverse_op): Don't add reverse ops to
6150         VALUEs that have already
6151         PARAM_VALUE (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE) or longer locs list.
6153 2013-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
6155         * doc/contrib.texi: Note years as release manager for Mark Mitchell.
6157 2013-01-02  Teresa Johnson  <tejohnson@google.com>
6159         * dumpfile.c (dump_loc): Print filename with location.
6160         * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Use
6161         new location_t parameter to emit complete unroll message with
6162         new dump framework.
6163         (canonicalize_loop_induction_variables): Compute loops location
6164         and pass to try_unroll_loop_completely.
6165         * loop-unroll.c (report_unroll_peel): New function.
6166         (peel_loops_completely): Use new dump format with location
6167         for main dumpfile message, and invoke report_unroll_peel on success.
6168         (decide_unrolling_and_peeling): Ditto.
6169         (decide_peel_once_rolling): Remove old dumpfile message subsumed
6170         by report_unroll_peel.
6171         (decide_peel_completely): Ditto.
6172         (decide_unroll_constant_iterations): Ditto.
6173         (decide_unroll_runtime_iterations): Ditto.
6174         (decide_peel_simple): Ditto.
6175         (decide_unroll_stupid): Ditto.
6176         * cfgloop.c (get_loop_location): New function.
6177         * cfgloop.h (get_loop_location): Declare.
6179 2013-01-02  Sriraman Tallam  <tmsriram@google.com>
6181         * config/i386/i386.c (fold_builtin_cpu): Remove unnecessary checks for
6182         NULL.
6184 2013-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6186         PR middle-end/55198
6187         * expr.c (expand_expr_real_1): Don't use bitfield extraction for non
6188         BLKmode objects when EXPAND_MEMORY is specified.
6190 2013-01-02  Sriraman Tallam  <tmsriram@google.com>
6192         * config/i386/i386.c (ix86_get_function_versions_dispatcher): Fix bug
6193         in loop predicate.
6194         (fold_builtin_cpu): Do not share cpu model decls across statements.
6196 2013-01-02  Jason Merrill  <jason@redhat.com>
6198         PR c++/55804
6199         * tree.c (build_array_type_1): Revert earlier change.
6201 2013-01-02  Yufeng Zhang  <yufeng.zhang@arm.com>
6203         * config/aarch64/aarch64-cores.def: Add entries for "cortex-a53" and
6204         "cortex-a57".
6205         * config/aarch64/aarch64-tune.md: Re-generate.
6207 2013-01-02  Richard Biener  <rguenther@suse.de>
6209         * tree-vect-stmts.c (vectorizable_load): When vectorizing an
6210         invariant load do not generate a vector load from the scalar location.
6212 2013-01-02  Richard Biener  <rguenther@suse.de>
6214         PR bootstrap/55784
6215         * configure.ac: Add $GMPINC to CFLAGS/CXXFLAGS.
6216         * configure: Regenerate.
6218 2013-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
6220         * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2)
6221         (expand_builtin_mathfn_ternary, expand_builtin_mathfn_3)
6222         (expand_builtin_int_roundingfn_2): Keep the original target around
6223         for the fallback case.
6225 2013-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
6227         * tree-vrp.c (range_fits_type_p): Require the MSB of the double_int
6228         to be clear for sign changes.
6230 2013-01-01  Jan Hubicka  <jh@suse.cz>
6232         * ipa-inline-analysis.c: Fix formatting.
6234 2013-01-01  Jakub Jelinek  <jakub@redhat.com>
6236         PR tree-optimization/55831
6237         * tree-vect-loop.c (get_initial_def_for_induction): Use
6238         gsi_after_labels instead of gsi_start_bb.
6240 Copyright (C) 2013 Free Software Foundation, Inc.
6242 Copying and distribution of this file, with or without modification,
6243 are permitted in any medium without royalty provided the copyright
6244 notice and this notice are preserved.