+2012-10-24 Uros Bizjak <ubizjak@gmail.com>
+
+ Backport from mainline
+ 2012-10-22 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (memory_address_length): Assert that non-null
+ base or index RTXes are registers. Do not check for REG RTXes.
+ Determine addr32 prefix using SImode_address_operand or
+ from original base and index RTXes. Simplify code.
+
+ 2012-10-21 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386-protos.h (memory_address_length): Add new bool
+ argument. Update all uses.
+ * config/i386/i386.c (memory_address_length): If not LEA insn, then
+ add length of addr32 prefix based on mode of base or index register.
+ (ix86_attr_length_address_default) <TYPE_LEA>: Do not handle SImode
+ addresses here. Update call to memory_address_length.
+ (ix86_print_address_operand): Use SImode_address_operand predicate.
+ * config/i386/predicates.md (SImode_address_operand): New.
+ * config/i386/i386.md (lea<mode>): Use SImode_address_operand
+ to calculate "mode" attribute. Use SImode_address_operand predicate
+ instead of open-coding accepted RTX codes.
+
+2012-10-22 Georg-Johann Lay <avr@gjlay.de>
+
+ Backport from 2012-10-22 trunk r192685.
+ * doc/invoke.texi (AVR Options): Document __AVR_ARCH__.
+ Note __AVR_<device>__ is not defined for cores.
+ Don't point to --help=target.
+ Order --mcu= documentation according to trunk:/gcc/doc/avr-mmcu.texi.
+
+2012-10-19 Marek Polacek <polacek@redhat.com>
+
+ Backported from mainline
+ 2012-10-19 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/54945
+ * fold-const.c (fold_sign_changed_comparison): Punt if folding
+ pointer/non-pointer comparison.
+
+2012-10-19 Zhenqiang Chen <zhenqiang.chen@linaro.org>
+
+ Backported from mainline
+ 2012-10-19 Zhenqiang Chen <zhenqiang.chen@linaro.org>
+
+ PR target/54892
+ * config/arm/arm.c (arm_expand_compare_and_swap): Use SImode to make
+ sure the mode is correct when falling through from above cases.
+
+2012-10-19 Alan Modra <amodra@gmail.com>
+
+ * configure.ac (HAVE_LD_NO_DOT_SYMS): Set if using gold.
+ (HAVE_LD_LARGE_TOC): Likewise.
+ * configure: Regenerate.
+
+2012-10-19 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/predicates.md (splat_input_operand): Don't call
+ input_operand for MEMs. Instead check for volatile and call
+ memory_address_addr_space_p with modified mode.
+
+2012-10-17 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
+
+ Backported from mainline
+ 2012-07-23 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * config/arm/arm.c (arm_reorg): Ensure all insns are split.
+
+2012-10-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/54870
+ * tree.h (TREE_ADDRESSABLE): Document special usage on SSA_NAME.
+ * cfgexpand.c (update_alias_info_with_stack_vars ): Set it on the
+ SSA_NAME pointer that points to a partition if there is at least
+ one variable with it set in the partition.
+ * dse.c (local_variable_can_escape): New predicate.
+ (can_escape): Call it.
+ * gimplify.c (mark_addressable): If this is a partitioned decl, also
+ mark the SSA_NAME pointer that points to a partition.
+
+2012-10-16 Andrey Belevantsev <abel@ispras.ru>
+
+ Backport from mainline
+ 2012-08-09 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/53701
+ * sel-sched.c (vinsn_vec_has_expr_p): Clarify function comment.
+ rocess not only expr's vinsns but all old vinsns from expr's
+ istory of changes.
+
+2012-10-16 Andrey Belevantsev <abel@ispras.ru>
+
+ Backport from mainline
+ 2012-07-31 Andrey Belevantsev <abel@ispras.ru>
+ PR target/53975
+
+ * sel-sched-ir.c (has_dependence_note_reg_use): Clarify comment.
+ Revert
+ 2011-08-04 Sergey Grechanik <mouseentity@ispras.ru>
+ * sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge
+ only if producer writes to the register given by regno.
+
+2012-09-15 Uros Bizjak <ubizjak@gmail.com>
+
+ Backport from mainline
+ 2012-10-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (UNSPEC_MOVU): Remove.
+ (UNSPEC_LOADU): New.
+ (UNSPEC_STOREU): Ditto.
+ (<sse>_movu<ssemodesuffix><avxsizesuffix>): Split to ...
+ (<sse>_loadu<ssemodesuffix><avxsizesuffix>): ... this and ...
+ (<sse>_storeu<ssemodesuffix><avxsizesuffix>) ... this.
+ (<sse2>_movdqu<avxsizesuffix>): Split to ...
+ (<sse2>_loaddqu<avxsizesuffix>): ... this and ...
+ (<sse2>_storedqu<avxsizesuffix>): ... this.
+ (*sse4_2_pcmpestr_unaligned): Update.
+ (*sse4_2_pcmpistr_unaligned): Ditto.
+
+ * config/i386/i386.c (ix86_avx256_split_vector_move_misalign): Use
+ gen_avx_load{dqu,ups,upd}256 to load from unaligned memory and
+ gen_avx_store{dqu,ups,upd}256 to store to unaligned memory.
+ (ix86_expand_vector_move_misalign): Use gen_sse_loadups or
+ gen_sse2_load{dqu,upd} to load from unaligned memory and
+ gen_sse_loadups or gen_sse2_store{dqu,upd}256 to store to
+ unaligned memory.
+ (struct builtin_description bdesc_spec) <IX86_BUILTIN_LOADUPS>:
+ Use CODE_FOR_sse_loadups.
+ <IX86_BUILTIN_LOADUPD>: Use CODE_FOR_sse2_loadupd.
+ <IX86_BUILTIN_LOADDQU>: Use CODE_FOR_sse2_loaddqu.
+ <IX86_BUILTIN_STOREUPS>: Use CODE_FOR_sse_storeups.
+ <IX86_BUILTIN_STOREUPD>: Use CODE_FOR_sse2_storeupd.
+ <IX86_BUILTIN_STOREDQU>: Use CODE_FOR_sse2_storedqu.
+ <IX86_BUILTIN_LOADUPS256>: Use CODE_FOR_avx_loadups256.
+ <IX86_BUILTIN_LOADUPD256>: Use CODE_FOR_avx_loadupd256.
+ <IX86_BUILTIN_LOADDQU256>: Use CODE_FOR_avx_loaddqu256.
+ <IX86_BUILTIN_STOREUPS256>: Use CODE_FOR_avx_storeups256.
+ <IX86_BUILTIN_STOREUPD256>: Use CODE_FOR_avx_storeupd256.
+ <IX86_BUILTIN_STOREDQU256>: Use CODE_FOR_avx_storedqu256.
+
+2012-10-15 Steven Bosscher <steven@gcc.gnu.org>
+
+ Backport from trunk (r190222):
+
+ PR tree-optimization/54146
+ * ifcvt.c: Include pointer-set.h.
+ (cond_move_process_if_block): Change type of then_regs and
+ else_regs from alloca'd array to pointer_sets.
+ (check_cond_move_block): Update for this change.
+ (cond_move_convert_if_block): Likewise.
+ * Makefile.in: Fix dependencies for ifcvt.o.
+
+2012-10-15 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54920
+ * tree-ssa-pre.c (create_expression_by_pieces): Properly
+ allocate temporary storage for all NARY elements.
+
+2012-10-08 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/54854
+ * doc/invoke.texi (AVR Options): Deprecate -mshort-calls.
+
+2012-10-05 Mark Kettenis <kettenis@openbsd.org>
+
+ * config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
+ default_use_cxa_atexit to yes.
+
+2012-10-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config/pa/pa.md: Adjust unamed HImode add insn pattern.
+
+2012-10-05 Jan Hubicka <jh@suse.cz>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/33763
+ * tree-inline.c (expand_call_inline): Silently ignore always_inline
+ attribute for redefined extern inline functions.
+
+2012-10-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ Backported from mainline
+ 2012-10-03 Andrew W. Nosenko <andrew.w.nosenko@gmail.com>
+
+ * config/i386/driver-i386.c (host_detect_local_cpu): Fix logic
+ in SSE and YMM state support check for -march=native.
+
+2012-10-03 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/53135
+ * dwarf2out.c (value_format): Use block4 for dw_val_class_loc
+ when needed.
+
+2012-10-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ Backported from mainline
+ 2012-10-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/54785
+ * doc/invoke.texi: Document -mprefer-avx128.
+
+2012-10-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ Backported from mainline
+ 2012-10-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/54741
+ * config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
+ (XSTATE_FP): Likewise.
+ (XSTATE_SSE): Likewise.
+ (XSTATE_YMM): Likewise.
+ (host_detect_local_cpu): Disable AVX, AVX2, FMA, FMA4 and XOP if
+ SSE and YMM states aren't supported.
+
+2012-10-01 Tom de Vries <tom@codesourcery.com>
+
+ * var-tracking.c (set_dv_changed): Add an 'inline' function specifier to
+ the prototype.
+
+2012-10-01 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ PR target/54746
+ * config/s390/s390.c (s390_option_override): Add missing break.
+
+2012-09-29 Andreas Tobler <andreast@fgznet.ch>
+
+ Backport from mainline
+ 2012-09-29 Andreas Tobler <andreast@fgznet.ch>
+
+ * config.gcc: Replace 'host' with 'target' when configuring for
+ powerpc64*-*-freebsd.
+
+2012-09-28 Meador Inge <meadori@codesourcery.com>
+
+ Backport from mainline
+ 2012-09-27 Meador Inge <meadori@codesourcery.com>
+
+ * gcc-ar.c (main): Handle the returning of the sub-process error
+ code correctly.
+
+2012-09-28 Georg-Johann Lay <avr@gjlay.de>
+
+ Backport from 2012-09-28 trunk r191821.
+ * config/avr/avr.c (avr_pgm_check_var_decl): Fix non-error diagnostic.
+
+2012-09-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/54703
+ * simplify-rtx.c (simplify_binary_operation_1): Perform
+ (x - (x & y)) -> (x & ~y) optimization only for integral modes.
+
+2012-09-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in
+ TYPE_NONALIASED_COMPONENT flag.
+ * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream out
+ TYPE_NONALIASED_COMPONENT flag.
+
+2012-09-21 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/54638
+ Backport from mainline
+ 2012-04-19 Richard Guenther <rguenther@suse.de>
+
+ * ira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound
+ array access.
+
+2012-09-20 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/54552
+ * c-typeck.c (c_cast_expr): When casting to a type requiring
+ C_MAYBE_CONST_EXPR to be created, pass the inner expression to
+ c_fully_fold first.
+
+2012-09-20 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/54103
+ * c-typeck.c (build_unary_op): Pass original argument of
+ TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
+ any C_MAYBE_CONST_EXPR, if it has integer operands.
+ (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
+ TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
+ to c_objc_common_truthvalue_conversion, then remove any
+ C_MAYBE_CONST_EXPR, if they have integer operands. Use
+ c_objc_common_truthvalue_conversion not
+ c_common_truthvalue_conversion.
+ (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
+ call note_integer_operands for arguments with integer operands
+ that are not integer constants.
+
+2012-09-20 Jakub Jelinek <jakub@redhat.com>
+
+ Backported from mainline
+ 2012-09-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/54563
+ * tree-ssa-math-opts.c (execute_cse_sincos): Call
+ gimple_purge_dead_eh_edges if last call has been changed.
+
+ 2012-09-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/54564
+ * config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
+ instead of (match_dup 0) as second argument to vec_merge.
+ (*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
+ Remove third alternative.
+ (*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise. Negate
+ operand 2 instead of operand 1, but put it as first argument
+ of fma.
+ * config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
+ _mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
+ of the first.
+
+2012-09-20 Jakub Jelinek <jakub@redhat.com>
+
+ * BASE-VER: Set to 4.7.3.
+ * DEV-PHASE: Set to prerelease.
+
+2012-09-20 Release Manager
+
+ * GCC 4.7.2 released.
+
+2012-09-15 Andi Kleen <ak@linux.intel.com>
+
+ Backport from mainline
+ 2012-09-07 Andi Kleen <ak@linux.intel.com>
+
+ * gcc/lto-streamer.h (res_pair): Add.
+ (lto_file_decl_data): Replace resolutions with respairs.
+ Add max_index.
+ * gcc/lto/lto.c (lto_resolution_read): Remove max_index. Add rp.
+ Initialize respairs.
+ (lto_file_finalize): Set up resolutions vector lazily from respairs.
+
+2012-09-14 Walter Lee <walt@tilera.com>
+
+ Backport from mainline.
+ 2012-09-14 Walter Lee <walt@tilera.com>
+
+ * doc/invoke.texi (Option Summary): fix typesetting for -mcpu
+ option for TILEPro and TILE-Gx.
+
+2012-09-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (x86_prefetchw): New global variable.
+ (TARGET_PREFETCHW): New macro.
+ * config/i386/i386.c (PTA_PREFETCHW): Ditto.
+ (processor_alias_table): Add PTA_PREFETCHW to
+ bdver1, bdver2 and btver1.
+ (ix86_option_override_internal): Set x86_prefetchw for
+ PTA_PREFETCHW targets.
+ * config/i386/i386.md (prefetch): Expand to prefetchw
+ for TARGET_PREFETCHW.
+ (*prefetch_3dnow_<mode>): Also enable for TARGET_PREFETCHW.
+
+ Backport from mainline
+ 2012-08-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (prefetch): Do not assert mode of operand 0.
+ (*prefetch_sse_<mode>): Do not set mode of address_operand predicate.
+ Rename to ...
+ (*prefetch_sse): ... this.
+ (*prefetch_3dnow_<mode>): Do not set mode of address_operand predicate.
+ Rename to ...
+ (*prefetch_3dnow): ... this.
+
+2012-09-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/54559
+ * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
+ COMPLEX_TYPE with in_late_binary_op set temporarily to true.
+
+2012-09-12 Teresa Johnson <tejohnson@google.com>
+
+ Backport from mainline.
+ 2012-09-12 Teresa Johnson <tejohnson@google.com>
+
+ PR gcov-profile/54487
+ * configure.ac (HOST_HAS_F_SETLKW): Set based on compile
+ test using F_SETLKW with fcntl.
+ * configure, config.in: Regenerate.
+
+2012-09-12 Uros Bizjak <ubizjak@gmail.com>
+
+ Backport from mainline
+ 2012-09-12 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
+
+ * config/i386/i386.md : Comments on fma4 instruction selection
+ reflect requirement on register pressure based cost model.
+
+ * config/i386/driver-i386.c (host_detect_local_cpu): fma4
+ flag is set-reset as informed by the cpuid flag.
+
+ * config/i386/i386.c (processor_alias_table): fma4
+ flag is enabled for bdver2.
+
+2012-09-12 Christian Bruel <christian.bruel@st.com>
+
+ * config/sh/newlib.h (NO_IMPLICIT_EXTERN_C): Define.
+
+2012-09-12 Jakub Jelinek <jakub@redhat.com>
+
+ * config.gcc: Obsolete picochip-*.
+
+2012-09-11 Richard Guenther <rguenther@suse.de>
+
+ PR debug/54534
+ * cgraph.h (varpool_can_remove_if_no_refs): Restore dependence
+ on flag_toplevel_reorder.
+
+2012-09-10 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/predicates.md (small_symbolic_operand): Disallow
+ large offsets.
+
+2012-09-10 Georg-Johann Lay <avr@gjlay.de>
+
+ Backport from 2012-09-10 mainline r191132.
+
+ PR target/54536
+ * config/avr/avr-mcus.def (at90usb1287): Set LIBRARY_NAME to "usb1287".
+
+2012-09-10 Markus Trippelsdorf <markus@trippelsdorf.de>
+
+ PR middle-end/54515
+ * tree-sra.c (disqualify_base_of_expr): Check for possible
+ NULL_TREE returned by get_base_address()
+
+2012-09-07 Richard Guenther <rguenther@suse.de>
+
+ Backport from mainline
+ 2012-06-26 Jan Hubicka <jh@suse.cz>
+
+ PR lto/53572
+ * cgraph.h (varpool_can_remove_if_no_refs): Fix handling of
+ used symbols.
+
+2012-09-07 Richard Guenther <rguenther@suse.de>
+
+ Backport from mainline
+ 2012-07-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53922
+ * tree-vrp.c (value_inside_range): Change prototype to take
+ min/max instead of value-range.
+ (range_includes_zero_p): Likewise. Return the result from
+ value_inside_range.
+ (extract_range_from_binary_expr_1): Adjust to handle dont-know
+ return value from range_includes_zero_p.
+ (extract_range_from_unary_expr_1): Likewise.
+ (compare_range_with_value): Likewise.
+ (vrp_meet_1): Likewise.
+
+2012-09-07 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53667
+ * tree-ssa-structalias.c (handle_rhs_call): Properly clobber
+ EAF_NOESCAPED arguments. Transitively close non-EAF_DIRECT
+ arguments separately.
+
2012-09-07 Jakub Jelinek <jakub@redhat.com>
Backported from mainline
Backport from mainline.
2012-08-29 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
- Richard Earnshaw <richard.earnshaw@arm.com>
+ Richard Earnshaw <richard.earnshaw@arm.com>
PR target/54252
* config/arm/arm.c (neon_dereference_pointer): Adjust nelems by