OSDN Git Service

Backport from mainline:
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index b4477dc..fe7e966 100644 (file)
+2012-06-15  Walter Lee <walt@tilera.com>
+
+       Backport from mainline:
+        2012-06-15  Walter Lee  <walt@tilera.com>
+       * config/tilegx/sync.md (atomic_fetch_<fetchop_name><mode>):
+          Fix typo.
+        2012-06-14  Maxim Kuvyrkov  <maxim@codesourcery.com>
+       * config/tilegx/sync.md (atomic_fetch_sub<mode>): Fix typo.
+
+2012-06-15  Aldy Hernandez  <aldyh@redhat.com>
+
+       Backport from mainline:
+
+       2012-05-31  Aldy Hernandez  <aldyh@redhat.com>
+       * tree-ssa-loop-im.c (execute_sm): Do not check flag_tm.
+       * gimple.h (block_in_transaction): Check for flag_tm.
+
+2012-06-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/52558
+
+       Backport from mainline:
+       2012-05-21  Aldy Hernandez  <aldyh@redhat.com>
+       * gimple.h (gimple_set_in_transaction): Remove.
+       (gimple_in_transaction): Look in BB instead.
+       (gimple_statement_base): Remove in_transaction field.
+       * basic-block.h (enum bb_flags): Add BB_IN_TRANSACTION.
+       * trans-mem.c (compute_transaction_bits): Place transaction bit
+       information into basic blocks.
+
+       2012-05-31  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/52558
+       * cfg.c (alloc_aux_for_edge): Fix comment.
+       (alloc_aux_for_edge): Remove static.
+       * basic-block.h (alloc_aux_for_edge): Protoize.
+       * tree-ssa-loop-im.c (execute_sm_if_changed): New.
+       (execute_sm_if_changed_flag): New.
+       (execute_sm_if_changed_flag_set): New.
+       (execute_sm): Do not generate data races unless requested.
+       (tree_ssa_lim_initialize): Call alloc_aux_for_edges.
+       (tree_ssa_lim_finalize): Call free_aux_for_edges.
+       * gimple.h (block_in_transaction): New.
+       (gimple_in_transaction): Use block_in_transaction.
+
+2012-06-14  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       2012-06-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/53589
+       * cfgrtl.c (force_nonfallthru_and_redirect): Do asm_goto_edge
+       discovery even when e->dest != target.  If any LABEL_REF points
+       to e->dest label, redirect it to target's label.
+
+       2012-06-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/53580
+       * omp-low.c (scan_omp_1_stmt): If check_omp_nesting_restrictions
+       returns false, replace stmt with GIMPLE_NOP.
+       (check_omp_nesting_restrictions): Instead of issuing warnings,
+       issue errors and return false if any errors were reported.
+
+2012-06-14  Richard Guenther  <rguenther@suse.de>
+
+       * BASE-VER: Set to 4.7.2.
+       * DEV-PHASE: Set to prerelease.
+
+2012-06-12  Christian Bruel  <christian.bruel@st.com>
+
+       PR target/53621
+       * config/sh/sh.c (sh_option_override): Don't force
+        flag_omit_frame_pointer and maccumulate_outgoing_args.
+       * config/sh/sh.opt (maccumulate-outgoing-args): Init as Var.
+
+2012-06-14  Release Manager
+
+       * GCC 4.7.1 released.
+
+2012-06-13  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/ia64/sync.md (fetchop_name): Change ior attribute to "or".
+
+2012-06-13  Richard Henderson  <rth@redhat.com>
+
+       * config/rs6000/sync.md (atomic_load, atomic_store): Use INT1 mode
+       iterator instead of INT.
+
+2012-06-08  Richard Henderson  <rth@redhat.com>
+
+       PR c++/53602
+       * combine-stack-adj.c (force_move_args_size_note): Add ARGS_SIZE
+       note to a clobber insn when no other insn is available.
+
+2012-06-04  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/53524
+       * doc/invoke.texi (Wenum-compare): Update documentation.
+
+2012-06-04  Edmar Wienskoski  <edmar@freescale.com>
+
+       PR target/53559
+       * config/rs6000/altivec.md (altivec_stvlx): Change machine mode of
+       operands.
+       (altivec_stvlxl): Ditto.
+       (altivec_stvrx): Ditto.
+       (altivec_stvrxl): Ditto.
+
+2012-06-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR middle-end/47530
+       * trans-mem.c (expand_block_edges): Do not skip the first
+       statement when resetting the BB.
+
+2012-06-04  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/53471
+       * dwarf2out.c (dwarf2out_finish): If generating LTO do not
+       create new assembler names.
+
+2012-06-04  Richard Guenther  <rguenther@suse.de>
+
+       Backport from mainline
+       2012-04-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/52979
+       * stor-layout.c (get_best_mode): Don't return mode with bitsize
+       larger than maxbits.  Don't compute maxbits modulo align.
+       Also check that unit bytes long store at bitpos / unit * unit
+       doesn't affect bits beyond bitregion_end.
+       * expmed.c (store_bit_field_1): Avoid trying insv if OP_MODE MEM
+       would not fit into bitregion_start ... bitregion_end + 1 bit
+       region.
+       (store_split_bit_field): Decrease unit close to end of bitregion_end
+       if access is restricted in order to avoid mutual recursion.
+
+2012-06-04  Georg-Johann Lay  <avr@gjlay.de>
+
+       Backport from 2012-06-04 mainline r188172
+
+       PR target/46261
+       * config/avr/avr-stdint.h: New file.
+       * config.gcc (avr-*-*,tm_file): Use avr/avr-stdint.h instead of
+       newlib-stdint.h
+
+2012-06-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/53550
+       * tree-ssa-loop-niter.c (number_of_iterations_cond): If type
+       is POINTER_TYPE_P, use sizetype as step type instead of type.
+
+2012-06-04  Richard Guenther  <rguenther@suse.de>
+           Eric Botcazou  <ebotcazou@adacore.com>
+
+       Backport from mainline
+       2012-04-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * expr.c (get_bit_range): Add OFFSET parameter and adjust BITPOS.
+       Change type of BITOFFSET to signed.  Make sure the lower bound of
+       the computed range is non-negative by adjusting OFFSET and BITPOS.
+       (expand_assignment): Adjust call to get_bit_range.
+
+       2012-03-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * expr.c (get_bit_range): Return the null range if the enclosing record
+       is part of a larger bit field.
+
+       2012-03-20  Richard Guenther  <rguenther@suse.de>
+
+       * stor-layout.c (finish_bitfield_representative): Fallback
+       to conservative maximum size if the padding up to the next
+       field cannot be computed as a constant.
+       (finish_bitfield_layout): If we cannot compute the distance
+       between the start of the bitfield representative and the
+       bitfield member start a new representative.
+       * expr.c (get_bit_range): The distance between the start of
+       the bitfield representative and the bitfield member is zero
+       if the field offsets are not constants.
+
+       2012-03-16  Richard Guenther  <rguenther@suse.de>
+
+       * stor-layout.c (finish_bitfield_representative): Fall back
+       to the conservative maximum size if we cannot compute the
+       size of the tail padding.
+
+       2012-03-14  Richard Guenther  <rguenther@suse.de>
+
+       * tree.h (DECL_BIT_FIELD_REPRESENTATIVE): New define.
+       * stor-layout.c (start_bitfield_representative): New function.
+       (finish_bitfield_representative): Likewise.
+       (finish_bitfield_layout): Likewise.
+       (finish_record_layout): Call finish_bitfield_layout.
+       * tree.c (free_lang_data_in_decl): Only free DECL_QUALIFIER
+       for QUAL_UNION_TYPE fields.
+       * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
+       Stream DECL_BIT_FIELD_REPRESENTATIVE.
+       * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
+
+       PR middle-end/52080
+       PR middle-end/52097
+       PR middle-end/48124
+       * expr.c (get_bit_range): Unconditionally extract bitrange
+       from DECL_BIT_FIELD_REPRESENTATIVE.
+       (expand_assignment): Adjust call to get_bit_range.
+
+2012-06-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR middle-end/53501
+       * fold-const.c (fold_binary_loc): Refine previous change.
+
+2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       Backport from mainline
+       2012-03-27  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       PR target/52667
+       * config/sh/sh.c (find_barrier): Add equality check of last_got to
+       avoid going above orig insn.  Update comments.
+
+2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       Backport from mainline
+       2012-03-21  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/52642
+       * config/sh/sh.c (sh_expand_prologue): Emit blockage at the end of
+       prologue for unwinder and profiler.
+
+2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       Backport from mainline
+       2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.md (abssi2): Add TARGET_SH1 condition.
+
+2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       Backport from mainline
+       2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (sh_dwarf_register_span): Don't apply
+       DBX_REGISTER_NUMBER.
+
+2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       Backport from mainline
+       2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (shiftcosts): Return MAX_COST when the first
+       operand is CONST_INT.  Take COSTS_N_INSNS into account.
+       (sh_rtx_costs): Don't apply COSTS_N_INSNS to the return value of
+       shiftcosts.     
+
+2012-05-31  Georg-Johann Lay  <avr@gjlay.de>
+
+       * config/avr/avr.opt (-msp8): Document it.
+       * doc/invoke.texi (AVR Options): Copy from trunk docu.
+
+2012-05-31  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/48493
+       * expr.c (expand_assignment): Do not use movmisalign on
+       non-memory.
+
+2012-05-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR target/52999
+       * config/pa/pa.c (TARGET_SECTION_TYPE_FLAGS): Define.
+       (pa_section_type_flags): New.
+       (pa_legitimate_constant_p): Revert previous change.
+
+2012-05-30  Aldy Hernandez  <aldyh@redhat.com>
+
+       Backport from mainline
+       2012-05-25  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR middle-end/53008
+       * trans-mem.c (ipa_tm_create_version_alias): Output new_node if
+       accessed indirectly.
+       (ipa_tm_create_version): Same.
+
+2012-05-30  Jason Merrill  <jason@redhat.com>
+
+       PR c++/53220
+       * c-typeck.c (array_to_pointer_conversion): Give -Wc++-compat warning
+       about array compound literals.
+
+2012-05-30  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/53501
+       * fold-const.c (fold_binary_loc): Make sure to call
+       fold_plusminus_mult_expr with the original sign of operands.
+
+2012-05-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * explow.c (probe_stack_range): Restore simple control flow and stop
+       again when the probe cannot be generated if HAVE_check_stack.
+
+2012-05-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/53519
+       * combine.c (simplify_shift_const_1) <case NOT>: Use constm1_rtx
+       instead of GEN_INT (GET_MODE_MASK (mode)) as second operand of XOR.
+
+2012-05-29  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/53516
+       * tree-data-ref.c (stmt_with_adjacent_zero_store_dr_p): Reject
+       bitfield accesses.
+       * tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
+
+2012-05-28  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       Backport from mainline
+       2012-05-28  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/53438
+       * tree-sra.c (analyze_access_subtree): Correct bitfield exclusion.
+
+2012-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       Backport from mainline
+       2012-03-10  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       PR rtl-optimization/52528
+       * combine.c (can_combine_p): Add setting of subst_low_luid
+       before call to expand_field_assignment().
+
+2012-05-26  Martin Jambor  <mjambor@suse.cz>
+
+       Backport from mainline
+       2012-05-23  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-inline-analysis.c (inline_merge_summary): Free operand_map.
+
+2012-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR lto/52178
+       * tree-inline.c (remap_gimple_op_r): Fix handling of FIELD_DECL.
+       * tree.c (RETURN_TRUE_IF_VAR): Do not return true for PLACEHOLDER_EXPR.
+
+2012-05-25  Alexander Ivchenko  <alexander.ivchenko@intel.com>
+
+       PR target/53435
+       * config/i386/i386.c (ix86_expand_vec_perm): Use correct op.
+       (ix86_expand_vec_perm): Use int mode instead of float.
+
+2012-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/52362
+       * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Set gas and
+       gnu_ld variables to yes.
+       * configure.ac (HAVE_GNU_LD): Move to after config.gcc inclusion.
+       (HAVE_GNU_AS): Likewise.
+       * config.in: Regenerate.
+       * configure: Likewise.
+
+2012-05-25  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
+
+       Backport from mainline
+       2012-03-12  Richard Guenther  <rguenther@suse.de>
+       * config/arm/arm.c (neon_dereference_pointer): Do not call
+       covert during RTL expansion.
+
+2012-05-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       Backport from mainline
+       2012-05-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       PR target/53385
+       * config/rs6000/rs6000.c (print_operand): Revise code that unsafely
+       relied on signed overflow behavior.
+
+2012-05-24  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/53460
+       * tree-profile.c (tree_profiling): Cleanup the CFG if
+       execute_fixup_cfg requests it.
+
+2012-05-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/53465
+       * tree-vrp.c (extract_range_from_cond_expr): First copy_value_range
+       vr0 into *vr, then vrp_meet that.
+       (vrp_meet): If one vr type is VR_UNDEFINED, ensure the result doesn't
+       have any equivalences.
+       (vrp_visit_phi_node): Call copy_value_range instead of vrp_meet the
+       first time.
+
+2012-05-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimple.c (gimple_types_compatible_p_1) <ARRAY_TYPE>: Remove bogus
+       size handling.
+       (gimple_canonical_types_compatible_p) <ARRAY_TYPE>: Likewise.
+       (iterative_hash_gimple_type): Adjust comment.
+       (iterative_hash_canonical_type): Likewise.  Hash the bounds of the
+       domain for an array type instead of the domain type itself.
+
+2012-05-23  Georg-Johann Lay  <avr@gjlay.de>
+
+       Backport from 2012-05-23 mainline r187803
+
+       PR target/53448
+       * config/avr/avr.h (ASM_OUTPUT_ALIGN): Don't inhibit .p2align 1.
+       * config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Use
+       ASM_OUTPUT_ALIGN.
+
+2012-05-23  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
+
+       Backport from 2012-05-03 mainline r187075
+
+       * config/i386/driver-i386.c (host_detect_local_cpu): Reset
+       has_fma4 for AMD processors with both fma3 and fma4 support.
+
+2012-05-22  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/53408
+       * tree-vect-loop.c (vectorizable_induction): Properly check
+       the restriction that we cannot handle induction results from
+       the inner loop outside of the outer loop.
+
+2012-05-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/53436
+       * omp-low.c (omp_build_component_ref): New function.
+       (build_receiver_ref, build_sender_ref, create_task_copyfn): Use it.
+
+       PR tree-optimization/53366
+       * tree-vect-slp.c (vect_supported_load_permutation_p): Don't shortcut
+       tests if complex_numbers == 2, but there are non-complex number loads
+       too.
+
+       PR tree-optimization/53409
+       * tree-vect-loop.c (vect_analyze_loop_operations): Don't check
+       vinfo_for_stmt (op_def_stmt) if op_def_stmt isn't inside loop.
+
+       PR tree-optimization/53410
+       * fold-const.c (fold_binary_loc): Use build_zero_cst (type)
+       instead of build_int_cst (type, 0) where vector types might be
+       involved.
+
+2012-05-21  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/53418
+       * c-typeck.c (build_conditional_expr): Remove C_MAYBE_CONST_EXPR
+       from folded operands before wrapping another around the
+       conditional expression.
+
+2012-05-21  Dave Boutcher  <daveboutcher@gmail.com>
+           Patrick Marlier  <patrick.marlier@gmail.com>
+
+       * trans-mem.c (ipa_tm_transform_clone): Transform functions with
+       indirect calls.
+
+2012-05-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       Backport from mainline
+       2012-05-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/53416
+       * config/i386/i386.md (UNSPEC_RDRAND): Renamed to ...
+       (UNSPECV_RDRAND): This.
+       (rdrand<mode>_1): Updated.
+
+2012-05-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+       Backport from mainline
+       2012-05-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/driver-i386.c (host_detect_local_cpu): Support
+       RDRND, F16C and FSGSBASE.
+
+2012-05-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       Backport from mainline
+       2012-05-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-ssa-pre.c (can_value_number_call): Delete.
+       (compute_avail): Skip all statements with side effects.
+       <GIMPLE_CALL>: Skip calls to internal functions.
+
+2012-05-18  David S. Miller  <davem@davemloft.net>
+
+       Backport r185385 from mainline
+       2012-03-14  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/52584
+       * tree-vect-generic.c (type_for_widest_vector_mode): Take
+       element type instead of mode, use build_vector_type_for_mode
+       instead of the langhook, build a vector of proper signedness.
+       (expand_vector_operations_1): Adjust.
+
+2012-05-18  Olivier Hainque  <hainque@adacore.com>
+
+       * Makefile.in (FLAGS_TO_PASS): Pass $(libexecsubdir) instead of
+       $(libsubdir) as libexecsubdir.
+
+2012-05-16  Andrew Pinski  <apinski@cavium.com>
+
+       * gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under
+       GIMPLE_ASSIGN.
+
+2012-05-16  David S. Miller  <davem@davemloft.net>
+
+       * jump.c (delete_related_insns): If we remove a CALL, make sure
+       we delete it's NOTE_INSN_CALL_ARG_LOCATION note too.
+
+2012-05-16  Richard Henderson  <rth@redhat.com>
+
+       PR debug/52727
+       * combine-stack-adj.c (prev_active_insn_bb): New.
+       (next_active_insn_bb): New.
+       (force_move_args_size_note): New.
+       (combine_stack_adjustments_for_block): Use it.
+
+2012-05-16  Olivier Hainque  <hainque@adacore.com>
+
+       * Makefile.in (install-no-fixedincludes): New target, former toplevel
+       gcc-no-fixedincludes. Stash "include-fixed" in addition to "include".
+       Add comments and improve stamp preservation across the whole sequence.
+       (stmp-int-hdrs): Use move-if-change + cp -p to setup fix_dir/limits.h.
+
+2012-05-16  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/53364
+       * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly
+       detect a view-conversion of the decl.
+
+2012-05-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/53358
+       * config/i386/i386.md (*addqi_2 peephole with QImode addition): Check
+       that operands[2] is either immediate, or q_regs_operand.
+
+2012-05-15  Bin Cheng  <bin.cheng@arm.com>
+
+       Backport r187139 from mainline.
+       2012-05-04  Bin Cheng  <bin.cheng@arm.com>
+
+       PR rtl-optimization/52804
+       * reload1.c (reload_reg_reaches_end_p): Check whether successor
+       reload with type RELOAD_FOR_INPUT_ADDRESS kills reload register
+       of current one with type RELOAD_FOR_INPADDR_ADDRESS.
+       Same stands for reloads with type RELOAD_FOR_OUTPUT_ADDRESS and
+       RELOAD_FOR_OUTADDR_ADDRESS.
+
+2012-05-14  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/46098
+       * config/i386/i386.c (ix86_expand_special_args_builtin): Always
+       generate target register for "load" class builtins.
+
+       Revert:
+       2010-10-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/46098
+       * config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
+       Rename from avx_movu<ssemodesuffix><avxmodesuffix>.
+       (avx_movu<ssemodesuffix><avxmodesuffix>): New expander.
+       (*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>.
+       (<sse>_movu<ssemodesuffix>): New expander.
+       (*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
+       (avx_movdqu<avxmodesuffix>): New expander.
+       (*sse2_movdqu): Rename from sse2_movdqu.
+       (sse2_movdqu): New expander.
+
+2012-05-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (dwarf2out_define, dwarf2out_undef): Treat
+       lineno 1 the same as lineno 0 before first start file directive.
+       (optimize_macinfo_range): Likewise.
+
+       * dwarf2out.c (have_macinfo): Define.
+       (dwarf2out_finish): Don't emit DW_AT_GNU_macros or DW_AT_macro_info
+       attribute, don't force empty compilation unit and don't emit any
+       .debug_macinfo/.debug_macro section if macinfo_table is empty.
+
+2012-05-13  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2012-05-12  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
+       ORDERED and UNORDERED conditions.
+
+2012-05-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * function.c (requires_stack_frame_p): If the function can throw
+       non-call exceptions, return true if the insn can throw internally.
+
+2012-05-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimplify.c (gimplify_decl_expr): For a TYPE_DECL, also gimplify the
+       DECL_ORIGINAL_TYPE if it is present.
+
+2012-05-09  Georg-Johann Lay  <avr@gjlay.de>
+
+       Backport from 2012-05-12 mainline r187342.
+
+       PR target/53256
+       * config/avr/elf.h (ASM_DECLARE_FUNCTION_NAME): Remove.
+       * config/avr/avr-protos.h (avr_asm_declare_function_name): Remove.
+       * config/avr/avr.h (struct machine_function): Add attributes_checked_p.
+       * config/avr/avr.c (avr_asm_declare_function_name): Remove.
+       (expand_prologue): Move initialization of cfun->machine->is_naked,
+       is_interrupt, is_signal, is_OS_task, is_OS_main from here to...
+       (avr_set_current_function): ...this new static function.
+       (TARGET_SET_CURRENT_FUNCTION): New define.
+       (avr_function_ok_for_sibcall): Use cfun->machine->is_* instead of
+       checking attributes of current_function_decl.
+       (avr_regs_to_save): Ditto.
+       (signal_function_p): Rename to avr_signal_function_p.
+       (interrupt_function_p): Rename to avr_interrupt_function_p.
+
+       * doc/extend.texi (Function Attributes): Better explanation of
+       'interrupt' and 'signal' for AVR. Move 'ifunc' down to establish
+       alphabetical order.
+
+2012-05-09  Matthias Klose  <doko@ubuntu.com>
+
+       * gcc-ar.c (main): Don't check for execute bits for the plugin.
+
+2012-05-08  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/53272
+       * config/cris/cris.c (cris_normal_notice_update_cc): For TARGET_V32,
+       when a constant source operand matches an "I" constraint, the "no
+       CC0 change" applies to a register-destination only, not a
+       strict_low_part-destination.
+
+2012-05-07  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
+
+       Backport from mainline:
+       2012-04-19  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
+
+       * config/arm/sync.md (sync_optab): Change ior attribute to "or".
+
+2012-05-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/53239
+       * tree-vrp.c (get_value_range): Set VR of
+       SSA_NAME_IS_DEFAULT_DEF of DECL_BY_REFERENCE RESULT_DECL
+       to nonnull.
+
+2012-05-07  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/53195
+       * tree-inline.c (setup_one_parameter): Properly add referenced
+       vars from the parameters new known value.
+
+2012-05-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       Backport from mainline:
+       2012-04-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR target/52999
+       * config/pa/pa.c (pa_legitimate_constant_p): Don't put function labels
+       in constant pool.
+
+2012-05-04  Ian Lance Taylor  <iant@google.com>
+
+       * tree-vect-patterns.c (vect_single_imm_use): Correct return
+       values from false to NULL.
+
+2012-05-04  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2012-05-04  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/53228
+       * config/i386/i386.h (X86_ARCH_CMOV): Rename from X86_ARCH_CMOVE.
+       (TARGET_CMOV): Rename from TARGET_CMOVE.
+       (TARGET_CMOVE): New define.
+       * config/i386/i386.c (ix86_option_override_internal): Use TARGET_CMOV.
+       Do not set TARGET_CMOVE here.
+
+2012-05-04  Ulrich Weigand  <ulrich.weigand@linaro.org>
+
+       Backport from mainline:
+
+       2012-05-04  Ulrich Weigand  <ulrich.weigand@linaro.org>
+
+       PR tree-optimization/52633
+       * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Swap order of
+       vect_recog_widen_shift_pattern and vect_recog_over_widening_pattern.
+       (vect_recog_over_widening_pattern): Remove handling of code that was
+       already detected as over-widening pattern.  Remove special handling
+       of "unsigned" cases.  Instead, support general case of conversion
+       of the shift result to another type.
+
+       2012-05-04  Ulrich Weigand  <ulrich.weigand@linaro.org>
+
+       * tree-vect-patterns.c (vect_single_imm_use): New function.
+       (vect_recog_widen_mult_pattern): Use it instead of open-coding loop.
+       (vect_recog_over_widening_pattern): Likewise.
+       (vect_recog_widen_shift_pattern): Likewise.
+
+       2012-04-10  Ulrich Weigand  <ulrich.weigand@linaro.org>
+
+       PR tree-optimization/52870
+       * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Verify that
+       presumed pattern statement is within the same loop or basic block.
+
+2012-05-04  Richard Guenther  <rguenther@suse.de>
+
+       * common.opt (flto-report): Do not mark as Optimization.
+
+2012-05-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/48496
+       * recog.c (constrain_operands): If extra constraints are present, also
+       accept pseudo-registers with equivalent memory locations during reload.
+
+2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       Backport from the mainline
+       2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR target/53199
+       * config/rs6000/rs6000.md (bswapdi splitters): If
+       -mavoid-indexed-addresses (or -mcpu=power6 which sets it by
+       default) is used, generate an alternate sequence that does not
+       depend on using indexed addressing.
+
+2012-05-03  David S. Miller  <davem@davemloft.net>
+
+       PR target/52684
+       * config/sparc/sparc.c (emit_soft_tfmode_libcall): If we pass a
+       MEM directly into a libcall, mark it's MEM_EXPR as addressable.
+       (sparc_emit_float_lib_cmp): Likewise.
+
+2012-05-04  Martin Jambor  <mjambor@suse.cz>
+
+       Backport from mainline
+       2012-05-02  Martin Jambor  <mjambor@suse.cz>
+
+       PR lto/52605
+       * dwarf2out.c (dwarf2out_decl): Only lookup die representing context
+       of a variable when the contect is a function.
+
+2012-05-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR plugins/53126
+       * gcc-ar.c (main): If GCC_EXEC_PREFIX is set in env,
+       append program name to it and pass that as first argument
+       to make_relative_prefix.  Always pass standard_libexec_prefix
+       as last argument to make_relative_prefix.  If
+       make_relative_prefix returns NULL, fall back to
+       standard_libexec_prefix.
+
+       PR debug/53174
+       * tree-predcom.c (remove_stmt): Call reset_debug_uses on stmts being
+       removed.
+
+       PR target/53187
+       * config/arm/arm.c (arm_select_cc_mode): If x has MODE_CC class
+       mode, return that mode.
+
+2012-05-03  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/53144
+       * tree-ssa-sccvn.c (vn_reference_lookup_or_insert_constant_for_pieces):
+       Rename to ...
+       (vn_reference_lookup_or_insert_for_pieces): ... this.  Properly deal
+       with SSA name values.
+       (vn_reference_lookup_3): Adjust callers.
+
+2012-05-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/53163
+       * tree-ssa-phiopt.c (cond_if_else_store_replacement): Don't ignore
+       return value from compute_all_dependences.
+
+       PR rtl-optimization/53160
+       * ree.c (combine_reaching_defs): Handle the case where cand->insn
+       has been modified by ree pass already.
+
+2012-05-01  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2012-04-30  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR middle-end/53136
+       * ipa-prop.c (ipa_print_node_jump_functions): Wrap multiple
+       calls to cgraph_node_name in xstrdup.
+       (ipa_make_edge_direct_to_target): Ditto.
+       * tree-sra.c (convert_callers_for_node): Ditto.
+       * lto-symtab.c (lto_cgraph_replace_node): Ditto.
+       * ipa-cp.c (perhaps_add_new_callers): Ditto.
+       * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Ditto.
+       (cgraph_materialize_all_clones): Ditto.
+       * ipa-inline.c (report_inline_failed_reason): Ditto.
+       (want_early_inline_function_p): Ditto.
+       (edge_badness): Ditto.
+       (update_edge_key): Ditto.
+       (flatten_function): Ditto.
+       (ipa_inline): Ditto.
+       (inline_always_inline_functions): Ditto.
+       (early_inline_small_functions): Ditto.
+
+2012-04-30  Andreas Tobler  <andreast@fgznet.ch>
+
+       Backport from mainline
+       2012-03-21  Andreas Tobler  <andreast@fgznet.ch>
+
+       * configure.ac (HAVE_LD_NO_DOT_SYMBOLS): Add powerpc64-*-freebsd*.
+       Introduce emul_name to select the right linker emulation for
+       powerpc64-*-freebsd*.
+       * configure: Regenerate.
+       * config.gcc: Add bits to support powerpc64-*-freebsd*.
+       * config/rs6000/freebsd.h (POWERPC_FREEBSD): Define.
+       * config/rs6000/freebsd64.h: New file.
+       * config/rs6000/rs6000.c (rs6000_option_override_internal): Use
+       POWERPC_FREEBSD.
+       (rs6000_savres_strategy): Likewise.
+       (rs6000_savres_routine_name): Likewise.
+       (rs6000_elf_file_end): Likewise.
+       * config/rs6000/t-freebsd64: New file.
+       * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set the
+       rs6000_current_abi for 64-bit FreeBSD to ABI_AIX.
+
+2012-04-30  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2012-04-27  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR target/53138
+       * config/i386/i386.md (x86_mov<mode>cc_0_m1_neg): Add clobber.
+
+2012-04-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/i386/i386.c (ix86_handle_struct_attribute): Use the proper
+       predicate to discriminate types.
+
+2012-04-27  Richard Guenther  <rguenther@suse.de>
+
+       PR c/51527
+       * convert.c (convert_to_integer): Avoid infinite recursion for
+       target-defined built-in types.
+
+2012-04-26  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/53120
+       * config/cris/cris.md ("*andhi_lowpart_v32")
+       ("*andqi_lowpart_v32"): Change first input-only operand from
+       a (match_operand ...) to (match_dup 0).  Drop alternatives with
+       const_int-matching constraints for redundancy.
+       ("*andhi_lowpart_non_v32", "*andqi_lowpart_non_v32"): Ditto.  Drop
+       three-operand alternative.
+
+2012-04-26  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2012-04-23  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*add<mode>_2): Add r/r/0 alternative.
+       (*addsi_2_zext): Ditto.
+       (*add<mode>_3): Ditto.
+       (*addsi_3_zext): Ditto.
+       (*add<mode>_5): Ditto.
+
+2012-04-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/52880
+       * c-typeck.c (set_nonincremental_init,
+       set_nonincremental_init_from_string): Pass true instead of false
+       as IMPLICIT to add_pending_init.
+
+2012-04-24  Georg-Johann Lay  <avr@gjlay.de>
+
+       Backport from 2012-04-24 mainline r186768.
+
+       PR target/53065
+       * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): New hook define.
+
+2012-04-24  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/53085
+       * tree-ssa-pre.c (eliminate): Do not eliminate volatile redundant
+       stores.
+
+2012-04-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/53084
+       * varasm.c (compute_reloc_for_constant): Handle ADDR_EXPR
+       of MEM_REF.
+       (output_addressed_constants): Likewise.
+
+       PR middle-end/52999
+       * varasm.c (get_section): Don't ICE for section conflicts with
+       built-in section kinds.
+
+2012-04-23  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/sync.md (fetchop_name): Change ior attribute to "or".
+
+2012-04-23  Georg-Johann Lay  <avr@gjlay.de>
+
+       * doc/extend.texi (AVR Named Address Spaces): Fix typos.
+
+2012-04-23  Richard Guenther  <rguenther@suse.de>
+
+       PR c/53060
+       * c-typeck.c (build_binary_op): Fix typo.
+
+2012-04-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimizations/52891
+       * tree-vect-patterns.c (adjust_bool_pattern): Use
+       build_nonstandard_type even if rhs1 has unsigned INTEGER_TYPE,
+       but with non-standard precision.
+
+2012-04-22  Ian Lance Taylor  <iant@google.com>
+
+       * godump.c (go_output_typedef): Dump size of structs.
+
+2012-04-20  Ulrich Weigand  <ulrich.weigand@linaro.org>
+
+       Backport from mainline:
+
+       * config/arm/arm.c (arm_print_operand): Fix invalid alignment
+       hints for 'A' operand types.
+
+2012-04-19  Georg-Johann Lay  <avr@gjlay.de>
+
+       Backport from 2012-04-19 mainline r186588.
+
+       PR target/53033
+       * config/avr/avr.c (avr_out_load_psi): Fix assembler template for
+       the case *(X+const).
+
+2012-04-18  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/alpha/sync.md (fetchop_name): Change ior attribute to "or".
+
+2012-04-17  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/53020
+       * config/i386/sync.md (atomic_<code><mode>): Rename to
+       atomic_<logic><mode>.
+
+2012-04-16  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2012-04-12  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/52932
+       * config/i386/avx2intrin.h (_mm256_permutevar8x32_ps): Change second
+       argument type to __m256i.  Update call to __builtin_ia32_permvarsf256.
+       * config/i386/sse.md (avx2_permvarv8sf): Change operand 1 to V8SI.
+       (avx2_permvarv8sf, avx2_permvarv8si): Switch operands 1 and 2.
+       * config/i386/i386.c (bdesc_args) <__builtin_ia32_permvarsf256>:
+       Update builtin type to V8SF_FTYPE_V8SF_V8SI.
+       (ix86_expand_vec_perm): Update calls to gen_avx2_permvarv8si and
+       gen_avx2_permvarv8sf.
+
+2012-04-16  Martin Jambor  <mjambor@suse.cz>
+
+       Backported from mainline
+
+       2012-04-13  Martin Jambor  <mjambor@suse.cz>
+       PR middle-end/52939
+
+       * gimple-fold.c (gimple_get_virt_method_for_binfo): Bail out if
+       fold_ctor_reference returns a zero constant.
+
+2012-04-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       Backported from mainline
+       2012-04-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386-c.c (ix86_target_macros): Define _ILP32
+       and __ILP32__ for x32.
+
+2012-04-13  Tom de Vries  <tom@codesourcery.com>
+
+       Backport from mainline r186418.
+
+       2012-04-13  Tom de Vries  <tom@codesourcery.com>
+
+       * tree-ssa-tail-merge.c (gsi_advance_bw_nondebug_nonlocal): Add
+       parameters vuse and vuse_escaped.
+       (find_duplicate): Init vuse1, vuse2 and vuse_escaped.  Pass to
+       gsi_advance_bw_nondebug_nonlocal.  Return if vuse_escaped and
+       vuse1 != vuse2.
+
+2012-04-13  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/52969
+       * tree-if-conv.c (predicate_mem_writes): Properly gimplify
+       the condition for the COND_EXPR and handle predicate negation
+       by swapping the COND_EXPR arms.
+
+2012-04-13  Richard Guenther  <rguenther@suse.de>
+
+       PR c/52862
+       * convert.c (convert_to_pointer): Remove special-casing of
+       zero.
+
+2012-04-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       Backport from mainline
+       2012-04-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR target/52775
+       * config/rs6000/rs6000.h (TARGET_FCFID): Add TARGET_PPC_GPOPT to
+       the list of options to enable the FCFID instruction.
+       (TARGET_EXTRA_BUILTINS): Adjust comment.
+
+2012-04-12  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/52943
+       * tree-chrec.h (chrec_is_positive): Remove.
+       * tree-scalar-evolution.c (chrec_is_positive): Move ...
+       * tree-data-ref.c (chrec_is_positive): ... here.  Make static.
+       Return false for a constant zero instead of negative.
+       (analyze_siv_subscript_cst_affine): Handle zero difference
+       in the initial condition explicitely.
+
+2012-04-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR middle-end/52894
+       * varasm.c (process_pending_assemble_externals): Set
+       pending_assemble_externals_processed true.
+       (assemble_external): Call assemble_external_real if the pending
+       assemble externals have been processed.
+
+2012-04-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/52717
+       * config/sparc/sparc.c (sparc_file_end): Set TREE_PUBLIC explicitly on
+       the DECL generated for the special GOT helper.
+
+2012-04-06  Walter Lee  <walt@tilera.com>
+
+       Backport from mainline
+       2012-03-07  Walter Lee  <walt@tilera.com>
+
+       * config/tilegx/tilegx.c (tilegx_expand_prologue): Don't generate
+       REG_CFA_* notes for the stack pointer.
+       (tilegx_expand_epilogue): Restore stack pointer by adjusting it by
+       EH_RETURN_STACKADJ_RTX.
+       * config/tilepro/tilepro.c (tilepro_expand_prologue): Don't
+       generate REG_CFA_* notes for the stack pointer.
+       (tilepro_expand_epilogue): Restore stack pointer by adjusting it
+       by EH_RETURN_STACKADJ_RTX.
+
+2012-04-06  Matt Turner  <mattst88@gmail.com>
+
+       * doc/install.texi: Correct typo "-mno-lsc" -> "-mno-llsc".
+
+2012-04-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/ia64/ia64.c (ia64_load_pair_ok): Return 0 if the second member
+       of the destination isn't also a FP_REGS register.
+
+2012-04-03  Richard Guenther  <rguenther@suse.de>
+
+       Backport from mainline
+       2012-03-02  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/52406
+       * tree-data-ref.h: Update documentation about DR_BASE_OBJECT.
+       (struct indices): Add unconstrained_base member.
+       (struct dr_alias): Remove unused vops member.
+       (DR_UNCONSTRAINED_BASE): New define.
+       * tree-data-ref.c (dr_analyze_indices): For COMPONENT_REFs
+       add indices to allow their disambiguation.  Make DR_BASE_OBJECT
+       be an artificial access that covers the whole indexed object,
+       or mark it with DR_UNCONSTRAINED_BASE if we cannot do so.  Canonicalize
+       plain decl base-objects to their MEM_REF variant.
+       (dr_may_alias_p): When the base-object of either data reference
+       has unknown size use only points-to information.
+       (compute_affine_dependence): Make dumps easier to read and
+       more verbose.
+       * tree-vect-data-ref.c (vector_alignment_reachable_p): Use
+       DR_REF when looking for packed references.
+       (vect_supportable_dr_alignment): Likewise.
+
+2012-04-03  Richard Guenther  <rguenther@suse.de>
+
+       Backport from mainline
+       2012-03-15  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/52580
+       * tree-data-ref.c (subscript_dependence_tester_1): Check
+       all dimensions for non-conflicting access functions.
+
+2012-04-03  Richard Guenther  <rguenther@suse.de>
+
+       Backport from mainline
+       2012-03-06  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/52493
+       * tree-ssa-alias.c (ptr_derefs_may_alias_p): Robustify.
+
+       2012-03-23  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/52678
+       * tree-vectorizer.h (struct _stmt_vec_info): Add
+       loop_phi_evolution_part member.
+       (STMT_VINFO_LOOP_PHI_EVOLUTION_PART): New define.
+       * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Initialize
+       STMT_VINFO_LOOP_PHI_EVOLUTION_PART.
+       * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
+       Use the cached evolution part and the PHI nodes value from
+       the loop preheader edge instead of re-analyzing the evolution.
+
+       2012-03-26  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/52701
+       * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Always
+       compute and set the evolution part of PHI nodes.
+
+       2012-03-30  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/52754
+       * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Only
+       propagate arbitrary addresses into really plain dereferences.
+
+2012-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/52835
+       * tree-data-ref.c (build_rdg): Return NULL if
+       compute_data_dependences_for_loop failed.
+
+2012-03-31  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-cfg.c (call_can_make_abnormal_goto): New predicate.
+       (stmt_can_make_abnormal_goto): Use it.
+       (is_ctrl_altering_stmt): Likewise.
+
+2012-03-31  Martin Jambor  <mjambor@suse.cz>
+
+       Backported from mainline
+       2012-03-30  Martin Jambor  <mjambor@suse.cz>
+
+       * tree-ssa-ccp.c (insert_clobbers_for_var): Do not assert that there
+       is a builtin_stack_save in a dominating BB.
+
+2012-03-29  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sse.md (avx_h<plusminus_insn>v4df3): Fix results
+       crossing 128bit lane boundary.
+
+2012-03-29  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backported from mainline
+       2012-03-27  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/52698
+       * config/i386/i386-protos.h (ix86_legitimize_reload_address):
+       New prototype.
+       * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): New define.
+       * config/i386/i386.c: Include reload.h.
+       (ix86_legitimize_reload_address): New function.
+
+2012-03-28  Martin Jambor  <mjambor@suse.cz>
+
+       Backported from mainline
+       2012-03-27  Martin Jambor  <mjambor@suse.cz>
+
+       PR middle-end/52693
+       * tree-sra.c (sra_modify_assign): Do not call
+       load_assign_lhs_subreplacements when working with an unscalarizable
+       region.
+
+2012-03-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/52691
+       * tree-ssa-ccp.c (optimize_stdarg_builtin): Optimize
+       __builtin_va_start to __builtin_next_arg if the latter is
+       builtin_decl_explicit_p rather than when it is not.
+
+       PR middle-end/52750
+       * tree-vect-generic.c (vector_element): Perform multiplication
+       for pos in bitsizetype type instead of idx type.
+
+2012-03-28  Georg-Johann Lay  <avr@gjlay.de>
+
+       Backport from 2012-03-28 mainline r185910.
+
+       PR target/52692
+       * config/avr/avr.c (TARGET_BUILTIN_DECL): New define.
+       (avr_builtin_decl): New static function.
+       (struct avr_builtin_description, avr_bdesc): Move up.
+       Add GTY marker. Add field fndecl. Remove redundant field id.
+       (avr_init_builtins): Initialize avr_bdesc[ID].fndecl.
+       (avr_expand_builtin): Code cleanup because .id is removed.
+
+2012-03-28  Aurelien Buhrig  <aurelien.buhrig.gcc@gmail.com>
+
+       PR middle-end/51893
+       * expmed.c (store_bit_field_1): Fix wordnum value for big-endian
+       targets.
+
+2012-03-28  Georg-Johann Lay  <avr@gjlay.de>
+
+       Backport from 2012-03-28 mainline r185907.
+
+       PR target/52737
+       * config.gcc (tm_file): Remove avr/multilib.h.
+
+       * doc/invoke.texi (AVR Options): Adjust
+       documentation of -mtiny-stack.
+
+       * config/avr/genmultilib.awk: Remove code to generate multilib.h.
+       (BEGIN): Use -msp8 as multilib option instead of -mtiny-stack.
+       * config/avr/t-avr: Remove generation of multilib.h.
+       * config/avr/t-multilib: Regenerate.
+       * config/avr/multilib.h: Remove.
+       * config/avr/avr.opt (-msp8): New option.
+       (avr_sp8): New variable.
+       * config/avr/driver-avr.c (avr_device_to_sp8): New function.
+       * config/avr/avr.h (AVR_HAVE_SPH): New define.
+       (AVR_HAVE_8BIT_SP): Also set by avr_sp8 i.e. -msp8.
+       (avr_device_to_sp8): New prototype.
+       (EXTRA_SPEC_FUNCTIONS): Add { "device_to_sp8", avr_device_to_sp8 }
+       (DRIVER_SELF_SPECS): New define.
+       * config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines:
+       __AVR_SP8__, __AVR_HAVE_SPH__.
+       * config/avr/avr.c (output_movhi): Use AVR_HAVE_SPH instead of
+       AVR_HAVE_8BIT_SP to decide if SP_H is present.
+       (avr_file_start): Ditto.
+
+2012-03-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/52736
+       * config/i386/sse.md (sse2_loadlpd splitter): Use offset 0
+       instead of 8 in adjust_address.
+
+2012-03-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * expmed.c (store_bit_field): Assert that BITREGION_START is a multiple
+       of a unit before computing the offset in units.
+
+2012-03-27  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/52720
+       * fold-const.c (try_move_mult_to_index): Handle &x.array more
+       explicitely.
+
+2012-03-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/52610
+       * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=leon.
+
+2012-03-24  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR middle-end/52640
+       * varasm.c: Include pointer-set.h.
+       (pending_assemble_externals_set): New pointer set.
+       (process_pending_assemble_externals): Destroy the pointer set.
+       (assemble_external): See if decl is in pending_assemble_externals_set,
+       and add it to pending_assemble_externals if necessary.
+       (init_varasm_once): Allocate pending_assemble_externals_set.
+
+2012-03-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       Backported from mainline
+       2012-03-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR target/50310
+       * config/rs6000/vector.md (vector_uneq<mode>): Add support for
+       UNEQ, LTGT, ORDERED, and UNORDERED IEEE vector comparisons.
+       (vector_ltgt<mode>): Likewise.
+       (vector_ordered<mode>): Likewise.
+       (vector_unordered<mode>): Likewise.
+       * config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner): Likewise.
+
+2012-03-23  Joern Rennecke  <joern.rennecke@embecosm.com>
+
+       * config/epiphany/epiphany.c (epiphany_function_value_regno_p):
+       Make static.
+
+2012-03-22  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       Backported from mainline
+       2012-03-02  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/48596
+       PR target/48806
+       * config/sh/sh.c (sh_register_move_cost): Increase cost between
+       GENERAL_REGS and FP_REGS for SImode.
+
+2012-03-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/52547
+       * tree-nested.c (convert_tramp_reference_stmt): Call declare_vars
+       on any new_local_var_chain vars declared during recursing on
+       GIMPLE_OMP_PARALLEL or GIMPLE_OMP_TASK body.
+
+2012-03-22  Georg-Johann Lay  <avr@gjlay.de>
+
+       Backport from 2012-03-22 mainline r185692.
+
+       PR target/52496
+       * config/avr/avr.md (unspec): Remove UNSPEC_MEMORY_BARRIER.
+       (unspecv): Add UNSPECV_MEMORY_BARRIER.
+       (cli_sei): Use unspec_volatile instead of unspec for memory barrier.
+       (delay_cycles_1, delay_cycles_2): Ditto.
+       (delay_cycles_3, delay_cycles_4): Ditto.
+       (nopv, *nopv): Ditto.
+       (sleep, *sleep): Ditto.
+       (wdr, *wdr): Ditto.
+
+       Backport from 2012-03-21 mainline r185605.
+
+       PR rtl-optimization/52543
+       PR target/52461
+       * config/avr/avr-protos.h (avr_load_lpm): New prototype.
+       * config/avr/avr.c (avr_mode_dependent_address_p): New function.
+       (TARGET_MODE_DEPENDENT_ADDRESS_P): New define.
+       (avr_load_libgcc_p): Restrict to __flash loads.
+       (avr_out_lpm): Only handle 1-byte loads from __flash.
+       (avr_load_lpm): New function.
+       (avr_find_unused_d_reg): Remove.
+       (avr_out_lpm_no_lpmx): Remove.
+       (adjust_insn_length): Handle ADJUST_LEN_LOAD_LPM.
+       * config/avr/avr.md (unspec): Add UNSPEC_LPM.
+       (load_<mode>_libgcc): Use UNSPEC_LPM instead of MEM.
+       (load_<mode>, load_<mode>_clobber): New insns.
+       (mov<mode>): For multi-byte move from non-generic
+       16-bit address spaces: Expand to load_<mode> resp.
+       load_<mode>_clobber.
+       (load<mode>_libgcc): Remove expander.
+       (split-lpmx): Remove split.
+
+       Backport from 2012-03-13 mainline r185329.
+
+       PR target/52488
+       * config/avr/avr.c (avr_prologue_setup_frame): Cut down stack
+       offset (size) to a value the insns can deal with.
+       (expand_epilogue): Ditto.
+
+       Backport from 2012-03-12 mainline r185256.
+
+       PR target/52499
+       * config/avr/avr.c (avr_mode_code_base_reg_class): Change return
+       type from reg_class_t to enum reg_class.
+       * config/avr/avr-protos.h (avr_mode_code_base_reg_class): Ditto.
+
+       Backport from 2012-03-12 mainline r185253.
+
+       PR target/52148
+       * config/avr/avr.c (avr_out_movmem): Fix typo in output template
+       for the case ADDR_SPACE_FLASH and AVR_HAVE_LPMX introduced in
+       r184615 from 2012-02-28.
+
+       Backport from 2012-03-08 mainline r185105.
+
+       * config/avr/avr.md (*addhi3, addhi3_clobber): Add "w" alternative
+       for constants in [-63,63].
+
+       Backport from 2012-03-08 mainline r185100.
+
+       PR target/52496
+       * config/avr/avr.c (avr_mem_clobber): New static function.
+       (avr_expand_delay_cycles): Add memory clobber operand to
+       delay_cycles_1, delay_cycles_2, delay_cycles_3, delay_cycles_4.
+       * config/avr/avr.md (unspec): Add UNSPEC_MEMORY_BARRIER.
+       (enable_interrupt, disable_interrupt): New expander.
+       (nopv, sleep, wdr): New expanders.
+       (delay_cycles_1): Add memory clobber.
+       (delay_cycles_2): Add memory clobber.
+       (delay_cycles_3): Add memory clobber.
+       (delay_cycles_4): Add memory clobber.
+       (cli_sei): New insn from former "enable_interrupt",
+       "disable_interrupt" with memory clobber.
+       (*wdt): New insn from former "wdt" with memory clobber.
+       (*nopv): Similar, but for "nopv".
+       (*sleep): Similar, but for "sleep".
+
+       Backport from 2012-03-07 mainline r185043.
+
+       PR target/52484
+       * config/avr/avr.md (xload<mode>_A): Add R22... to register footprint.
+
+       Backport from 2012-03-07 mainline r185032.
+
+       PR target/52506
+       * gcc/config/avr/avr.c (expand_epilogue): Fix order of restoration
+       to: RAMPZ, RAMPY, RAMPX, RAMPD.
+       (expand_prologue): Only clear RAMPZ if it has effect on RAM-read.
+
+       Backport from 2012-03-07 mainline r185031.
+
+       PR target/52505
+       * config/avr/avr.c (avr_out_xload): Don't read unintentionally
+       from RAM.
+       * config/avr/avr.md (xload_8): Adjust insn length.
+
+       Backport from 2012-03-07 mainline r185030.
+
+       PR target/52461
+       * gcc/config/avr/avr.c (avr_out_lpm): Clear RAMPZ after usage
+       if RAMPZ affects reading from RAM.
+
+       Backport from 2012-03-05 mainline r184919.
+
+       * config/avr/avr.md (*umaddqihi4.2): New insn-and-split.
+
+2012-03-22  Georg-Johann Lay  <avr@gjlay.de>
+
+       Backport from mainline r185259.
+
+       PR other/52545
+       * output.h (SECTION_EXCLUDE, SECTION_MACH_DEP): Don't use
+       SECTION_MACH_DEP reserved bits for SECTION_EXCLUDE.
+
+2012-03-22  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       2012-03-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/52577
+       * c-parser.c (c_parser_postfix_expression)
+       <case RID_BUILTIN_SHUFFLE>: Call mark_exp_read on argument values.
+
+       * config/i386/smmintrin.h: Avoid /* within a comment.
+       * config/i386/nmmintrin.h: Likewise.
+
+2012-03-22  Richard Guenther  <rguenther@suse.de>
+
+       * BASE-VER: Set to 4.7.1.
+       * DEV-PHASE: Set to prerelease.
+
+2012-03-22  Release Manager
+
+       * GCC 4.7.0 released.
+
+2012-03-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * doc/install.texi (Specific, *-*-solaris2*): Improve wording.
+
+2012-03-15  Jakub Jelinek  <jakub@redhat.com>
+           Andrew Pinski  <apinski@cavium.com>
+
+       PR middle-end/52592
+       * builtins.c (expand_builtin_int_roundingfn_2): If expanding
+       BUILT_IN_IR{INT,OUND}* using optab fails, emit lr{int,ound}*
+       calls instead of __builtin_ir{int,ound}*.
+
+2012-03-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/52582
+       * config/rs6000/rs6000.c (call_ABI_of_interest): Return true
+       if c_node is NULL.
+
+2012-03-13  Joseph Myers  <joseph@codesourcery.com>
+
+       * doc/invoke.texi (-std=c99), doc/standards.texi (C language):
+       Refer to GCC 4.7 version of c99status.html.
+
+2012-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       Backport from mainline
+       2012-03-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Do not
+       redefine to be NULL if the current bit-size is different from the
+       configured bit-size.
+
+       * config/rs6000/rs6000.c (rs6000_option_override_internal): If the
+       cpu is defaulted, use PROCESSOR_DEFAULT and PROCESSOR_DEFAULT64 to
+       set the default tuning.  Add asserts to make sure the cpu and tune
+       indexes are defined.  Fix tests for cpu/tune index to use >= 0 to
+       test whether the index is set, instead of > 0.
+       (rs6000_file_start): Do not reset the default cpu if the current
+       bit-size is different from the configured bit-size.
+
+2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * doc/install.texi (Specific, i?86-*-solaris2.[89]): Update
+       binutils reference.
+       (Specific, i?86-*-solaris2.10): Remove GCC 4.0 reference.
+       Update binutils references.
+       (Specific, *-*-solaris2*): Mention bundled GCC in Solaris 10 and 11.
+       Update binutils reference.
+       Update Sun as/GNU ld caveat.
+       Document binutils largefile requirement for LTO plugin.
+       Remove reference to alternate libpthread.
+
+2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * doc/install.texi (Specific, alpha*-dec-osf5.1): Update binutils
+       reference.
+       (Specific, mips-sgi-irix6): Likewise.
+
+2012-03-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac (gcc_cv_as_ix86_tlsldmplt): Add label.
+       * configure: Regenerate.
+
+2012-03-07  Richard Henderson  <rth@redhat.com>
+
+       * config/m68k/m68k.h (ISA_HAS_TAS): New.
+       * config/m68k/sync.md (atomic_test_and_set): Use it.
+       (atomic_test_and_set_1): Likewise.
+
+2012-03-07  Ralf Corsépius  <ralf.corsepius@rtems.org>
+
+       PR target/51417
+       * Makefile.in: Let install-gcc-ar depend on installdirs,
+       gcc-ar$(exeext), gcc-nm$(exeext), gcc-ranlib$(exeext).
+       Don't double canonicalize if cross-compiling.
+
+2012-03-06  Aldy Hernandez  <aldyh@redhat.com>
+
+       * trans-mem.c: New typedef for tm_region_p.
+       Define vector types for tm_region_p.
+       (tm_region_init): Replace region_worklist to a vector called
+       bb_regions.
+
+2012-03-06  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR middle-end/52463
+       * trans-mem.c (tm_region_init): Use last_basic_block.
+
+2012-03-05  Richard Henderson  <rth@redhat.com>
+
+       PR tree-opt/52242
+       Revert: 2011-11-26  Richard Henderson  <rth@redhat.com>
+       * omp-low.c (expand_omp_atomic): Assume anything aligned to
+       BIGGEST_ALIGNMENT is aligned.
+
+2012-03-05  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       * config/sh/sh.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New hook.
+
+2012-03-05  Richard Henderson  <rth@redhat.com>
+
+       PR target/52481
+       * config/m68k/sync.md (atomic_test_and_set): Use expand_simple_unop
+       instead of calling negqi2 directly.
+
+2012-03-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/mips/iris6.h [!USED_FOR_TARGET] (long_intmax): Declare.
+       (INTMAX_TYPE): Use it.
+       (UINTMAX_TYPE): Likewise.
+       (SUBTARGET_OVERRIDE_OPTIONS): Define.
+       (irix6_c_common_override_options): Declare.
+       (C_COMMON_OVERRIDE_OPTIONS): Define.
+       * config/mips/mips.c [TARGET_IRIX6] (long_intmax): Define.
+       * config/mips/irix6-c.c: New file.
+       * config/mips/t-irix6 (irix6-c.o): New target.
+       * config.gcc (mips-sgi-irix6.5): Set c_target_objs,
+       cxx_target_objs.
+
+2012-03-02  Richard Henderson  <rth@redhat.com>
+
+       * optabs.c (expand_atomic_test_and_set): Honor
+       atomic_test_and_set_trueval even when atomic_test_and_set
+       optab is not in use.
+
+2012-03-02  Peter Bergner  <bergner@vnet.ibm.com>
+
+       Backport from mainline
+       2012-03-02  Peter Bergner  <bergner@vnet.ibm.com>
+
+       * config/rs6000/vsx.md (vsx_set_<mode>): Reorder operands.
+
+2012-03-02  Richard Guenther  <rguenther@suse.de>
+
+       * DEV-PHASE: Set to prerelease.
+
+2012-03-01  Richard Earnshaw  <rearnsha@arm.com>
+
+       * config.gcc (obsolete): Add all ARM targets using the FPA.
+       (with_fpu): Obsolete selection of the FPA or Maverick on ARM.
+       * doc/install.texi: Avoid references to obsolete ARM ports.
+
+2012-03-01  Joern Rennecke  <joern.rennecke@embecosm.com>
+
+       * config/epiphany/epiphany.md (movmisalign<mode>): New patterns.
+
+2012-03-01  Jeremy Bennett  <jeremy.bennett@embecosm.com>
+           Joern Rennecke  <joern.rennecke@embecosm.com>
+
+       * doc/extend.texi: Expand and update information on interrupt
+       attribute for Epiphany.
+
+2012-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       * config/sh/sh-protos.h: Update copyright notice dates.
+       * config/sh/sh.h: Likewise.
+       * config/sh/sh.md: Likewise.
+       * config/sh/constraints.md: Likewise.
+       * config/sh/predicates.md: Likewise.
+
+2012-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       * config/sh/sh-protos.h (tertiary_reload_operand): Remove dead function.
+       * config/sh/sh.c (tertiary_reload_operand): Likewise.
+
+2012-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       * config/sh/constraints.md: Fix comment typo.
+
+2012-03-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR target/52408
+       * config/pa/pa.md (zvdep_imm32): Change type of variable x from int to
+       unsigned HOST_WIDE_INT.
+       (zvdep_imm64): Likewise.
+       (vdepi_ior): Change type of variable x from int to HOST_WIDE_INT.
+       (vdepi_and): Likewise.
+       Likewise for unamed 64-bit patterns.
+       * config/pa/predicates.md (lhs_lshift_cint_operand): Update comment.
+
+2012-03-01  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/52001
+       PR rtl-optimization/52417
+       * cselib.c (cselib_any_perm_equivs): New variable.
+       (cselib_reset_table): Check that it's not set when not
+       preserving constants.
+       (cselib_add_permanent_equiv): Set it.
+       (cselib_have_permanent_equivalences): New.
+       (cselib_init, cselib_finish): Reset it.
+       * cselib.h (cselib_have_permanent_equivalences): Declare.
+       * alias.c (get_addr): Restore earlier behavior when there
+       aren't permanent equivalences.
+
+2012-03-01  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * config/mn10300/mn10300-modes.def: Fix copyright notice.
+       * config/v850/v850-modes.def: Fix copyright notice.
+
+2012-03-01  Georg-Johann Lay  <avr@gjlay.de>
+
+       * doc/extend.texi (AVR Built-in Functions): Document
+       __builtin_avr_flash_segment.
+
+       * config/avr/builtins.def (__builtin_avr_flash_segment): New entry.
+       * config/avr/avr.md (flash_segment, flash_segment1): New expanders.
+       (*split.flash_segment): New insn-and-split.
+       * config/avr/avr.c (avr_init_builtins): Add local variables:
+       const_memx_void_node, const_memx_ptr_type_node,
+       char_ftype_const_memx_ptr.
+
+2012-03-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/52445
+       * tree-ssa-phiopt.c (struct name_to_bb): Remove ssa_name field,
+       add ssa_name_ver, offset and size fields and change store field
+       to bool.
+       (name_to_bb_hash, name_to_bb_eq): Adjust for the above changes.
+       (add_or_mark_expr): Likewise.  Only consider previous stores
+       with the same size and offset.
+       (nt_init_block): Only look at gimple_assign_single_p stmts,
+       doesn't look at rhs2.
+
 2012-03-01  Richard Guenther  <rguenther@suse.de>
 
        PR middle-end/52443
 2012-03-01  Georg-Johann Lay  <avr@gjlay.de>
 
        * config/avr/avr-c.c (avr_cpu_cpp_builtins): Restore built-in
-       defines for __UINT24_MAX__, __INT24_MAX__, __INT24_MIN__ 
+       defines for __UINT24_MAX__, __INT24_MAX__, __INT24_MIN__
        unintentionally removed in r184616.
 
 2012-03-01  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
 
        * config/avr/avr-devices.c (avr_mcu_type): Adjust NULL part
        of initializer to changes from r184614.
-       
+
 2012-02-28  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/52395