OSDN Git Service

Backport from mainline
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 8c1face..51e53cb 100644 (file)
@@ -1,3 +1,338 @@
+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-12  Christian Bruel  <christian.bruel@st.com>
 
-       * config/sh/newlib.h (NO_IMPLICIT_EXTERN_C): Define.
+       * config/sh/newlib.h (NO_IMPLICIT_EXTERN_C): Define.
 
 2012-09-12  Jakub Jelinek  <jakub@redhat.com>