diff options
Diffstat (limited to 'gcc-4.7/gcc/ChangeLog')
-rw-r--r-- | gcc-4.7/gcc/ChangeLog | 5973 |
1 files changed, 5973 insertions, 0 deletions
diff --git a/gcc-4.7/gcc/ChangeLog b/gcc-4.7/gcc/ChangeLog new file mode 100644 index 000000000..b84d28656 --- /dev/null +++ b/gcc-4.7/gcc/ChangeLog @@ -0,0 +1,5973 @@ +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 + 2012-09-06 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/54455 + * sel-sched-ir.c (maybe_tidy_empty_bb): Give up if previous fallthru + bb ends up with asm goto referencing bb's label. + +2012-09-07 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> + + Backport from mainline. + 2012-08-29 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> + Richard Earnshaw <richard.earnshaw@arm.com> + + PR target/54252 + * config/arm/arm.c (neon_dereference_pointer): Adjust nelems by + element size. Use elem_type from the formal parameter. New parameter + fcode. + (neon_expand_args): Adjust call to neon_dereference_pointer. + +2012-09-06 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/sse.md (<sse4_1_avx2>_pblendvb): Use + reg_not_xmm0_operand_maybe_avx as operand 0 constraint. + +2012-09-06 Uros Bizjak <ubizjak@gmail.com> + + Backport from mainline + 2012-08-11 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.md (isa): Add fma and fma4. + (enabled): Handle fma and fma4. + * config/i386/sse.md (*fma_fmadd_<mode>): Merge *fma4_fmadd_<mode>. + (*fma_fmsub_<mode>): Merge *fma4_fmsub_<mode>. + (*fma_fnmadd_<mode>): Merge *fma4_fnmadd_<mode>. + (*fma_fnmsub_<mode>): Merge *fma4_fnmsub_<mode>. + (*fma_fmaddsub_<mode>): Merge *fma4_fmaddsub_<mode>. + (*fma_fmsubadd_<mode>): Merge *fma4_fmsubadd_<mode>. + + 2012-08-10 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/sse.md (*fma_fmadd_<mode>, *fma_fmsub_<mode>, + *fma_fnmadd_<mode>, *fma_fnmsub_<mode>, *fma_fmaddsub_<mode>, + *fma_fmsubadd_<mode>): Move FMA3 insn patterns before FMA4 patterns. + +2012-09-06 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/54498 + * tree-ssa-alias.h (get_continuation_for_phi): Add flag to + abort when reaching an already visited region. + * tree-ssa-alias.c (maybe_skip_until): Likewise. And do it. + (get_continuation_for_phi_1): Likewise. + (walk_non_aliased_vuses): When we translated the reference, + abort when we re-visit a region. + * tree-ssa-pre.c (translate_vuse_through_block): Adjust. + +2012-09-06 Andrew Pinski <apinski@cavium.com> + + PR tree-opt/54494 + * tree-inline.c (remap_gimple_op_r): Copy TREE_SIDE_EFFECTS also. + +2012-09-05 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/54486 + * builtins.c (fold_builtin_strspn, fold_builtin_strcspn): Use + build_int_cst with size_type_node instead of size_int. + +2012-09-05 Georg-Johann Lay <avr@gjlay.de> + + Backport from 2012-09-05 mainline r190697. + + PR target/54461 + * config.gcc (tm_file,target=avr-*-*): Add avr/avrlibc.h if + configured --with-avrlibc. + (tm_defines,target=avr-*-*): Add WITH_AVRLIBC if configured + --with-avrlibc. + * config/avr/avrlibc.h: New file. + * config/avr/avr-c.c: Build-in define __WITH_AVRLIBC__ if + configured --with-avrlibc. + * doc/invoke.texi (AVR Built-in Macros): Document __WITH_AVRLIBC__ + +2012-09-05 Bin Cheng <bin.cheng@arm.com> + + Backport from 2012-09-04 mainline r190919 + + PR target/45070 + * config/arm/arm.c (thumb1_extra_regs_pushed): Handle return value + of size less than 4 bytes by using macro ARM_NUM_INTS. + (thumb1_unexpanded_epilogue): Use macro ARM_NUM_INTS. + +2012-09-04 Richard Henderson <rth@redhat.com> + + * alias.c (read_dependence): Return true for ALIAS_SET_MEMORY_BARRIER. + +2012-09-04 Georg-Johann Lay <avr@gjlay.de> + + Backport from 2012-09-04 mainline r190920 + + PR target/54476 + * config/avr/avr.c (avr_expand_delay_cycles): Mask operand with SImode. + +2012-09-04 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> + + Backport from 2012-09-04 mainline r190914 + + PR target/54220 + * config/avr/avr.c (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): New + define to... + (avr_allocate_stack_slots_for_args): ...this new static function. + +2012-09-03 H.J. Lu <hongjiu.lu@intel.com> + + Backported from mainline + 2012-08-23 H.J. Lu <hongjiu.lu@intel.com> + + PR driver/54335 + * doc/invoke.texi: Add -da and remove -dm. + +2012-09-03 Jakub Jelinek <jakub@redhat.com> + + Backported from mainline + 2012-09-01 Jakub Jelinek <jakub@redhat.com> + + PR target/54436 + * config/i386/i386.md (*mov<mode>_insv_1_rex64, *movsi_insv_1): If + operands[1] is CONST_INT_P, convert it to QImode before printing. + + 2012-08-31 Jakub Jelinek <jakub@redhat.com> + + PR c/54428 + * c-convert.c (convert): Don't call fold_convert_loc if + TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e + is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from + COMPLEX_TYPE -> COMPLEX_TYPE conversion. + + 2012-08-24 Jakub Jelinek <jakub@redhat.com> + + PR c/54363 + * gimplify.c (optimize_compound_literals_in_ctor): Only recurse + if init is a CONSTRUCTOR. + +2012-09-02 Eric Botcazou <ebotcazou@adacore.com> + + PR rtl-optimization/54369 + * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before + calling dbr_schedule. + * config/sparc/sparc.c (sparc_reorg): Likewise. + +2012-08-31 Kirill Yukhin <kirill.yukhin@intel.com> + + Backport from mainline + 2012-08-23 Yuri Rumyantsev <ysrumyan@gmail.com> + + * config/i386/i386.c (ia32_multipass_dfa_lookahead) : Add + case for Atom processor. + +2012-08-28 Uros Bizjak <ubizjak@gmail.com> + + Backport from mainline + 2012-08-27 Uros Bizjak <ubizjak@gmail.com> + + PR target/46254 + * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): Return + true for TARGET_64BIT or !flag_pic. + * config/i386/sync.md (*atomic_compare_and_swap_doubledi_pic): Remove. + (atomic_compare_and_swap_double<mode>): Change operand 2 predicate + to cmpxchg8b_pic_memory_operand. Use DWIH mode iterator. + Add insn constraint. Conditionally emit xchg asm insns. + (atomic_compare_and_swap<mode>): Update calls. Check only + cmpxchg8b_pic_memory_operand in memory address fixup. + (DCASMODE): Remove. + (CASHMODE): Rename from DCASHMODE. + (doublemodesuffix): Update modes. + (regprefix): New mode attribute. + + (unspecv) <UNSPECV_CMPXCHG_{1,2,3,4}>: Remove. + <UNSPECV_CMPXCHG>: New constant. + (atomic_compare_and_swap<mode>_1): Rename from + atomic_compare_and_swap_single<mode>. Update calls and + unspec_volatile constants. + (atomic_compare_and_swap<mode>_doubleword): Rename from + atomic_compare_and_swap_double<mode>. Update calls and + unspec_volatile constants. + +2012-08-28 Walter Lee <walt@tilera.com> + + Backport from mainline + 2012-08-28 Walter Lee <walt@tilera.com> + + * confg/tilegx/tilegx.md: Fix code style. + (*zero_extendsidi_truncdisi): Fix typo. + * config/tilegx/tilegx.c: Fix code style. + (tilegx_function_profiler): Fix typo. + +2012-08-27 Walter Lee <walt@tilera.com> + + Backport from mainline + 2012-08-27 Walter Lee <walt@tilera.com> + + * doc/md.texi (TILE-Gx): Fix typo. + +2012-08-27 Walter Lee <walt@tilera.com> + + Backport from mainline + 2012-08-27 Walter Lee <walt@tilera.com> + + * config/tilegx/tilegx.c (tilegx_function_profiler): Fix typo. + * config/tilepro/tilepro.c (tilepro_function_profiler): Ditto. + +2012-08-27 Walter Lee <walt@tilera.com> + + Backport from mainline + 2012-08-27 Walter Lee <walt@tilera.com> + + * config/tilegx/tilegx.md (*bfins): Rename to insn_bfins. + (insn_bfins): Delete. + +2012-08-27 Walter Lee <walt@tilera.com> + + Backport from mainline + 2012-08-27 Walter Lee <walt@tilera.com> + + * config/tilegx/sync.md (atomic_compare_and_swap_bare<mode>, + atomic_exchange_bare<mode>, + atomic_fetch_<fetchop_name>_bare<mode>): Set type to X1_remote. + * config/tilegx/tilegx-generic.md (X1_remote): New insn_reservation. + * config/tilegx/tilegx.md (type): Add X1_remove. + (insn_cmpexch<four_if_si>, insn_exch<four_if_si>, + insn_fetchadd<four_if_si>, insn_fetchaddgez<four_if_si>, + insn_fetchand<four_if_si>, insn_fetchor<four_if_si>): Set type to + X1_remote. + +2012-08-25 Eric Botcazou <ebotcazou@adacore.com> + + PR rtl-optimization/54088 + * jump.c (delete_related_insns): Robustify latest change. + +2012-08-21 Richard Guenther <rguenther@suse.de> + + Backport from mainline + 2012-08-16 Richard Guenther <rguenther@suse.de> + + PR middle-end/54146 + * tree-ssa-loop-niter.c (find_loop_niter_by_eval): Free the + exit vector. + * ipa-pure-const.c (analyze_function): Use FOR_EACH_LOOP_BREAK. + * cfgloop.h (FOR_EACH_LOOP_BREAK): Fix. + * tree-ssa-structalias.c (handle_lhs_call): Properly free rhsc. + * tree-ssa-loop-im.c (analyze_memory_references): Adjust. + (tree_ssa_lim_finalize): Free all mem_refs. + * tree-ssa-sccvn.c (extract_and_process_scc_for_name): Free + scc when bailing out. + * modulo-sched.c (sms_schedule): Use FOR_EACH_LOOP_BREAK. + * ira-build.c (loop_with_complex_edge_p): Free loop exit vector. + * graphite-sese-to-poly.c (scop_ivs_can_be_represented): Use + FOR_EACH_LOOP_BREAK. + + 2012-08-17 Richard Guenther <rguenther@suse.de> + + * tree-sra.c (modify_function): Free redirect_callers vector. + * ipa-split.c (split_function): Free args_to_pass vector. + * tree-vect-stmts.c (vectorizable_operation): Do not pre-allocate + vec_oprnds. + (new_stmt_vec_info): Do not pre-allocate STMT_VINFO_SAME_ALIGN_REFS. + * tree-vect-slp.c (vect_free_slp_instance): Free the instance. + (vect_analyze_slp_instance): Free everything. + (destroy_bb_vec_info): Free the SLP instances. + + 2012-08-17 Richard Guenther <rguenther@suse.de> + + * params.def (integer-share-limit): Decrease from 256 to 251, + add rationale. + + 2012-08-21 Richard Guenther <rguenther@suse.de> + + * tree-ssa-loop-im.c (tree_ssa_lim_finalize): Properly free + the affine expansion cache. + +2012-08-20 Patrick Marlier <patrick.marlier@gmail.com> + + Backported from trunk + 2012-08-20 Patrick Marlier <patrick.marlier@gmail.com> + + PR middle-end/53992 + * omp-low.c (lower_omp_1): Handle GIMPLE_TRANSACTION. + +2012-08-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> + + Backport from mainline. + 2012-08-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> + + PR target/54212 + * config/arm/neon.md (vec_set<mode>_internal VD,VQ): Do not + mark as predicable. Adjust asm template. + (vec_setv2di_internal): Likewise. + (vec_extract<mode> VD, VQ): Likewise. + (vec_extractv2di): Likewise. + (neon_vget_lane<mode>_sext_internal VD, VQ): Likewise. + (neon_vset_lane<mode>_sext_internal VD, VQ): Likewise. + (neon_vdup_n<mode> VX, V32): Likewise. + (neon_vdup_nv2di): Likewise. + +2012-08-17 Walter Lee <walt@tilera.com> + + Backport from mainline + 2012-08-17 Walter Lee <walt@tilera.com> + + * config/tilegx/feedback.h (FEEDBACK_ENTER_EXPLICIT): Define. + (FEEDBACK_ENTER): Define. + (FEEDBACK_REENTER): Define. + (FEEDBACK_ENTRY): Define. + * config/tilepro/feedback.h: (FEEDBACK_ENTER_EXPLICIT): Define. + (FEEDBACK_ENTER): Define. + (FEEDBACK_REENTER): Define. + (FEEDBACK_ENTRY): Define. + +2012-08-16 Walter Lee <walt@tilera.com> + + Backport from mainline + 2012-08-16 Walter Lee <walt@tilera.com> + + * config.gcc (tilegx-*-linux*): Add feedback.h. + (tilepro-*-linux*): Likewise. + * config/tilegx/feedback.h: New file. + * config/tilepro/feedback.h: New file. + +2012-08-08 Pavel Chupin <pavel.v.chupin@intel.com> + + Backport from mainline r189840 and r187586: + 2012-07-25 Sergey Melnikov <sergey.melnikov@intel.com> + + * config/i386/i386.md (stack_protect_set): Disable the pattern + for Android since Android libc (bionic) does not provide random + value for stack protection guard at gs:0x14. Guard value + will be provided from external symbol (default implementation). + (stack_protect_set_<mode>): Likewise. + (stack_protect_test): Likewise. + (stack_protect_test_<mode>): Likewise. + * gcc/defaults.h: Define macro TARGET_HAS_BIONIC to 0 - target does + not have Bionic by default + * config/linux.h: Redefine macro TARGET_HAS_BIONIC to (OPTION_BIONIC) + Macro OPTION_BIONIC is defined in this file and provides Bionic + accessibility status + + 2012-05-16 Igor Zamyatin <igor.zamyatin@intel.com> + + * configure.ac: Stack protector enabling for Android targets. + * configure: Regenerate. + +2012-08-13 Jakub Jelinek <jakub@redhat.com> + + Backported from trunk + 2012-07-19 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/53942 + * function.c (assign_parm_setup_reg): Avoid zero/sign extension + directly from likely spilled non-fixed hard registers, move them + to pseudo first. + +2012-08-11 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/sse.md (xop_phaddbq): Fix vec_select selectors. + (xop_phaddubq): Ditto. + +2012-08-10 Ulrich Weigand <ulrich.weigand@linaro.org> + + Backport from mainline + 2012-07-30 Ulrich Weigand <ulrich.weigand@linaro.org> + Richard Earnshaw <rearnsha@arm.com> + + * target.def (vector_alignment): New target hook. + * doc/tm.texi.in (TARGET_VECTOR_ALIGNMENT): Document new hook. + * doc/tm.texi: Regenerate. + * targhooks.c (default_vector_alignment): New function. + * targhooks.h (default_vector_alignment): Add prototype. + * stor-layout.c (layout_type): Use targetm.vector_alignment. + * config/arm/arm.c (arm_vector_alignment): New function. + (TARGET_VECTOR_ALIGNMENT): Define. + + * tree-vect-data-refs.c (vect_update_misalignment_for_peel): Use + vector type alignment instead of size. + * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Use + element type size directly instead of computing it from alignment. + Fix variable naming and comment. + +2012-08-09 Uros Bizjak <ubizjak@gmail.com> + + Backport from mainline + 2012-08-09 Uros Bizjak <ubizjak@gmail.com> + + * config/alpha/alpha.c (alpha_pad_noreturn): Rename to ... + (alpha_pad_function_end): ... this. Also insert NOP between + sibling call and GP load. + (alpha_reorg): Update call to alpha_pad_function_end. Expand comment. + +2012-08-09 H.J. Lu <hongjiu.lu@intel.com> + + Backport from mainline + 2012-08-08 Richard Sandiford <rdsandiford@googlemail.com> + H.J. Lu <hongjiu.lu@intel.com> + + PR rtl-optimization/54157 + * combine.c (gen_lowpart_for_combine): Don't return identity + for CONST or symbolic reference. + +2012-08-06 Uros Bizjak <ubizjak@gmail.com> + + Backport from mainline + 2012-07-23 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386-protos.h (ix86_lea_outperforms): Remove prototype. + * config/i386/i386.c (ix86_lea_outperforms): Make static. Make + split_cost argument signed. + (ix86_use_lea_for_mov): Use INVALID_REGNUM instead of -1. + (ix86_avoid_lea_for_addr): Ditto. + + 2012-07-27 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false if + the address has less than two components. + +2012-08-02 Steve Ellcey <sellcey@mips.com> + + Backport from mainline + 2012-07-19 Steve Ellcey <sellcey@mips.com> + + * config/mips/mips.c (mips_set_mips16_mode): Clear SYNCI_MASK in + MIPS16 mode. + +2012-08-02 Uros Bizjak <ubizjak@gmail.com> + + Backport from mainline + 2012-07-24 Uros Bizjak <ubizjak@gmail.com> + + PR target/53961 + * config/i386/i386.c (ix86_legitimate_address_p): Move check for + negative constant address for TARGET_X32 ... + (ix86_decompose_address): ... here. Reject constant addresses + that don't satisfy x86_64_immediate_operand predicate. + + 2012-07-23 Uros Bizjak <ubizjak@gmail.com> + + PR target/53961 + * config/i386/i386.md (*lea): Add asserts to detect invalid addresses. + * config/i386/i386.c (ix86_print_operand_address): Ditto. + (ix86_decompose_address): Allow (zero_extend:DI (subreg:SI (...))) + addresses. Prevent zero extensions of CONST_INT operands. + + 2012-07-22 Uros Bizjak <ubizjak@gmail.com> + + PR target/53961 + * config/i386/i386.md (*lea): New insn pattern. + (*lea_1): Remove. + (*lea<mode>_2): Ditto. + (*lea_{3,4,5,6}_zext): Ditto. + * config/i386/predicates.md (lea_address_operand): Do not reject + zero-extended address operands. + * config/i386/constraints.md (j): Remove address constraint. + * config/i386/i386.c (ix86_decompose_address): Allow SImode subreg + of an address. + (ix86_print_operand_address): Handle SImode subreg of an address. + (ix86_avoid_lea_for_addr): Reject zero-extended addresses for now. + +2012-08-01 Uros Bizjak <ubizjak@gmail.com> + + Backport from mainline + 2012-03-09 Uros Bizjak <ubizjak@gmail.com> + + PR target/52530 + * config/i386/i386.c (ix86_print_operand): Handle 'E' operand modifier. + (ix86_print_operand_address): Handle UNSPEC_LEA_ADDR. Do not fallback + to set code to 'q'. + * config/i386/i386.md (UNSPEC_LEA_ADDR): New unspec. + (*movdi_internal_rex64): Use %E operand modifier for lea. + (*movsi_internal): Ditto. + (*lea_1): Ditto. + (*lea<mode>_2): Ditto. + (*lea_{3,4,5,6}_zext): Ditto. + (*tls_global_dynamic_32_gnu): Ditto. + (*tls_global_dynamic_64): Ditto. + (*tls_dynamic_gnu2_lea_32): Ditto. + (*tls_dynamic_gnu2_lea_64): Ditto. + (pro_epilogue_adjust_stack_<mode>_add): Ditto. + +2012-08-01 Uros Bizjak <ubizjak@gmail.com> + + Backport from mainline + 2012-08-01 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.c (ix86_address_subreg_operand): Reject + stack pointer. + (ix86_print_operand_address): Assert that parts.base and parts.index + are non-NULL after call to simplify_subreg. + +2012-07-22 Oleg Endo <olegendo@gcc.gnu.org> + + PR target/33135 + * config/sh/sh.opt (mieee): Use Var instead of Mask. Correct + description. + * config/sh/sh.c (sh_option_override): Do not change + flag_finite_math_only. Set TARGET_IEEE to complement of + flag_finite_math_only. + * doc/invoke.texi (SH options): Add mno-ieee. Correct + description of mieee and mno-ieee behavior. + +2012-07-20 Kirill Yukhin <kirill.yukhin@intel.com> + + PR target/53877 + * config/i386/lzcntintrin.h (_lzcnt_u32): New. + (_lzcnt_u64): Ditto. + +2012-07-20 Andrey Belevantsev <abel@ispras.ru> + + Backport from mainline + 2012-03-06 Andrey Belevantsev <abel@ispras.ru> + + PR rtl-optimization/52250 + * sel-sched-ir.c (maybe_tidy_empty_bb): Try harder to find a bb + to put note list into. Unconditionally call move_bb_info. + (move_bb_info): Do not assert the blocks being in the same region, + just drop the note list if they are not. + +2012-07-19 Eric Botcazou <ebotcazou@adacore.com> + + * config/sparc/sparc.md (adddi3_insn_sp32): Add earlyclobber. + +2012-07-19 Eric Botcazou <ebotcazou@adacore.com> + + * tree-ssa-forwprop.c (combine_conversions): Punt if the RHS of the + defining statement is a SSA name that occurs in abnormal PHIs. + +2012-07-19 Eric Botcazou <ebotcazou@adacore.com> + + * gimple-fold.c (canonicalize_constructor_val): Strip only useless type + conversions. + +2012-07-19 Richard Guenther <rguenther@suse.de> + Eric Botcazou <ebotcazou@adacore.com> + + * tree-ssa-ccp.c (valid_lattice_transition): Clarify comment + about transition from invariant to known bits. + (likely_value): Addresses with UNDEFINED components are UNDEFINED. + +2012-07-19 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/54017 + * tree-cfgcleanup.c (cleanup_omp_return): Remove. + (cleanup_tree_cfg_bb): Don't call it. + * omp-low.c (expand_omp_sections): Fix up the !exit_reachable case + handling. + +2012-07-19 Christian Bruel <christian.bruel@st.com> + + PR target/54029 + * config/sh/sh.c (gen_far_branch): Set JUMP_LABEL for return jumps. + +2012-07-18 Ralf Corsépius <ralf.corsepius@rtems.org> + + * config.gcc (v850-*-rtems*): New target. + * config/v850/rtems.h: New. + * config/v850/t-rtems: New. + +2012-07-18 Nick Clifton <nickc@redhat.com> + + * doc/invoke.texi (ARM Options): Document -munaligned-access. + +2012-07-15 Uros Bizjak <ubizjak@gmail.com> + + PR target/53961 + + Backport from mainline + 2012-04-25 Jakub Jelinek <jakub@redhat.com> + + PR target/53110 + * config/i386/i386.md (and<mode>3): For andq $0xffffffff, reg + instead expand it as zero extension. + +2012-07-14 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.md (QImode and HImode cmove splitters): Merge + QImode and HImode splitters. Use ix86_comparison_operator. + Explicitly match FLAGS_REG. + (DFmode cmove splitter): Explicitly match FLAGS_REG. + +2012-07-13 Richard Sandiford <rdsandiford@googlemail.com> + Steven Bosscher <steven@gcc.gnu.org> + Bernd Schmidt <bernds@codesourcery.com> + + PR rtl-optimization/53908 + * df-problems.c (can_move_insns_across): When doing + memory-reference book-keeping, handle call insns. + +2012-07-10 Uros Bizjak <ubizjak@gmail.com> + + Backport from mainline + 2012-07-03 Uros Bizjak <ubizjak@gmail.com> + + PR target/53811 + * config/i386/i386.c (x86_output_mi_thunk): Check if fnaddr satisfies + sibcall_insn_operand. Move it to a temporary register if not. + + 2012-07-06 Uros Bizjak <ubizjak@gmail.com> + + PR target/53853 + * config/i386/i386.c (x86_output_mi_thunk): For CM_LARGE_PIC model, + emit PIC sequence for fnaddr symbol reference in advance. + +2012-07-09 Jason Merrill <jason@redhat.com> + + PR c++/53882 + * tree.c (type_contains_placeholder_1): Handle NULLPTR_TYPE. + (type_hash_eq): Likewise. + + PR c++/53826 + * tree.c (build_zero_cst): Handle NULLPTR_TYPE. + +2012-07-07 Ulrich Weigand <ulrich.weigand@linaro.org> + + * combine.c (force_to_mode) [LSHIFTRT]: Avoid undefined behaviour + due to negative shift amount. + +2012-07-06 Kai Tietz <ktietz@redhat.com> + + Backport from mainline. + PR bootstrap/52947 + * config/i386/mingw32.h (NATIVE_SYSTEM_HEADER_DIR): Define it always + as "/mingw/include". + +2012-07-06 Nick Clifton <nickc@redhat.com> + + * config/mn10300/mn10300.c (mn10300_encode_section_info): Call + default_encode_section_info. + +2012-07-06 Richard Guenther <rguenther@suse.de> + + Backport from mainline + 2012-03-30 Richard Guenther <rguenther@suse.de> + + PR middle-end/52786 + * double-int.c (rshift_double): Remove not needed cast. + + 2012-03-28 Richard Guenther <rguenther@suse.de> + + PR middle-end/50708 + * double-int.h (rshift_double): Remove. + * double-int.c (lshift_double): Use absu_hwi to make count + positive. + (rshift_double): Make static, take unsigned count argument, + remove handling of negative count argument. + (double_int_rshift): Dispatch to lshift_double. + +2012-07-06 Richard Guenther <rguenther@suse.de> + + Backport from mainline + 2012-06-18 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/53693 + * tree-vect-patterns.c (vect_operation_fits_smaller_type): + Reject operands with more than one use. + +2012-07-06 Richard Guenther <rguenther@suse.de> + + Backport from mainline + 2012-04-11 Richard Guenther <rguenther@suse.de> + + PR middle-end/52621 + * tree-chrec.c (evolution_function_is_invariant_rec_p): Properly + consider loop nesting. + (evolution_function_is_univariate_p): Properly check the remainder + for chrecs. + +2012-07-05 Pat Haugen <pthaugen@us.ibm.com> + + Backport from mainline + 2012-05-24 Pat Haugen <pthaugen@us.ibm.com> + + * config/rs6000/rs6000.c (rs6000_option_override_internal): Change + rs6000_sched_costly_dep default to true_store_to_load_dep_costly. + (adjacent_mem_locations): Move some code to and call... + (get_memref_parts): ...new function. + (mem_locations_overlap): New function. + (rs6000_adjust_priority): Adjust calls to is_load_insn/is_store_insn. + (is_mem_ref): Rename to... + (find_mem_ref): ...this. Return MEM rtx. + (get_store_dest): Remove function. + (is_load_insn1, is_load_insn, is_store_insn1, is_store_insn): Add + new parameter and adjust calls. + (rs6000_is_costly_dependence): Update calls for extra arg. Make sure + mem refs overlap for true_store_to_load_dep_costly. + (rs6000_sched_reorder2): Update calls for extra arg. Adjust args + passed to adjacent_mem_locations. + (is_costly_group): Walk resolved dependency list. + (force_new_group): Emit group ending nop for Power6/Power7. + * config/rs6000/rs6000.md (UNSPEC_GRP_END_NOP): New enum value. + (group_ending_nop): New define_insn. + +2012-07-04 Richard Guenther <rguenther@suse.de> + + PR middle-end/53433 + * gimple-fold.c (get_base_constructor): Do not return an + error_mark_node DECL_INITIAL. + +2012-07-04 Uros Bizjak <ubizjak@gmail.com> + + Backport from mainline + 2012-07-03 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.c (ix86_option_override_internal): Fix wrong + code model string in the error message. + +2012-07-04 Tristan Gingold <gingold@adacore.com> + + Backport from mainline. + 2012-06-25 Tristan Gingold <gingold@adacore.com> + + * config/i386/winnt.c (i386_pe_seh_end_prologue): Move code to ... + (seh_cfa_adjust_cfa): ... that function. + (seh_emit_stackalloc): Do not emit out of range values. + * config/i386/i386.md: Delete unused UNSPEC_REG_SAVE, + UNSPEC_DEF_CFA constants. + * config/i386/i386.h (SEH_MAX_FRAME_SIZE): Define. + * config/i386/i386.c (ix86_frame_pointer_required): Required + for very large frames on SEH target. + (ix86_compute_frame_layout): Save area is before frame pointer + on SEH target. Handle very large frames. + (ix86_expand_prologue): Likewise. + +2012-07-04 Richard Guenther <rguenther@suse.de> + + * tree.c (find_decls_types_r): Handle TYPE_CONTEXT the same + as in free_lang_data_in_type. + +2012-07-02 Martin Jambor <mjambor@suse.cz> + + Backport from mainline. + 2012-07-02 Martin Jambor <mjambor@suse.cz> + + PR middle-end/38474 + * ipa-prop.c (compute_known_type_jump_func): Put BINFO check before a + dynamic type change check. + +2012-06-29 Eric Botcazou <ebotcazou@adacore.com> + + * tree-eh.c (lower_try_finally_switch): Really put the location of the + last statement of the finally block onto the switch. + +2012-06-29 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> + + * configure: Regenerate. + + Backport from mainline. + 2012-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> + + * config.gcc (target_type_format_char): New. Document it. Set it for + arm*-*-* . + * configure.ac (gnu_unique_option): Use target_type_format_char + in test. Comment rationale. + +2012-06-29 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> + + Backport from mainline. + 2012-05-30 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> + + * config/arm/arm.c (arm_evpc_neon_vrev): Adjust off by one error. + +2012-06-28 Georg-Johann Lay <avr@gjlay.de> + + Backport from 2012-06-28 mainline r189049 + + PR 53595 + * config/avr/avr.c (avr_hard_regno_call_part_clobbered): New. + * config/avr/avr-protos.h (avr_hard_regno_call_part_clobbered): New. + * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): Forward to + avr_hard_regno_call_part_clobbered. + +2012-06-28 Richard Guenther <rguenther@suse.de> + + PR middle-end/53790 + * expr.c (expand_expr_real_1): Verify if the type is complete + before inspecting its size. + +2012-06-27 Nick Clifton <nickc@redhat.com> + + * config/rx/rx.md (comparesi3_extend): Remove = modifier from + input operand. + +2012-06-26 Alexandre Oliva <aoliva@redhat.com> + + PR debug/53682 + * cselib.c (promote_debug_loc): Don't crash on NULL argument. + +2012-06-26 Nick Clifton <nickc@redhat.com> + + * config/rx/rx.md (simple_return): Use the simple_return rtx. + +2012-06-25 Jakub Jelinek <jakub@redhat.com> + + PR target/53759 + * config/i386/sse.md (sse_loadlps): Use x m x constraints instead + of x x x in the vmovlps load alternative. + +2012-06-22 Richard Guenther <rguenther@suse.de> + + * gcov-iov.c: Include bconfig.h and system.h. + +2012-06-22 Richard Guenther <rguenther@suse.de> + + PR gcov-profile/53744 + * gcov-iov.c (main): Treat "" and "prerelease" the same. + +2012-06-22 Eric Botcazou <ebotcazou@adacore.com> + + * tree-ssa-live.c (remove_unused_scope_block_p): Remove again + DECL_IGNORED_P non-reg vars even if they are used. + +2012-06-19 Jason Merrill <jason@redhat.com> + + PR c++/52637 + * dwarf2out.c (modified_type_die): Use scope_die_for. + (gen_type_die_with_usage, dwarf2out_finish): Likewise. + (uses_local_type_r, uses_local_type): New. + (scope_die_for): Keep a type that uses a local type in local scope. + Use get_context_die for namespace and type scope. + +2012-06-19 Richard Guenther <rguenther@suse.de> + + PR middle-end/53470 + * tree.c (free_lang_data_in_type): Do not clear TYPE_CONTEXT but + replace it with the first non-BLOCK context. + +2012-06-18 Vladimir Makarov <vmakarov@redhat.com> + + PR rtl-optimization/53700 + + Backport from mainline + 2012-03-29 Vladimir Makarov <vmakarov@redhat.com> + + * ira-color.c (setup_left_conflict_sizes_p): Process all + conflicting objects. + +2012-06-18 Venkataramanan Kumar <venkataramanan.kumar@amd.com> + + Backport from mainline + 2012-05-09 Uros Bizjak <ubizjak@gmail.com> + + PR target/52908 + * config/i386/sse.md (vec_widen_smult_hi_v4si): Expand using + xop_pmacsdqh insn pattern instead of xop_mulv2div2di3_high. + (vec_widen_smult_lo_v4si): Expand using xop_pmacsdql insn pattern + instead of xop_mulv2div2di3_low. + (xop_p<macs>dql): Fix vec_select selector. + (xop_p<macs>dqh): Ditto. + (xop_mulv2div2di3_low): Remove insn_and_split pattern. + (xop_mulv2div2di3_high): Ditto. + +2012-06-17 Uros Bizjak <ubizjak@gmail.com> + + Backport from mainline: + 2012-06-17 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/sse.md (vcvtph2ps): Fix vec_select selector. + +2012-06-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + Backport from mainline: + 2012-06-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * config/pa/pa.h (MAX_PCREL17F_OFFSET): Define. + * config/pa/pa.c (pa_attr_length_millicode_call): Use + MAX_PCREL17F_OFFSET instead of fixed offset. + (pa_attr_length_call): Likewise. + (pa_attr_length_indirect_call): Likewise. + +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 + * tree-cfg.c (verify_gimple_assign_unary): Allow any + conversions from integral types to pointer types. + +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__ + unintentionally removed in r184616. + +2012-03-01 Venkataramanan Kumar <venkataramanan.kumar@amd.com> + + * doc/invoke.texi: Document AMD bdver2 and remove mentioning + 3DNow from bdver1. + +2012-02-29 Jakub Jelinek <jakub@redhat.com> + Uros Bizjak <ubizjak@gmail.com> + + PR target/52437 + * config/i386/sse.md (vec_set<mode>_0): Swap "*r" and "fF" + alternatives, add "e" constraint to the new last alternative + and ! to last 3 alternatives. + +2012-02-29 Eric Botcazou <ebotcazou@adacore.com> + + * dwarf2out.c (modified_type_die): Set DW_AT_GNAT_descriptive_type and + DW_AT_artificial attributes at the end of the processing. + (gen_array_type_die): Likewise. + (gen_enumeration_type_die): Likewise. + (gen_struct_or_union_type_die): Likewise. + (add_gnat_descriptive_type_attribute): Do not suppress debug info for + the parent type. + +2012-02-29 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/52419 + * expr.c (expand_assignment): If doing misaligned store that doesn't + cover all mode bits, perform a RMW cycle. + + PR tree-optimization/52429 + * tree-parloops.c (separate_decls_in_region_debug): Return early + if var is LABEL_DECL. + +2012-02-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> + + PR tree-optimization/52424 + * tree-ssa-dom.c (dom_opt_leave_block): Push a marker before + calling dom_thread_across_edge. + +2012-02-29 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.c: Move definition of TARGET macros to end of file. + +2012-02-29 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr-protos.h (avr_output_bld): Remove unused prototype. + * config/avr/avr.c (avr_output_bld): Remove unused function. + (avr_out_sbxx_branch): Use "%T" to print bit position. + +2012-02-29 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.md: Untabify. + +2012-02-29 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.md (eqne): New code iterator. + (*dec-and-branchsi): Use it in text peephole's condition. + (*dec-and-branchhi): Ditto. + (*dec-and-branchqi): Ditto. + +2012-02-29 Georg-Johann Lay <avr@gjlay.de> + + PR target/49939 + * config/avr/avr.h (ASM_SPEC): Add -mno-skip-bug if we know that + the device does not have the skip-bug. + +2012-02-29 Oleg Endo <olegendo@gcc.gnu.org> + + * doc/invoke.texi (-msoft-atomic): Add more detailed description. + (-mbranch-cost, -mcbranchdi -mcmpeqdi -mfused-madd + -mpretend-cmove): New. + +2012-02-29 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/52397 + * df.h (struct df_d): Adjust comment that hard_regs_live_count + doesn't count DEBUG_INSN refs. + * df-scan.c (df_ref_create_structure): Don't set DF_HARD_REG_LIVE + for DEBUG_INSN refs. + +2012-02-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> + + Partially revert: + + 2012-02-20 Richard Guenther <rguenther@suse.de> + PR tree-optimization/52298 + * tree-vect-stmts.c (vectorizable_load): Properly use + STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing + outer loops. + +2012-02-28 Aldy Hernandez <aldyh@redhat.com> + + PR middle-end/51752 + * gimple.h (gimple_in_transaction): New. + (gimple_set_in_transaction): New. + (struct gimple_statement_base): Add in_transaction field. + * tree-ssa-loop-im.c: (movement_possibility): Restrict movement of + transaction loads. + (tree_ssa_lim_initialize): Compute transaction bits. + * tree.h (compute_transaction_bits): Protoize. + * trans-mem.c (tm_region_init): Use the heap to store BB + auxilliary data. + (compute_transaction_bits): New. + +2012-02-28 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> + + * gcc.c (display_help): Document --help=common and sort entries + alphabetically. + +2012-02-28 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> + + * doc/install.texi: Document check-$LANG specific shortcuts + +2012-02-28 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> + + PR target/51534 + * config/arm/arm.c (neon_builtin_data): Add entries for vcgeu + and vcgtu. + * config/arm/arm_neon.h: Regenerate. + * config/arm/neon.md (unspec): Add UNSPEC_VCGEU, and UNSPEC_VCGTU. + (neon_vcgeu): New insn. + (neon_vcgtu): Likewise. + * config/arm/neon.ml (s_8_32, u_8_32): New lists. + (ops): Unsigned comparison intrinsics call a different + builtin. + +2012-02-28 Richard Guenther <rguenther@suse.de> + + PR target/52407 + * config/i386/i386.c (ix86_expand_vector_set): Fix element + ordering for the VEC_CONCAT for two element vectors for + V2SFmode, V2SImode and V2DImode. + +2012-02-28 Richard Earnshaw <rearnsha@arm.com> + + PR target/49448 + * config.gcc (arm*-*-linux*): Use an unambiguous pattern for + detecting big-endian triplets. + +2012-02-28 Richard Earnshaw <rearnsha@arm.com> + + * arm.c (aapcs_vfp_is_call_or_return_candidate): Only use the machine + mode if there is no type information available. + +2012-02-28 Thomas Koenig <tkoenig@gcc.gnu.org> + + PR tree-optimization/53207 + * doc/invoke.texi: Document as experimental and relying on graphite. + +2012-02-28 Georg-Johann Lay <avr@gjlay.de> + + * 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 + * tree-sra.c (build_ref_for_offset): Also look at the base + TYPE_ALIGN when figuring out the alignment of the replacement. + +2012-02-28 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/52402 + * ipa-prop.c (ipa_modify_call_arguments): Properly use + mis-aligned types when creating the accesses at the call site. + +2012-02-28 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/builtins.def: New file. + * config/avr/t-avr (avr.o, avr-c.o): Depend on it. + * config/avr/avr.c (enum avr_builtin_id): Use it. + (avr_init_builtins): Use it. And use avr_bdesc. + (bdesc_1arg): Remove. + (bdesc_2arg): Remove. + (bdesc_3arg): Remove. + (struct avr_builtin_description): Add field n_args. + (avr_bdesc): New static variable using builtins.def. + (avr_expand_builtin): Use it. + Don't call avr_expand_delay_cycles if op0 is not CONST_INT. + (avr_fold_builtin): Fold AVR_BUILTIN_SWAP. + Don't fold AVR_BUILTIN_INSERT_BITS if arg0 is not INTEGER_CST. + +2012-02-28 Georg-Johann Lay <avr@gjlay.de> + + PR target/52148 + * config/avr/avr.md (movmem_<mode>): Replace match_operand that + match only one single hard register with respective hard reg rtx. + (movmemx_<mode>): Ditto. + * config/avr/avr.c (avr_emit_movmemhi): Adapt expanding to new + insn anatomy of movmem[x]_<mode>. + (avr_out_movmem): Same for printing assembler and operand usage. + +2012-02-28 Georg-Johann Lay <avr@gjlay.de> + + PR target/49868 + PR target/52261 + * doc/extend.texi (AVR Named Address Spaces): No more try to fix + address spaces located outside of device flash. + + * config/avr/avr.h (base_arch_s): Remove field n_segments. + (mcu_type_s): Add field n_flash. + * config/avr/avr-devices.c (avr_arch_types): Remove .n_segments. + Set .have_elpm and .have_elpmx to 1 for avrxmega4 and avrxmega5. + (AVR_MCU): Add N_FLASH argument. + * config/avr/avr-mcus.def (AVR_MCU): Add initializer for .n_flash. + * config/avr/avr-c.c (avr_cpu_cpp_builtins): Only define built-in + macro __FLASH<n> if that address space makes sense for the device. + * config/avr/avr.c (avr_out_lpm): Don't try to fix address spaces + outside of target flash. + (avr_asm_named_section): Ditto. + (avr_asm_select_section): Ditto. + (avr_addr_space_convert): Ditto. + (avr_emit_movmemhi): Ditto. + (avr_nonconst_pointer_addrspace, avr_pgm_check_var_decl): Error if + address space is outside of device flash. + (avr_insert_attributes): Ditto. + (avr_xload_libgcc_p): Use avr_current_device->n_flash instead of + avr_current_arch->n_segments. + +2012-02-27 H.J. Lu <hongjiu.lu@intel.com> + + PR target/52352 + * config/i386/i386.md (*movabs<mode>_1): Enable only for + TARGET_LP64. + (*movabs<mode>_2): Likewise. + +2012-02-27 Jakub Jelinek <jakub@redhat.com> + + PR target/52375 + * config/arm/neon.md (vashr<mode>3, vlshr<mode>3): Use + s_register_operand in the test instead of REG_P. Don't call + gen_reg_rtx if it won't be used. + + PR tree-optimization/52376 + * ipa-split.c (split_function): Ignore CLOBBER stmts. + +2012-02-27 Stuart Henderson <shenders@gcc.gnu.org> + + * ifcvt.c (noce_get_condition): Check condition variable is not + small_register_classes_for_mode_p before accepting. + +2012-02-27 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.md (*movabs<mode>_1): Fix operand 1 constraints. + +2012-02-27 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> + + Revert: + 2012-01-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> + * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for + tuning parameters. + * config/arm/arm.c (arm_cortex_a15_tune): New static variable. + +2012-02-27 Oleg Endo <olegendo@gcc.gnu.org> + + * config/sh/sh.h: Delete dead GO_IF_LEGITIMATE_INDEX macro. + +2012-02-26 Oleg Endo <olegendo@gcc.gnu.org> + + * config/sh/predicates.md: Remove blank lines. + * config/sh/sh.c: Fix typos in comments. + * config/sh/constraints.md: Likewise. + * config/sh/sh.md: Remove blank lines. + Fix typos in comments. Use ;; as comment characters. + +2012-02-26 Walter Lee <walt@tilera.com> + + * config/tilegx/tilegx.c (match_pcrel_step2): Fix instruction pattern. + (replace_mov_pcrel_step2): Ditto. + +2012-02-25 Alexandre Oliva <aoliva@redhat.com> + + PR debug/52001 + * alias.c (refs_newer_value_cb, refs_newer_value_p): New. + (get_addr): Walk canonical value's locs. Avoid returning VALUEs + and locs that reference values newer than the non-canonical value + at hand. Return the canonical value as a worst case. + (memrefs_conflict_p): Walk canonical value's locs. + + PR debug/52001 + * cselib.c (preserve_only_constants): Rename to... + (preserve_constants_and_equivs): ... this. Split out... + (invariant_or_equiv_p): ... this. Preserve plus expressions + of other preserved expressions too. + (cselib_reset_table): Adjust. + * var-tracking.c (reverse_op): Use canonical value to build + reverse operation. + +2012-02-23 Kai Tietz <ktietz@redhat.com> + + * config/i386/i386.c (ix86_delegitimize_address): Handle + UNSPEC_PCREL plus displacement. + +2012-02-24 Georg-Johann Lay <avr@gjlay.de> + + PR target/52261 + * config/avr/avr.c (avr_out_movhi_mr_r_xmega): Use base + to test for unusedness in st X addressing. + +2012-02-24 Richard Guenther <rguenther@suse.de> + + PR middle-end/52361 + * gimple.c (walk_gimple_op): Use predicates with less redundant tests. + (is_gimple_reg_type): Move inline ... + * gimple.h (is_gimple_reg_type): ... here. + +2012-02-24 Richard Guenther <rguenther@suse.de> + + PR middle-end/52361 + * passes.c (execute_function_todo): When verifying SSA form + verify gimple form first. + * tree-ssa.c (verify_ssa): Do not verify gimple form here. + +2012-02-24 Richard Guenther <rguenther@suse.de> + + PR middle-end/52355 + * fold-const.c (fold_addr_of_array_ref_difference): New function. + (fold_binary_loc): Use it to extend the existing &a[i] - &a[j] folding. + +2012-02-13 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> + + * tree-if-conv (predicate_scalar_phi): Commentary typo fix. + +2012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> + + * tree-phinodes.c (make_phi_node): Mark static. + * tree-flow.h (make_phi_node): Remove extern decl. + * doc/gimple.texi (make_phi_node): Remove documentation. + +2012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> + + * tree-into-ssa (update_ssa): Avoid trailing whitespace in dump_file. + * tree-ssa-sccvn.c (print_scc): Ditto. + +2012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> + + * doc/passes.texi (Full redundancy elimination): Fix typo. + +2012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> + + * doc/invoke.texi (-fdse, -fdce): Remove duplicate entries. + +2012-02-23 Eric Botcazou <ebotcazou@adacore.com> + + PR bootstrap/52287 + * haifa-sched.c (rank_for_schedule): Stabilize sort for debug insns. + +2012-02-23 Uros Bizjak <ubizjak@gmail.com> + + PR c/52290 + * c-decl.c (start_function): Exit early if decl1 is not FUNTION_DECL. + +2012-02-23 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.md (code_stdname): Add ior, xor. + (xior): New code iterator. + (*<code_stdname><mode>qi.byte0): Use xior instead of ior. + (*<code_stdname><mode>qi.byte1-3): Ditto. + +2012-02-23 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/52019 + * ipa-split.c (find_return_bb, find_retval, visit_bb): Ignore + CLOBBER stmts. + +2012-02-23 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> + + * acinclude.m4: Use HAVE_INITFINI_ARRAY_SUPPORT instead of + HAVE_INITFINI_ARRAY to work around namespace pollution in + certain versions of newlib system headers. + * config.in: Regenerate. + * configure: Regenerate. + * config/initfini-array.h: Use HAVE_INITFINI_ARRAY_SUPPORT + instead of HAVE_INITFINI_ARRAY. + +2012-02-22 Uros Bizjak <ubizjak@gmail.com> + + PR target/52330 + * config/i386/i386.c (ix86_print_operand) <case 'H'>: Error out if x + is not offsettable memory reference. + +2012-02-22 Georg-Johann Lay <avr@gjlay.de> + + PR target/18145 + * config/avr/avr.c (avr_asm_output_aligned_decl_common): Skip + setting avr_need_clear_bss_p for __gnu_lto* symbols. + +2012-02-22 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.h (avr_accumulate_outgoing_args): Return int. + * config/avr/avr.c (avr_accumulate_outgoing_args): Return int. + +2012-02-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * configure.ac (LIB_TLS_SPEC): Enforce use of alternate thread + library on Solaris 8 even without TLS support. + * configure: Regenerate. + +2012-02-22 Richard Guenther <rguenther@suse.de> + + PR middle-end/52329 + * gimple-fold.c (fold_stmt_1): Also canonicalize ADDR_EXPRs + for GIMPLE_DEBUG stmts. + +2012-02-22 Martin Jambor <mjambor@suse.cz> + + PR middle-end/51782 + * emit-rtl.c (set_mem_attributes_minus_bitpos): Set address space + according to the base object. + +2012-02-22 Georg-Johann Lay <avr@gjlay.de> + + PR rtl-optimization/50063 + * config/avr/avr.md (movhi_sp_r): Handle -1 (unknown IRQ state) + and 2 (8-bit SP) in operand 2. + * config/avr/avr.c (avr_prologue_setup_frame): Adjust prologue + setup to use movhi_sp_r instead of vanilla move to write SP. + Adjust REG_CFA notes to superseed unspec. + (expand_epilogue): Adjust epilogue setup to use movhi_sp_r instead + of vanilla move. + As function body might contain CLI or SEI: Use irq_state 0 (IRQ + known to be off) only with TARGET_NO_INTERRUPTS. Never use + irq_state 1 (IRQ known to be on) here. + +2012-02-21 Bernd Schmidt <bernds@codesourcery.com> + + * ira.c (check_allocation): Use REG_WORDS_BIG_ENDIAN, not + WORDS_BIG_ENDIAN. + * ira-color.c (setup_profitable_hard_regs, check_hard_reg_p, + assign_hard_reg): Likewise. + +2012-02-21 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.md (neghi2): Remove "!d,0" alternative. Tweak "r,0". + +2012-02-21 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.md + (*dec-and-branchhi!=-1.d.clobber): New text peephole. + (*dec-and-branchhi!=-1.l.clobber): New text peephole. + +2012-02-21 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr-protos.h (avr_accumulate_outgoing_args): Move + prototype from here to... + * config/avr/avr.h: ...here. + +2012-02-21 Richard Earnshaw <rearnsha@arm.com> + + PR target/52294 + * thumb2.md (thumb2_shiftsi3_short): Split register and + immediate shifts. For register shifts tie operands 0 and 1. + (peephole2 for above): Check that register-controlled shifts + have suitably tied operands. + +2012-02-21 Quentin Neill <quentin.neill@amd.com> + + PR target/52137 + * config/i386/bdver1.md (bdver1_call, bdver1_push, + bdver1_pop, bdver1_leave, bdver1_lea, bdver1_imul_DI, bdver1_imul, + bdver1_imul_mem_DI, bdver1_imul_mem, bdver1_idiv, bdver1_idiv_mem, + bdver1_str, bdver1_idirect, bdver1_ivector, bdver1_idirect_loadmov, + bdver1_idirect_load, bdver1_ivector_load, bdver1_idirect_movstore, + bdver1_idirect_both, bdver1_ivector_both, bdver1_idirect_store, + bdver1_ivector_store, bdver1_fldxf, bdver1_fld, bdver1_fstxf, + bdver1_fst, bdver1_fist, bdver1_fmov_bdver1, bdver1_fadd_load, + bdver1_fadd, bdver1_fmul_load, bdver1_fmul, bdver1_fsgn, + bdver1_fdiv_load, bdver1_fdiv, bdver1_fpspc_load, bdver1_fpspc, + bdver1_fcmov_load, bdver1_fcmov, bdver1_fcomi_load, + bdver1_fcomi, bdver1_fcom_load, bdver1_fcom, + bdver1_fxch, bdver1_ssevector_avx128_unaligned_load, + bdver1_ssevector_avx256_unaligned_load, + bdver1_ssevector_sse128_unaligned_load, + bdver1_ssevector_avx128_load, bdver1_ssevector_avx256_load, + bdver1_ssevector_sse128_load, bdver1_ssescalar_movq_load, + bdver1_ssescalar_vmovss_load, bdver1_ssescalar_sse128_load, + bdver1_mmxsse_load, bdver1_sse_store_avx256, bdver1_sse_store, + bdver1_mmxsse_store_short, bdver1_ssevector_avx256, + bdver1_movss_movsd, bdver1_mmxssemov, bdver1_sselog_load_256, + bdver1_sselog_256, bdver1_sselog_load, bdver1_sselog, + bdver1_ssecmp_load, bdver1_ssecmp, bdver1_ssecomi_load, + bdver1_ssecomi, bdver1_vcvtX2Y_avx256_load, bdver1_vcvtX2Y_avx256, + bdver1_ssecvt_cvtss2sd_load, bdver1_ssecvt_cvtss2sd, + bdver1_sseicvt_cvtsi2sd_load, bdver1_sseicvt_cvtsi2sd, + bdver1_ssecvt_cvtpd2ps_load, bdver1_ssecvt_cvtpd2ps, + bdver1_ssecvt_cvtdq2ps_load, bdver1_ssecvt_cvtdq2ps, + bdver1_ssecvt_cvtdq2pd_load, bdver1_ssecvt_cvtdq2pd, + bdver1_ssecvt_cvtps2pd_load, bdver1_ssecvt_cvtps2pd, + bdver1_ssecvt_cvtsX2si_load, bdver1_ssecvt_cvtsX2si, + bdver1_ssecvt_cvtpd2pi_load, bdver1_ssecvt_cvtpd2pi, + bdver1_ssecvt_cvtpd2dq_load, bdver1_ssecvt_cvtpd2dq, + bdver1_ssecvt_cvtps2pi_load, bdver1_ssecvt_cvtps2pi, + bdver1_ssemuladd_load_256, bdver1_ssemuladd_256, + bdver1_ssemuladd_load, bdver1_ssemuladd, bdver1_sseimul_load, + bdver1_sseimul, bdver1_sseiadd_load, bdver1_sseiadd, + bdver1_ssediv_double_load_256, bdver1_ssediv_double_256, + bdver1_ssediv_single_load_256, bdver1_ssediv_single_256, + bdver1_ssediv_double_load, bdver1_ssediv_double, + bdver1_ssediv_single_load, bdver1_ssediv_single, bdver1_sseins): + Add "bdver2" attribute. + +2012-02-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> + + * config/s390/s390.c (s390_option_override): Make -mhard-dfp the + default if possible and not specified otherwise. + +2012-02-21 Richard Guenther <rguenther@suse.de> + + PR middle-end/52314 + * gimplify.c (create_tmp_from_val): Use the main variant type + for the type of the temporary we create. + +2012-02-21 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/52324 + * gimplify.c (gimplify_expr): When re-gimplifying expressions + do not gimplify a MEM_REF address operand if it is already + in suitable form. + +2012-02-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> + + * config/s390/s390.md ("fixuns_trunc<mode>si2"): Replace + TARGET_HARD_FLOAT with TARGET_HARD_DFP. + +2012-02-21 Richard Guenther <rguenther@suse.de> + + * tree-vect-stmts.c (vectorizable_load): Use pre-computed + nested_in_vect_loop. + +2012-02-21 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/52318 + * gimple-fold.c (gimplify_and_update_call_from_tree): Add + vdef also to non-pure/const call stmts in the sequence. + +2012-02-20 David S. Miller <davem@davemloft.net> + + * config/sparc/sparc.md (load_pcrel_sym<P:mode>): Explain why we + don't use the "rd %pc" instruction on v9 for PIC register loads. + +2012-02-20 Aldy Hernandez <aldyh@redhat.com> + + PR middle-end/52141 + * trans-mem.c (ipa_tm_scan_irr_block): Error out on GIMPLE_ASM's + in a transaction safe function. + +2012-02-20 Kai Tietz <ktietz@redhat.com> + + PR target/52238 + * stor-layout.c (place_field): Handle desired_align for + ms-bitfields, too. + +2012-02-20 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/52298 + * tree-vect-stmts.c (vectorizable_store): Properly use + STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing + outer loops. + (vectorizable_load): Likewise. + * tree-vect-data-refs.c (vect_analyze_data_ref_access): + Access DR_STEP after ensuring it is not NULL. + +2012-02-20 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/52286 + * fold-const.c (fold_binary_loc): For (X & C1) | C2 + optimization use double_int_to_tree instead of build_int_cst_wide, + rewrite to use double_int vars. + +2012-02-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR target/50166 + * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Require gcc_SUN_LD_VERSION. + Define _start. + Remove -e 0 from $gcc_cv_ld invocation. + Only use __GLIBC_PREREQ if defined. + Enable on Solaris since Solaris 8 patch. + (gcc_SUN_LD_VERSION): New macro. + * configure.ac (ld_ver) <*-*-solaris2*>: Refer to + gcc_SUN_LD_VERSION for version number format. + * configure: Regenerate. + * varasm.c (get_elf_initfini_array_priority_section): Set + SECTION_NOTYPE for non-default priority. + Use get_section instead of get_unnamed_section to emit + .init_array/.fini_array with default priority. + +2012-02-19 Richard Sandiford <rdsandiford@googlemail.com> + + * config/mips/mips.c (mips_need_mips16_rdhwr_p): New variable. + (mips_get_tp): Set it. Record that __mips16_rdhwr binds locally. + (mips_start_unique_function, mips_output_mips16_rdhwr) + (mips_code_end): New functions. + (TARGET_ASM_CODE_END): Define. + +2012-02-19 Richard Sandiford <rdsandiford@googlemail.com> + + * config/mips/mips.c (mips16_build_call_stub): Add CFI information + to stubs with non-sibling calls. + +2012-02-18 Sandra Loosemore <sandra@codesourcery.com> + + * doc/invoke.texi (-fira-* options): Copy-edit. + (ira-* parameters): Copy-edit. + +2012-02-17 Sandra Loosemore <sandra@codesourcery.com> + + * doc/invoke.texi: Minor copy-edits to bring into conformance with + GCC coding conventions. + +2012-02-17 Sandra Loosemore <sandra@codesourcery.com> + + * doc/invoke.texi: Consistently hyphenate "big-endian"/"little-endian" + when used as adjectives. + +2012-02-16 Sandra Loosemore <sandra@codesourcery.com> + + * doc/invoke.texi: Clean up "that"/"which" confusion. + +2012-02-17 Steven Bosscher <steven@gcc.gnu.org> + + * system.h: Poison SMALL_REGISTER_CLASSES + * config/rl78/rl78.h: Replace SMALL_REGISTER_CLASSES with hook. + * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES. + +2012-02-16 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/52285 + * tree-tailcall.c (find_tail_calls): Ignore gimple_clobber_p stmts + when deciding if a call is a tail call or tail recursion. + +2012-02-16 Kai Tietz <ktietz@redhat.com> + + * config/i386/i386.c (legitimate_pic_address_disp_p): Allow + interger-constant displacement for UNSPEC_PCREL. + +2012-02-16 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/52208 + * ira-costs.c (scan_one_insn): Don't decrease mem_cost + for MEMs with REG_EQUIV, if the MEM isn't general_operand. + + PR tree-optimization/52255 + * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): If + loop->header has virtual PHI, but exit_e->dest doesn't, add + virtual PHI to exit_e->dest and adjust all uses after the loop. + + PR debug/52260 + * dwarf2out.c (copy_decls_walk): Fill in *slot before traversing + children with clone_tree_hash, not after it. + +2012-02-16 Iain Sandoe <iains@gcc.gnu.org> + + * config/darwin.h (ASM_OUTPUT_LABELREF): Add user label prefix for + extended identifiers. + +2012-02-16 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/51929 + * cgraphunit.c (verify_edge_corresponds_to_fndecl): If node is + a same_body_alias, also test whether e->callee isn't a former + or current clone of the decl this is a same body alias of. + + PR translation/52264 + * cgraphunit.c (verify_cgraph_node): Fix a typo. + +2012-02-15 Sandra Loosemore <sandra@codesourcery.com> + + * doc/invoke.texi: Clean up "n-bit/byte/word" modifiers. + +2012-02-15 Michael Meissner <meissner@linux.vnet.ibm.com> + + PR target/52199 + * config/rs6000/rs6000.c (rs6000_expand_vector_init): Use + force_reg instead of copy_to_reg for better optimization. Force + non-register or memory operands into a register. + +2012-02-15 Andrew MacLeod <amacleod@redhat.com> + + * extend.texi: Reserve upper bits of memory model for future use. + +2012-01-15 Georg-Johann Lay <avr@gjlay.de> + Anatoly Sokolov <aesok@post.ru> + Eric Weddington <eric.weddington@atmel.com> + + PR target/52261 + * config/avr/avr-devices.c (avr_arch_types): Add avrxmega2, + avrxmega4, avrxmega5, avrxmega6, avrxmega7. + Rewrite initializers for .macro. + * config/avr/avr-mcus.def (AVR_MCU): Add known MCUs: + avrxmega2: atxmega16a4, atxmega16d4, atxmega16x1, atxmega32a4 + atxmega32d4, atxmega32x1. + avrxmega4: atxmega64a3, atxmega64d3. + avrxmega5: atxmega64a1, atxmega64a1u. + avrxmega6: atxmega128a3, atxmega128d3, atxmega192a3, atxmega192d3, + atxmega256a3, atxmega256a3b, atxmega256a3bu, atxmega256d3. + avrxmega7: atxmega128a1, atxmega128a1u. + * config/avr/avr.h (enum avr_arch): Add: ARCH_AVRXMEGA2, + ARCH_AVRXMEGA4, ARCH_AVRXMEGA5, ARCH_AVRXMEGA6, ARCH_AVRXMEGA7. + (struct base_arch_s): Rename reserved to xmega_p. + Rename reserved2 to have_rampd. + (AVR_XMEGA): New define. + (AVR_HAVE_RAMPD, AVR_HAVE_RAMPX, AVR_HAVE_RAMPY): New defines. + (AVR_HAVE_RAMPZ): Change definition to fit xmega. + * config/avr/predicates.md (io_address_operand): Take into + account SFR offset. + (low_io_address_operand): Ditto. + (high_io_address_operand): Ditto. + * config/avr/avr.md (isa): Add alternatives no_xmega, xmega. + (enabled, movhi_sp_r): Use them. + * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use + cpp_define_formatted to built-in define __AVR_ARCH__. + (__AVR_XMEGA__): New built-in define. + (__AVR_HAVE_RAMPD__): New built-in define. + (__AVR_HAVE_RAMPX__): New built-in define. + (__AVR_HAVE_RAMPY__): New built-in define. + (__AVR_HAVE_RAMPZ__): Change condition when to built-in define it. + + * config/avr/avr.c (avr_addr_t): Add ccp, rampd, rampx, rampy. + (avr_option_override): Initialize them. + (sreg_rtx, rampd_rtx, rampx_rtx, rampy_rtx): New GTY rtx. + (avr_init_expanders): Initialize them. No more block several calls. + (emit_push_sfr): New static function. + (avr_prologue_setup_frame): Use it to push SREG, RAMPD/X/Y/Z as needed. + Handle AVR_XMEGA. + (expand_epilogue): Handle AVR_XMEGA. Pop RAMPD/X/Y/Z as needed. + (avr_print_operand): Print addreeses as symbols for + RAMPX, RAMPY, RAMPD, CCP. + (output_movhi): Handle AVR_XMEGA when writing to SP. + (avr_out_movhi_mr_r_xmega): New static function. + (out_movhi_mr_r): Forward to avr_out_movhi_mr_r_xmega for AVR_XMEGA. + (avr_file_start): Print symbol defines for __RAMPX__, __RAMPY__, + __RAMPD__, __CCP__ as needed. + + * config/avr/multilib.h: Regenerate. + * config/avr/t-multilib: Regenerate. + * config/avr/avr-tables.opt: Regenerate. + +2012-02-15 Tobias Grosser <grosser@fim.uni-passau.de> + + PR tree-optimization/50561 + * graphite-flattening.c (lst_project_loop): Do not + remove old scattering dimensions after flattening. + (lst_do_flatten): Likewise. + +2012-02-15 Georg-Johann Lay <avr@gjlay.de> + + * doc/extend.texi (AVR Built-in Functions): Remove doc for + __builtin_avr_map8, __builtin_avr_map16. + Document __builtin_avr_insert_bits. + + * config/avr/avr.md (map_bitsqi, map_bitshi): Remove. + (insert_bits): New insn. + (adjust_len.map_bits): Rename to insert_bits. + (UNSPEC_MAP_BITS): Rename to UNSPEC_INSERT_BITS. + * avr-protos.h (avr_out_map_bits): Remove. + (avr_out_insert_bits, avr_has_nibble_0xf): New. + * config/avr/constraints.md (Cxf,C0f): New. + * config/avr/avr.c (avr_cpu_cpp_builtins): Remove built-in + defines __BUILTIN_AVR_MAP8, __BUILTIN_AVR_MAP16. + New built-in define __BUILTIN_AVR_INSERT_BITS. + * config/avr/avr.c (TARGET_FOLD_BUILTIN): New define. + (enum avr_builtin_id): Add AVR_BUILTIN_INSERT_BITS. + (avr_move_bits): Rewrite. + (avr_fold_builtin, avr_map_metric, avr_map_decompose): New static + functions. + (avr_map_op_t): New typedef. + (avr_map_op): New static variable. + (avr_out_insert_bits, avr_has_nibble_0xf): New functions. + (adjust_insn_length): Handle ADJUST_LEN_INSERT_BITS. + (avr_init_builtins): Add definition for __builtin_avr_insert_bits. + (bdesc_3arg, avr_expand_triop_builtin): New. + (avr_expand_builtin): Use them. And handle AVR_BUILTIN_INSERT_BITS. + (avr_revert_map, avr_swap_map, avr_id_map, avr_sig_map): Remove. + (avr_map_hamming_byte, avr_map_hamming_nonstrict): Remove. + (avr_map_equal_p, avr_map_sig_p): Remove. + (avr_out_swap_bits, avr_out_revert_bits, avr_out_map_bits): Remove. + (bdesc_2arg): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16. + (adjust_insn_length): Remove handling for ADJUST_LEN_MAP_BITS. + (enum avr_builtin_id): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16. + (avr_init_builtins): Remove __builtin_avr_map8, __builtin_avr_map16. + (avr_expand_builtin): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16. + +2012-02-14 Bernd Schmidt <bernds@codesourcery.com> + + * config/c6x/c6x.md (reserve_cycles): New attribute. + * config/c6x/c6x.c (c6x_sched_reorder_1): Ensure insns we predicate + don't reserve functional units after the branch occurs. + +2012-02-14 Aldy Hernandez <aldyh@redhat.com> + + PR middle-end/52142 + * ipa-inline.c (can_inline_edge_p): Do not inline tm_pure + functions into non-tm_pure functions. + +2012-02-14 Eric Botcazou <ebotcazou@adacore.com> + + PR lto/52178 + * gimple.c (iterative_hash_gimple_type): Use RECORD_OR_UNION_TYPE_P. + (iterative_hash_canonical_type): Likewise. + * tree-ssa-pre.c (fini_pre): Clean up the CFG only after purging all + the dead edges. + +2012-02-14 Bernd Schmidt <bernds@codesourcery.com> + + * haifa-sched.c (prune_ready_list): Ensure that if there is a + sched-group insn, it either remains alone or the entire list is pruned. + +2012-02-14 Jonathan Wakely <jwakely.gcc@gmail.com> + + * doc/install.texi (Prerequisites): Fix grammar. + (Configuration): Likewise. + +2012-02-14 Jonathan Wakely <jwakely.gcc@gmail.com> + + * doc/install.texi (Prerequisites): Suggest building GMP, MPFR and + MPC as part of GCC before describing configuring with --with-gmp etc. + (Installing GCC: Configuration): --with-gmp etc. aren't needed if + sources are present. + +2012-02-14 Jakub Jelinek <jakub@redhat.com> + + PR debug/51950 + * dwarf2out.c (clone_tree_hash): New function. + (copy_decls_walk): Use it instead of clone_tree. + +2012-02-14 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/52244 + PR tree-optimization/51528 + * tree-sra.c (analyze_access_subtree): Only create INTEGER_TYPE + replacements for integral types. + +2012-02-14 Walter Lee <walt@tilera.com> + + * config.gcc: Handle tilegx and tilepro. + * configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for + tilegx and tilepro. + Add HAVE_AS_TLS check for tilegx and tilepro. + * configure: Regenerate. + * doc/contrib.texi: Add Mat Hostetter and self. + * doc/extend.texi (TILE-Gx Built-in Functions): New node. + Document instruction intrinsics and network accessing intrinsics. + (TILEPro Built-in Functions): New node. Document instruction + intrinsics and network accessing intrinsics. + * doc/install.texi (Specific, tilegx-*-linux*): Document it. + (Specific, tilepro-*-linux*): Likewise. + * doc/invoke.texi (TILE-Gx Options): New section. + (TILEPro Options): New section. + * doc/md.texi (TILE-Gx): New section. + (TILEPro): New section. + * common/config/tilegx/tilegx-common.c: New file. + * common/config/tilepro/tilepro-common.c: New file. + * config/tilegx/constraints.md: New file. + * config/tilegx/linux.h: New file. + * config/tilegx/mul-tables.c: New file. + * config/tilegx/predicates.md: New file. + * config/tilegx/sync.md: New file. + * config/tilegx/t-tilegx: New file. + * config/tilegx/tilegx-builtins.h: New file. + * config/tilegx/tilegx-c.c: New file. + * config/tilegx/tilegx-generic.md: New file. + * config/tilegx/tilegx-modes.def: New file. + * config/tilegx/tilegx-multiply.h: New file. + * config/tilegx/tilegx-protos.h: New file. + * config/tilegx/tilegx.c: New file. + * config/tilegx/tilegx.h: New file. + * config/tilegx/tilegx.md: New file. + * config/tilegx/tilegx.opt: New file. + * config/tilepro/constraints.md: New file. + * config/tilepro/gen-mul-tables.cc: New file. + * config/tilepro/linux.h: New file. + * config/tilepro/mul-tables.c: New file. + * config/tilepro/predicates.md: New file. + * config/tilepro/t-tilepro: New file. + * config/tilepro/tilepro-builtins.h: New file. + * config/tilepro/tilepro-c.c: New file. + * config/tilepro/tilepro-generic.md: New file. + * config/tilepro/tilepro-modes.def: New file. + * config/tilepro/tilepro-multiply.h: New file. + * config/tilepro/tilepro-protos.h: New file. + * config/tilepro/tilepro.c: New file. + * config/tilepro/tilepro.h: New file. + * config/tilepro/tilepro.md: New file. + * config/tilepro/tilepro.opt: New file. + +2012-02-14 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/52210 + * tree-vect-slp.c (vect_get_and_check_slp_defs): Call + vect_model_simple_cost with two entry vect_def_type array instead + of an address of dt. + +2012-02-14 Richard Guenther <rguenther@suse.de> + + PR lto/52178 + * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers): + Do not stream DECL_QUALIFIER. + * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise. + * tree.c (free_lang_data_in_decl): Free DECL_QUALIFIER. + (find_decls_types_r): Do not walk DECL_QUALIFIER. + +2012-02-14 Jakub Jelinek <jakub@redhat.com> + + PR c/52181 + * c-decl.c (merge_decls): Copy DECL_USER_ALIGN bit from olddecl to + newdecl. + +2012-02-13 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/52172 + * cselib.h (cselib_subst_to_values_from_insn): New prototype. + * cselib.c (cselib_subst_to_values_from_insn): New function. + * sched-deps.c (add_insn_mem_dependence, + sched_analyze_1, sched_analyze_2): Use it. + +2012-02-13 Jan Hubicka <jh@suse.cz> + + PR middle-end/52214 + * predict.c (predict_paths_for_bb): Fix thinko in prevoius patch. + +2012-02-13 Eric Botcazou <ebotcazou@adacore.com> + + * gcc.c (LINK_COMMAND_SPEC): Deal with -fgnu-tm. + (GTM_SELF_SPECS): Define if not already defined. + (driver_self_specs): Add GTM_SELF_SPECS. + * config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fgnu-tm. + (GTM_SELF_SPECS): Define. + * config/i386/cygwin.h (GTM_SELF_SPECS): Likewise. + * config/i386/mingw32.h (GTM_SELF_SPECS): Likewise. + +2012-02-13 Jakub Jelinek <jakub@redhat.com> + + * cselib.c (expand_loc): Return sp, fp, hfp or cfa base reg right + away if seen. + + * cselib.c (dump_cselib_val): Don't assume l->setting_insn is non-NULL. + + PR middle-end/52230 + * omp-low.c (expand_omp_for): If a static schedule without chunk size + has NULL region->cont, force fd.chunk_size to be integer_zero_node. + +2012-02-13 Andrew MacLeod <amacleod@redhat.com> + + PR c/52190 + * doc/extend.texi : Fix another __atomic_compare_exchange typo. + +2012-02-13 Richard Guenther <rguenther@suse.de> + + PR translation/52211 + * passes.c (enable_disable_pass): Fix typo. + +2012-02-13 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/52209 + * expr.c (expand_expr_real_2) <case BIT_NOT_EXPR>: Only expand using + XOR for reduce_bit_field if type is unsigned. + +2012-02-12 Eric Botcazou <ebotcazou@adacore.com> + + * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): In 64-bit mode, + disallow changes from SFmode to mode with different size in FP regs. + +2012-02-12 Robert Millan <rmh@gnu.org> + Gerald Pfeifer <gerald@pfeifer.com> + + * ginclude/stddef.h [__FreeBSD_kernel__] (__size_t): Do not define. + Tweak comment. + +2012-02-11 Richard Sandiford <rdsandiford@googlemail.com> + + PR rtl-optimization/52175 + * reorg.c (fill_slots_from_thread): Don't apply add/sub optimization + to frame-related instructions. + +2012-02-10 Jason Merrill <jason@redhat.com> + + PR c++/51910 + * tlink.c (demangled_hash_entry): Change mangled to a VEC. + (demangle_new_symbols): Fill it. + (scan_linker_output): Walk it. + (start_tweaking): Split out from scan_linker_output. + (maybe_tweak): Update sym->chosen. + * Makefile.in (COLLECT2_OBJS): Add vec.o and gcc-none.o + +2012-02-11 Jakub Jelinek <jakub@redhat.com> + + PR debug/52132 + * reg-stack.c (subst_stack_regs_in_debug_insn): Don't use get_true_reg. + +2012-02-11 Uros Bizjak <ubizjak@gmail.com> + + * compare-elim.c (find_comparisons_in_bb): Eliminate only compares + having the same mode as previous compare. + +2012-02-10 Eric Botcazou <ebotcazou@adacore.com> + + * config/sparc/sparc.c (sparc_flat_expand_prologue): Use emit_use. + * config/sparc/sparc.md (UNSPECV_GOTO): Delete. + (nonlocal_goto_internal): Likewise. + (nonlocal_goto): Emit a use and an indirect jump directly. + +2012-02-10 Andrew MacLeod <amacleod@redhat.com> + + PR c/52190 + * doc/extend.texi : Update comments for __atomic_compare_exchange and + __atomic_{is,always}_lock_free. + +2012-02-10 Uros Bizjak <ubizjak@gmail.com> + + PR target/52146 + * config/i386/i386.c (ix86_legitimate_address_p): Disallow + negative constant address for x32. + +2012-02-10 Richard Henderson <rth@redhat.com> + + * tree-ssa-dce.c (propagate_necessity): Handle GIMPLE_TRANSACTION. + * tree-ssa-operands.c (parse_ssa_operands): Add virtual operands + for GIMPLE_TRANSACTION. Tidy if's into a switch. + +2012-02-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> + Ira Rosen <irar@il.ibm.com> + + PR tree-optimization/50031 + * targhooks.c (default_builtin_vectorization_cost): Handle + vec_promote_demote. + * target.h (enum vect_cost_for_stmt): Add vec_promote_demote. + * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Handle + all types of reduction and pattern statements. + (vect_estimate_min_profitable_iters): Likewise. + * tree-vect-stmts.c (vect_model_promotion_demotion_cost): New function. + (vect_get_load_cost): Use vec_perm for permutations; add dump logic + for explicit realigns. + (vectorizable_conversion): Call vect_model_promotion_demotion_cost. + * config/spu/spu.c (spu_builtin_vectorization_cost): Handle + vec_promote_demote. + * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise. + * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Update + vec_perm for VSX and handle vec_promote_demote. + +2012-02-10 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/52177 + * builtins.c (fold_builtin_atomic_always_lock_free, + expand_builtin_atomic_always_lock_free, + fold_builtin_atomic_is_lock_free, expand_builtin_atomic_is_lock_free): + Return and/or test boolean_true_node/boolean_false_node instead of + integer_one_node/integer_zero_node. + +2012-02-10 Jan Hubicka <jh@suse.cz> + + PR middle-end/48600 + * predict.c (predict_paths_for_bb): Prevent looping. + (predict_paths_leading_to_edge, predict_paths_leading_to): Update. + +2012-02-10 Roman Zhuykov <zhroma@ispras.ru> + + * config/arm/arm.c (output_move_double): In one case properly + count number of instructions that will be emitted. + +2012-02-10 Richard Guenther <rguenther@suse.de> + + PR translation/52193 + * cgraphunit.c (cgraph_mark_functions_to_output): Fix typo. + +2012-02-09 Peter Bergner <bergner@vnet.ibm.com> + + PR middle-end/52140 + * dojump.c (do_compare_rtx_and_jump): Use SCALAR_FLOAT_MODE_P. + +2012-02-09 Jakub Jelinek <jakub@redhat.com> + + PR debug/52165 + * var-tracking.c (emit_note_insn_var_location): If + EMIT_NOTE_BEFORE_INSN and insn is NOTE_INSN_CALL_ARG_LOCATION, + emit it before next non-NOTE_INSN_CALL_ARG_LOCATION + non-NOTE_DURING_CALL_P insn. + +2012-02-09 Bin Cheng <bin.cheng@arm.com> + + PR middle-end/51867 + * builtins.c (expand_builtin): Don't check DECL_ASSEMBLER_NAME_SET_P. + +2012-02-08 Magnus Granberg <zorry@gentoo.org> + + PR driver/48524 + * gcc.c (switch_matches) Support switches with separated form, + -D and -U. + +2012-02-08 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.md (SREG_ADDR): Remove constant definition. + (SP_ADDR): Ditto. + (RAMPZ_ADDR): Ditto. + * config/avr/avr.c (avr_addr_t): New typedef. + (avr_addr): New struct to hold RAM address of SPL, SPH, RAMPZ, SREG. + (avr_init_expanders): Initialize it. + (expand_prologue): Use avr_addr instead of RAMPZ_ADDR, SP_ADDR, + SREG_ADDR. + (expand_epilogue): Ditto. + (avr_print_operand): Ditto. + (avr_file_start): Ditto. + (avr_emit_movmemhi): Ditto. + +2012-02-08 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/46886 + * tree-flow.h (do_while_loop_p): Declare. + * tree-ssa-loop-ch.c (do_while_loop_p): Export. + * tree-parloops.c (parallelize_loops): Only parallelize do-while loops. + +2012-02-08 Andrew MacLeod <amacleod@redhat.com> + + * optabs.c (expand_atomic_load): Do not assume compare_and_swap will + always succeed for integers larger than a native word. + +2012-02-08 Richard Guenther <rguenther@suse.de> + + PR rtl-optimization/52170 + * simplify-rtx.c (simplify_plus_minus): Use CONSTM1_RTX to + properly handle integer vector modes. + +2012-02-08 Jakub Jelinek <jakub@redhat.com> + + PR gcov-profile/52150 + * coverage.c: Include target.h. + (build_var): Call targetm.strip_name_encoding on the assembler name. + Change one _ into . or $ if the target allows it. + * Makefile.in (coverage.o): Depend on $(TARGET_H). + + PR rtl-optimization/52139 + * cfgrtl.c (cfg_layout_merge_blocks): If BB_END + is a BARRIER after emit_insn_after_noloc, move BB_END + to the last non-BARRIER insn before it. + +2012-02-07 Richard Sandiford <rdsandiford@googlemail.com> + + PR middle-end/24306 + * config/mips/mips.c (mips_std_gimplify_va_arg_expr): New function. + (mips_gimplify_va_arg_expr): Call it instead of + std_gimplify_va_arg_expr. + +2012-02-07 Michael Meissner <meissner@linux.vnet.ibm.com> + + * config/rs6000/rs6000.c (rs6000_trampoline_init): Fix error + message for -mno-pointers-to-nested-function. + +2012-02-07 Eric Botcazou <ebotcazou@adacore.com> + + PR middle-end/51994 + * expr.c (get_inner_reference): If there is an offset, add a negative + bit position to it (if any). + +2012-02-07 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/52060 + * combine.c (try_combine): Add i0src_copy and i0src_copy2 variables, + copy i1src to i1src_copy whenever added_sets_2 && i1_feeds_i2_n already + before i1dest -> i1src substitution in newpat, copy i0src to i0src_copy + and/or i0src_copy2 when needed. + +2012-02-07 Jakub Jelinek <jakub@redhat.com> + + * gcc.c (main): Don't look for lto-wrapper or lto-wrapper + or LTOPLUGINSONAME if have_c. + + * config/freebsd-spec.h: Add comment about what macros can be defined + in this header. + (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): Don't define here. + * config/freebsd.h (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): But + here instead. + +2012-02-07 Richard Guenther <rguenther@suse.de> + + * gimple-pretty-print.c (dump_gimple_phi): Avoid excessive + newline in -alias dumps. + +2012-02-07 Kai Tietz <ktietz@redhat.com> + Dave Korn <dave.korn.cygwin@gmail.com> + + PR target/40068 + * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition): + Take care that typinfo gets dllexport-attribute. + +2012-02-07 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/52074 + * expr.c (expand_expr_addr_expr_1): For CONSTANT_CLASS_P or CONST_DECL + if modifier < EXPAND_SUM call force_operand on the result. + +2012-02-07 Joern Rennecke <joern.rennecke@embecosm.com> + + * config/epiphany/epiphany.h (ASM_DECLARE_FUNCTION_SIZE): Redefine, + adding __forwarder_dst__ prefix if a forwarder_section attribute is + present. + (epiphany_function_type): Replace types for specific interrupts with + EPIPHANY_FUNCTION_INTERRUPT. + (EPIPHANY_INTERRUPT_P): Update. + * config/epiphany/epiphany.c (epiphany_handle_forwarder_attribute): + New static function. + (epiphany_attribute_table) <interrupt>: min_len is 0, max_len is 9. + <disinterrupt>: Affects type identity. + (epiphany_handle_interrupt_attribute): Handle variable number of + arguments. + (epiphany_compute_function_type): Update for new + epiphany_function_type definition. + (epiphany_expand_prologue): Don't save (reg:DI GPR_0) for interrupt + handlers with a longcall forwarder. + (epiphany_start_function): Handle multiple interrupt arguments and/or + forwarder_section attribute. + + * config/epiphany/epiphany.h (LIB_SPEC): Link libc again after + libgloss. + +2012-02-07 Alan Modra <amodra@gmail.com> + + PR target/52107 + * config/rs6000/rs6000.c (rs6000_emit_move): Don't create DImode + subregs of TFmode. + +2012-02-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com> + + PR tree-optimization/50969 + * tree-vect-stmts.c (vect_model_store_cost): Correct statement cost to + use vec_perm rather than vector_stmt. + (vect_model_load_cost): Likewise. + * config/i386/i386.c (ix86_builtin_vectorization_cost): Change cost of + vec_perm to be the same as other vector statements. + * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise + cost of vec_perm for TARGET_VSX. + +2012-02-06 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/52115 + * tree-sra.c (access_has_replacements_p): New function. + (sra_modify_assign): Use it to decide whether a use is uninitialized. + +2012-02-06 Patrick Marlier <patrick.marlier@gmail.com> + + PR middle-end/52047 + * trans-mem.c (expand_call_tm): Add an assertion. + * calls.c (flags_from_decl_or_type): Add ECF_TM_PURE to 'no vops' + functions. + +2012-02-06 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/50955 + * tree-ssa-loop-ivopts.c (get_computation_cost_at): Artificially + raise cost of expressions that replace an address with an + expression based on a different pointer. + +2012-02-06 Jakub Jelinek <jakub@redhat.com> + + PR target/52129 + * calls.c (mem_overlaps_already_clobbered_arg_p): If val is + CONST_INT_P, subtract resp. add crtl->args.pretend_args_size to it. + +2012-02-06 Jonathan Wakely <jwakely.gcc@gmail.com> + + PR c++/48680 + * doc/invoke.texi (C++ Dialect Options): Use @option markup for + -Weffc++ and specify guidelines come from second edition. + +2012-02-05 Richard Sandiford <rdsandiford@googlemail.com> + + * config/mips/mips.md (sibcall_internal, sibcall_value_internal) + (sibcall_value_multiple_internal, call_split, call_internal_direct) + (call_direct_split, call_value_split, call_value_internal_direct) + (call_value_direct_split, call_value_multiple_split): Use jal and + jal_macro attributes. + +2012-02-05 Richard Sandiford <rdsandiford@googlemail.com> + + * reload1.c (reload_regs_reach_end_p): Replace with... + (reload_reg_rtx_reaches_end_p): ...this function. + (new_spill_reg_store): Update commentary. + (emit_input_reload_insns): Don't clear new_spill_reg_store here. + (emit_output_reload_insns): Check reload_reg_rtx_reaches_end_p + before setting new_spill_reg_store. + (emit_reload_insns): Use a separate loop to clear new_spill_reg_store. + Use reload_reg_rtx_reaches_end_p instead of reload_regs_reach_end_p. + Also use reload_reg_rtx_reaches_end_p when reading new_spill_reg_store + for non-spill reload registers. + +2012-02-05 Ira Rosen <irar@il.ibm.com> + + PR tree-optimization/52091 + * tree-vectorizer.h (vect_is_simple_use): Add an argument. + (vect_is_simple_use_1): Likewise. + * tree-vect-loop.c (vectorizable_reduction): Update calls + to vect_is_simple_use_1 and vect_is_simple_use. + (vectorizable_live_operation): Likewise. + * tree-vect-patterns.c (widened_name_p, + vect_recog_vector_vector_shift_pattern, check_bool_pattern): Likewise. + * tree-vect-stmts.c (process_use, vect_get_vec_def_for_operand, + vectorizable_call, vectorizable_conversion, vectorizable_assignment, + vectorizable_shift,vectorizable_operation, vectorizable_store, + vectorizable_load): Likewise. + (vect_is_simple_cond): Add an argument, pass it to + vect_is_simple_use_1. + (vectorizable_condition): Update calls to vect_is_simple_cond, + vect_is_simple_use. + (vect_is_simple_use): Add an argument, the statement in which + OPERAND is used. Check that if OPERAND's def stmt is a double + reduction phi node, the use is a phi node too. + (vect_is_simple_use_1): Add an argument, pass it to + vect_is_simple_use. + * tree-vect-slp.c (vect_get_and_check_slp_defs): Update a call + to vect_is_simple_use. + +2012-02-04 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/52095 + * modulo-sched.c (dump_insn_locator): New function. + (loop_canon_p, sms_schedule): Use it. + + PR rtl-optimization/52113 + * lower-subreg.c (decompose_multiword_subregs): Call recog_memoized + even for decomposable shift/zext insns. + +2012-02-03 Jakub Jelinek <jakub@redhat.com> + Zdenek Dvorak <ook@ucw.cz> + + PR rtl-optimization/52092 + * loop-unswitch.c (unswitch_single_loop): Call copy_rtx_if_shared + on get_iv_value result. + +2012-02-02 Andrew Pinski <apinski@cavium.com> + + PR middle-end/47982 + PR middle-end/43967 + * doc/libgcc.texi (__udivmoddi4/__udivmodti4): Fix documentation typo. + +2012-02-02 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/48071 + * diagnostic.c (diagnostic_finish): Remove trailing newlines. + +2012-02-02 Vladimir Makarov <vmakarov@redhat.com> + + PR rtl-optimization/49800 + * haifa-sched.c (sched_init): Call regstat_init_n_sets_and_refs. + (sched_finish): Call regstat_free_n_sets_and_refs. + +2012-02-02 Jia Liu <proljc@gmail.com> + + * config/mips/mips-dspr2.md (mips_prepend): Mask operand 3 rather + than operand 2. + +2012-02-02 Jan Hubicka <jh@suse.cz> + Tom de Vries <tom@codesourcery.com> + + PR middle-end/51998 + * cgraphunit.c (cgraph_analyze_function): Break cyclic aliases. + * varpool.c (varpool_analyze_pending_decls): Likewise. + +2012-02-02 Sumanth G <sumanth.gundapaneni@kpitcummins.com> + Jayant R Sonar <jayant.sonar@kpitcummins.com> + + * config.gcc: Add cr16-* support. + + * doc/extend.texi: Document cr16 extensions. + * doc/install.texi: Document cr16 install. + * doc/invoke.texi: Document cr16 options. + * doc/md.texi: Document cr16 constraints. + + * common/config/cr16/cr16-common.c: New file. + * config/cr16/cr16.c: New file. + * config/cr16/cr16.h: New file. + * config/cr16/cr16.md: New file. + * config/cr16/cr16.opt: New file. + * config/cr16/cr16-protos.h: New file. + * config/cr16/predicates.md: New file. + * config/cr16/constraints.md: New file. + * config/cr16/t-cr16: New file. + +2012-02-02 Jakub Jelinek <jakub@redhat.com> + + PR target/52086 + * config/i386/i386.md (*addqi_2 peephole with SImode addition): Check + that operands[2] is either immediate, or q_regs_operand. + + PR tree-optimization/52073 + * tree-vect-stmts.c (vect_mark_relevant): When checking uses of + a pattern stmt for pattern uses, ignore uses outside of the loop. + +2012-02-01 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.c: Resolve all AS1 and AS2 macros. + * config/avr/avr.h (AS1, AS2, AS2C, AS3): Remove. + (OUT_AS1, OUT_AS2): Remove. + +2012-02-01 Georg-Johann Lay <avr@gjlay.de> + + PR rtl-optimization/51374 + * combine.c (can_combine_p): Don't allow volatile_refs_p insns + to cross other volatile_refs_p insns. + +2012-02-01 Richard Guenther <rguenther@suse.de> + + * doc/invoke.texi (fno-inline): Clarify documentation. + (finline-small-functions): Likewise. + (finline-functions): Likewise. + * common.opt (finline): Adjust comment and documentation. + (finline-small-functions): Clarify documentation. + (finline-functions): Likewise. + (finline-functions-called-once): Likewise. + +2012-02-01 Tristan Gingold <gingold@adacore.com> + + * c-typeck.c (composite_type): Keep mode for pointers. + +2012-01-31 Richard Sandiford <rdsandiford@googlemail.com> + + * function.h (regno_reg_rtx): Adjust comment. + * reginfo.c (init_reg_modes_target): Only use the previous mode + if it fits within one register. Remove MIPS comment. + +2012-01-31 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/52058 + * combine.c (do_SUBST_LINK, SUBST_LINK): Guard with #ifndef HAVE_cc0. + +2012-01-31 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> + + * config/s390/s390.md ("*ashr<mode>3_and"): Add missing z196 flag + to srak instruction. + +2012-01-31 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> + + * config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true condition. + +2012-01-31 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/52041 + PR bootstrap/52039 + PR target/51974 + * ipa-prop.c (detect_type_change_1): Call ao_ref_init. + +2012-01-31 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/51528 + * tree-sra.c (sra_modify_assign): Avoid copy-in/out for aggregate + assigns. + +2012-01-31 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/52041 + PR bootstrap/52039 + PR target/51974 + * ree.c (add_removable_extension): Change def_map argument + to unsigned *, store in def_map 1 + offset into *insn_list vector + instead of pointers into the vector. + (find_removable_extensions): Adjust caller. + +2012-01-30 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.md: Resolve all AS1 and AS2 macros. + Transform all "* quoted-c-code" to { c-code }. + Remove redundant test for "optimize" in combine patterns. + Move (include "avr-dimode.md") to end of file. + +2012-01-30 Bin Cheng <bin.cheng@arm.com> + + PR target/51835 + * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI + for __aeabi_d2iz/__aeabi_d2uiz with hard-float. + +2012-01-30 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/52028 + * tree-loop-distribution.c (ldist_gen): Properly update + virtual SSA form. + +2012-01-30 Jakub Jelinek <jakub@redhat.com> + + PR debug/52027 + * dwarf2out.c (dwarf2out_switch_text_section): Don't call + set_cur_line_info_table if not emitting debug info. + + PR tree-optimization/52046 + * tree-vect-patterns.c (check_bool_pattern): Give up if + a comparison could throw. + + PR debug/52048 + * tree-ssa-tail-merge.c (local_def): Ignore debug uses. + +2012-01-30 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/52045 + * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Update + SSA form if cfgcleanup did anything. + +2012-01-30 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/52045 + * ipa-inline-transform.c (inline_transform): Call execute_fixup_cfg + before computing final todo. + +2012-01-30 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/51528 + * tree-sra.c (sra_modify_assign): Re-factor in preparation + for PR51528 fix. + +2012-01-30 Paolo Bonzini <bonzini@gnu.org> + + * df-problems.c (df_kill_notes): Check that the use refers + to the note under examination. + +2012-01-30 Eric Botcazou <ebotcazou@adacore.com> + + PR target/51920 + * config/sparc/sparc.c (vector_init_fpmerge): Remove INNER_MODE + parameter and use short-lived pseudos. + (vector_init_faligndata): Remove INNER_MODE parameter and use loop. + (sparc_expand_vector_init): Const-ify local variables and adjust + calls to above functions. + +2012-01-30 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.c (out_movqi_mr_r): Fix length computation. + +2012-01-29 Sandra Loosemore <sandra@codesourcery.com> + + * doc/invoke.texi: Make usage of "compile time" and + "run time"/"runtime" consistent throughout the file. + +2012-01-29 Uros Bizjak <ubizjak@gmail.com> + + * config/alpha/alpha.c (alpha_option_override): Default to + full IEEE compliance mode for Go language. + +2011-01-29 Tijl Coosemans <tijl@coosemans.org> + + * config/freebsd-spec.h [TARGET_LIBC_PROVIDES_SSP] + (LINK_SSP_SPEC): Define. + +2012-01-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + PR target/51871 + * config/pa/pa.c (pa_return_addr_rtx): Add support for PA2.0 export + stubs. + +2012-01-28 Sandra Loosemore <sandra@codesourcery.com> + + * doc/invoke.texi: Correct hyphenation of "floating point", + "double precision", and related terminology throughout the file. + +2012-01-28 Jakub Jelinek <jakub@redhat.com> + + PR target/52006 + * config/arm/arm.md (pic_add_dot_plus_eight peephole2): Use + arm_general_register_operand predicate for operand 2 instead of + register_operand. + +2012-01-27 Ian Lance Taylor <iant@google.com> + + PR go/47656 + * builtins.def (BUILT_IN_INIT_HEAP_TRAMPOLINE): Define. + * builtins.c (expand_builtin_init_trampoline): Add onstack + parameter. Change caller. + (expand_builtin): Handle BUILT_IN_INIT_HEAP_TRAMPOLINE. + * tree.c (build_common_builtin_nodes): Declare + __builtin_init_heap_trampoline. + +2012-01-27 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr-protos.h (lpm_reg_rtx, lpm_addr_reg_rtx, + tmp_reg_rtx, zero_reg_rtx, all_regs_rtx, rampz_rtx): Make global. + * config/avr/avr.c: Ditto. + (avr_regnames): Remove because unused. + * config/avr/avr.md (*cpse.ne): New peephole. + (*cpse.eq): New peephole from former cpse peepholes. + +2012-01-27 Michael Eager <eager@eagercon.com> + + * config/microblaze.c (microblaze_emit_compare): Correct + test after pcmp instruction. + +2012-01-27 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/52020 + * tree-sra.c (sra_modify_assign): Do not transform clobbers. + +2012-01-27 Richard Guenther <rguenther@suse.de> + + * ipa-pure-const.c (check_stmt): Clobbers do not make a + function non-const/pure. + +2012-01-27 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/50444 + * tree-sra.c (build_ref_for_offset): Properly adjust the + MEM_REF type for unaligned accesses. + +2012-01-27 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/50444 + * expr.c (mem_ref_refers_to_non_mem_p): New function. + (expand_assignment): Use it. Properly handle misaligned + bases when expanding stores to component references. + (expand_expr_real_1): Use mem_ref_refers_to_non_mem_p and + refactor that case. + +2012-01-27 Andrey Belevantsev <abel@ispras.ru> + + PR middle-end/51389 + * Makefile.in (tree-data-ref.o): Depend on $(PARAMS_H). + * tree-data-ref.h (find_data_references_in_loop): Remove declaration. + * tree-data-ref.c (find_data_references_in_loop): Make static. + (compute_all_dependences): Change return type to bool. Bail out + for too many datarefs in a loop. Move the hunk resetting the data + dependences vector from ... + (compute_data_dependences_for_loop): ... here. Account for + compute_all_dependences returning false. + (compute_data_dependences_for_bb): Likewise. + * params.def (PARAM_LOOP_MAX_DATAREFS_FOR_DATADEPS): New param. + * doc/invoke.texi (loop-max-datarefs-for-datadeps): Document it. + +2012-01-27 Richard Guenther <rguenther@suse.de> + + PR middle-end/51959 + * expr.c (store_field): Use the alias-set of the scratch memory + for storing to it. + +2012-01-27 Tom de Vries <tom@codesourcery.com> + + PR tree-optimization/51990 + * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle + WITH_SIZE_EXPR. + * tree-ssa-pre.c (create_component_ref_by_pieces_1): Same. + +2012-01-27 Jakub Jelinek <jakub@redhat.com> + + PR debug/52001 + * var-tracking.c (reverse_op): Don't add any reverse operation + if V already has any constant locations. + +2012-01-27 Sandra Loosemore <sandra@codesourcery.com> + + * doc/invoke.texi: Correct usage of "command line" (noun) + vs "command-line" (adjective) throughout. + +2012-01-27 Sandra Loosemore <sandra@codesourcery.com> + + * doc/invoke.texi (Language Independent Options): Move + -Wcoverage-mismatch blurb from here.... + (Warning Options): ...to here. + +2012-01-27 Peter Bergner <bergner@vnet.ibm.com> + + * config/rs6000/rs6000.c (rs6000_option_override_internal): + Set rs6000_always_hint to false for 476. + +2012-01-27 Matthias Klose <doko@ubuntu.com> + + * gcc.c (add_sysrooted_prefix): Remove trailing dir separator from + system root. + * incpath.c (add_standard_paths): Likewise. + +2012-01-27 Richard Henderson <rth@redhat.com> + + * config/m68k/m68k.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New. + * config/m68k/sync.md (atomic_test_and_set): Rename from + sync_test_and_setqi and adjust the operands. + (atomic_test_and_set_1): Rename from sync_test_and_setqi_1 + and unconditionally enable. + +2012-01-27 Richard Henderson <rth@redhat.com> + + * config/sparc/sparc.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New. + * config/sparc/sync.md (atomic_test_and_set): Only handle QImode. + (ldstub): Rename from ldstubqi. + (ldstub<I24MODE>): Remove. + +2012-01-27 Richard Henderson <rth@redhat.com> + + * target.def (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New. + * c-cppbuiltin.c (cpp_atomic_builtins): Define + __GCC_ATOMIC_TEST_AND_SET_TRUEVAL. + * doc/tm.texi.in (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): Add doc hook. + * doc/tm.texi: Rebuild. + +2012-01-27 Richard Henderson <rth@redhat.com> + + * optabs.c (gen_atomic_test_and_set): Remove default. + (maybe_emit_atomic_test_and_set): Use maybe_expand_insn. + +2012-01-26 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/51978 + * ree.c (make_defs_and_copies_lists): Change set_pat type to const_rtx. + (combine_reaching_defs): Likewise. + (struct re_info): Remove. + (add_removable_extension): Remove x and data arguments, + add insn, insn_list and def_map. Use the arguments directly + instead of using struct re_info. + (find_removable_extensions): Don't call add_removable_extension + through note_stores, instead just call it with single_set + result if non-NULL. + (find_and_remove_re): Pass curr_cand->expr instead of + PATTERN (curr_cand->insn) as set_pat argument to combine_reaching_defs. + +2012-01-26 Michael Matz <matz@suse.de> + + PR tree-optimization/46590 + * cfgexpand.c: Revert last change (r183305). + * gimplify.c (gimplify_bind_expr): Add clobbers for all non-gimple + regs. + * tree-eh.c (cleanup_empty_eh): Try to optimize clobbers before + checking for emptiness. + +2012-01-26 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/51895 + * expr.c (expand_expr_real_1): Handle BLKmode MEM_REF of + non-addressable non-BLKmode base correctly. + +2012-01-26 Michael Matz <matz@suse.de> + + PR tree-optimization/48794 + * tree-eh.c (remove_unreachable_handlers_no_lp): Don't remove + regions referenced from RESX/EH_DISPATCH. + +2012-01-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> + + * config/s390/s390.h: Make BRANCH_COST an option. + * config/s390/s390.opt: New option -mbranch-cost. + +2012-01-26 Richard Henderson <rth@redhat.com> + + Revert 2012-01-24 change: + * trans-mem.c (requires_barrier): Do not instrument thread local + variables and emit save/restore for them. + +2012-01-25 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/51986 + * sched-deps.c (sched_get_condition_with_rev_uncached): Don't test + for pat == 0. + +2012-01-25 Richard Sandiford <rdsandiford@googlemail.com> + + * config/mips/mips.c (mips_small_data_pattern_1): Don't process + ASM_OPERANDS. + +2012-01-25 Georg-Johann Lay <avr@gjlay.de> + + PR target/49868 + Rename __pgm to __flash. + Rename __pgm1 to __flash1. + Rename __pgm2 to __flash2. + Rename __pgm3 to __flash3. + Rename __pgm4 to __flash4. + Rename __pgm5 to __flash5. + Rename __pgmx to __memx. + * doc/extend.texi (AVR Named Address Spaces) + Rename address space names as indicated above. + * config/avr/avr.c (avr_addrspace): Ditto. + + * config/avr/avr-protos.h + (avr_mem_pgmx_p): Rename to avr_mem_memx_p. + (avr_mem_pgm_p): Rename to avr_mem_flash_p. + * config/avr/predicates.md: Ditto. + * config/avr/avr.c Ditto, and + (avr_decl_pgmx_p): Rename to avr_decl_memx_p. + (avr_decl_pgm_p): Rename to avr_decl_flash_p. + + * config/avr/avr.h (ADDR_SPACE_PGM): Rename to ADDR_SPACE_FLASH. + (ADDR_SPACE_PGM1): Rename to ADDR_SPACE_FLASH1. + (ADDR_SPACE_PGM2): Rename to ADDR_SPACE_FLASH2. + (ADDR_SPACE_PGM3): Rename to ADDR_SPACE_FLASH3. + (ADDR_SPACE_PGM4): Rename to ADDR_SPACE_FLASH4. + (ADDR_SPACE_PGM5): Rename to ADDR_SPACE_FLASH5. + (ADDR_SPACE_PGMX): Rename to ADDR_SPACE_MEMX. + * config/avr/avr.c: Ditto. + * config/avr/avr.md: Ditto. + +2012-01-25 Jason Merrill <jason@redhat.com> + + PR c++/51992 + * tree.c (find_decls_types_in_node): Walk gimple_call_fntype. + +2012-01-25 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/51987 + * tree-data-ref.c (get_references_in_stmt): Handle references in + non-volatile GIMPLE_ASM. + +2012-01-25 Richard Guenther <rguenther@suse.de> + + * tree-ssa-sccvn.c (vn_reference_eq): Also compare if both + bases are dereferenced. + +2012-01-25 Andrey Belevantsev <abel@ispras.ru> + + PR rtl-optimization/48374 + * sel-sched-ir.h (get_all_loop_exits): Check for zero successors. + +2012-01-25 Andrey Belevantsev <abel@ispras.ru> + + * tree-predcom.c (tree_predictive_commoning_loop): Bail out when + compute_data_dependences_for_loop returns false. + * tree-parloops.c (loop_parallel_p): Likewise. + +2012-01-25 Richard Guenther <rguenther@suse.de> + + * tree.h (get_pointer_alignment_1): Declare. + * builtins.c (get_pointer_alignment_1): New function. + (get_pointer_alignment): Use it. + +2012-01-25 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> + + PR rtl-optimization/48308 + * combine.c (enum undo_kind): Add UNDO_LINKS. + (struct undo): Add member l to other_contents and where. + (do_SUBST_LINK): New. + (SUBST_LINK): New. + (try_combine): Handle LOG_LINKS for the dummy i1 case. + (undo_all): Handle UNDO_LINKS. + +2012-01-25 Richard Henderson <rth@redhat.com> + + * optabs.c (maybe_emit_atomic_test_and_set): Allow non-QImode + mem inputs. + +2012-01-24 Richard Sandiford <rdsandiford@googlemail.com> + + * optabs.c (gen_atomic_test_and_set): Use each argument. + +2012-01-24 Richard Sandiford <rdsandiford@googlemail.com> + + * config/mips/mips-ps-3d.md (mips_addr_ps, reduc_splus_v2sf) + (mips_cvt_pw_ps, mips_cvt_ps_pw, mips_mulr_ps, mips_cabs_cond_<fmt>) + (mips_cabs_cond_4s, mips_cabs_cond_ps, bc1any4t, bc1any4f, bc1any2t) + (bc1any2f, mips_rsqrt1_<fmt>, mips_rsqrt2_<fmt>, mips_recip1_<fmt>) + (mips_recip2_<fmt>): Require TARGET_MIPS3D rather than + TARGET_PAIRED_SINGLE_FLOAT. + +2012-01-24 Richard Sandiford <rdsandiford@googlemail.com> + + * doc/rtl.texi (MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete. + (in_struct, return_val): Remove MEM documentation. + * rtl.h (rtx_def): Remove MEM meanings from in_struct and return_val. + (MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete. + (MEM_COPY_ATTRIBUTES): Remove references to MEM_IN_STRUCT_P + and MEM_SCALAR. + * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise. + * cfgexpand.c (add_alias_set_conflicts): Likewise. + * expr.c (store_field): Likewise. + * function.c (assign_stack_temp_for_type): Likewise. + * ifcvt.c (noce_try_cmove_arith): Likewise. + * reload1.c (reload): Likewise. + * config/alpha/alpha.c (alpha_set_memflags_1): Likewise. + (alpha_set_memflags): Likewise. + * config/m32c/m32c.c (m32c_immd_dbl_mov): Nullify. + +2012-01-24 Richard Sandiford <rdsandiford@googlemail.com> + + * rtl.h (true_dependence, canon_true_dependence): Remove varies + parameter. + * alias.c (fixed_scalar_and_varying_struct_p): Delete. + (true_dependence_1, write_dependence_p, may_alias_p): Don't call it. + (true_dependence_1, true_dependence, canon_true_dependence): Remove + varies parameter. + * cselib.c (cselib_rtx_varies_p): Delete. + (cselib_invalidate_mem): Update call to canon_true_dependence. + * dse.c (record_store, check_mem_read_rtx): Likewise. + (scan_reads_nospill): Likewise. + * cse.c (check_dependence): Likewise. + (cse_rtx_varies_p): Delete. + * expr.c (safe_from_p): Update call to true_dependence. + * ira.c (validate_equiv_mem_from_store): Likewise. + (memref_referenced_p): Likewise. + * postreload-gcse.c (find_mem_conflicts): Likewise. + * sched-deps.c (sched_analyze_2): Likewise. + * store-motion.c (load_kills_store): Likewise. + * config/frv/frv.c (frv_registers_conflict_p_1): Likewise. + * gcse.c (mems_conflict_for_gcse_p): Likewise. + (compute_transp): Update call to canon_true_dependence. + +2012-01-25 Richard Henderson <rth@redhat.com> + + * optabs.c (CODE_FOR_atomic_test_and_set): Provide default. + (maybe_emit_atomic_test_and_set): New. + (expand_sync_lock_test_and_set): Use it. + (expand_atomic_test_and_set): Likewise. + * doc/extend.texi (__atomic_test_and_set): Adjust the docs to match + the implementation; clarify implementation defined details. + * doc/md.texi (atomic_test_and_set): Document. + +2012-01-25 Richard Henderson <rth@redhat.com> + + * config/sparc/predicates.md (zero_or_v7_operand): Use match_code. + +2012-01-25 Richard Henderson <rth@redhat.com> + + PR target/51968 + * config/arm/arm.c (neon_split_vcombine): Emit deleted note + to effect no-op split. + +2012-01-24 Aldy Hernandez <aldyh@redhat.com> + + PR lto/51698 + * builtin-types.def: (BT_CONST_DOUBLE_PTR): New. + (BT_FN_VOID_PTR_CONST_PTR_SIZE): New. + (BT_FN_VOID_PTR_INT_SIZE): New. + (BT_FN_UINT_UINT_VAR): Remove. + (BT_FN_UINT32_UINT32_VAR): New. + (BT_FN_DOUBLE_VPTR): Remove. + (BT_FN_DOUBLE_CONST_DOUBLE_PTR): New. + + * gtm-builtins.def (_ITM_abortTransaction): Set return type to void. + (_ITM_changeTransactionMode): Same. + (_ITM_memmoveRtWt): Change return type to void. + (_ITM_memcpyRtWt): Same. + (_ITM_memsetW): Same. + (_ITM_RaRD): Change types to double. + (_ITM_RD): Same. + (_ITM_RaWD): Same. + (_ITM_RfWD): Same. + + * builtins.def (DEF_TM_BUILTIN): Set BOTH_P to true. + +2012-01-24 Aldy Hernandez <aldyh@redhat.com> + Patrick Marlier <patrick.marlier@gmail.com> + + * trans-mem.c (requires_barrier): Do not instrument thread local + variables and emit save/restore for them. + +2012-01-24 Jason Merrill <jason@redhat.com> + + PR c++/51812 + * cgraphunit.c (cgraph_decide_is_function_needed): Don't always + output static aliases. + +2012-01-24 Jakub Jelinek <jakub@redhat.com> + + PR driver/47249 + * common.opt (-pie, -shared, pie, shared): Change from Common to + Driver. + * gcc.c (display_help): Display help for -pie and -shared. + +2012-01-24 Georg-Johann Lay <avr@gjlay.de> + + PR target/49868 + * doc/extend.texi (AVR Named Address Spaces): Move sample code up. + Remove note on size/offset limitation. + (AVR Variable Attributes): Add example how to read data located + with progmem. Refer to named address spaces. + * doc/invoke.texi (AVR Options): Fix typo. + +2012-01-24 Richard Guenther <rguenther@suse.de> + + Forward-port to trunk + 2010-09-21 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/45678 + * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: If + op0 isn't sufficiently aligned and there is movmisalignM + insn for mode, use it to load op0 into a temporary register. + +2012-01-24 Jakub Jelinek <jakub@redhat.com> + + PR target/51957 + * target.def (const_not_ok_for_debug_p): New hook. + * doc/tm.texi.in (TARGET_CONST_NOT_OK_FOR_DEBUG_P): New hook + documentation. + * doc/tm.texi: Regenerated. + * dwarf2out.c (const_ok_for_output_1): If + targetm.const_not_ok_for_debug_p returns true, fail. + * config/rs6000/rs6000.c (rs6000_const_not_ok_for_debug_p): New + function. + (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Redefine. + +2012-01-23 Kai Tietz <ktietz@redhat.com> + + PR target/51900 + * config/i386/predicates.md (symbolic_operand): Allow + UNSPEC_PCREL as PIC expression for lea. + * config/i386/winnt.c (i386_pe_binds_local_p): Reworked. + * config/i386/i386.c (ix86_delegitimize_address): Handle + UNSPEC_PCREL for none-MEM, too. + +2012-01-23 Aldy Hernandez <aldyh@redhat.com> + + * trans-mem.c (ipa_tm_create_version): Set externally_visible. + (ipa_tm_create_version_alias): Same. + +2012-01-23 Uros Bizjak <ubizjak@gmail.com> + + PR libitm/51830 + * builtin-types.def (BT_FN_UINT_UINT_VAR): New. + * gtm-builtins.def (BUILT_IN_TM_START): Declare as BT_FN_UINT_UINT_VAR. + +2012-01-23 Aldy Hernandez <aldyh@redhat.com> + Patrick Marlier <patrick.marlier@gmail.com> + Iain Sandoe <developer@sandoe-acoustics.co.uk> + + PR lto/51916 + * lto-wrapper.c (run_gcc): Pass the LTO section name to + simple_object_start_read. + +2012-01-23 Richard Guenther <rguenther@suse.de> + + + PR tree-optimization/51895 + * tree-sra.c (decide_one_param_reduction): Avoid sub-optimal + parameter decomposition into BLKmode components. + +2012-01-23 Eric Botcazou <ebotcazou@adacore.com> + + * tree-ssa-structalias.c (intra_create_variable_infos): Do not create + fake variables for restrict-qualified pointers whose pointed-to type + contains a placeholder. + +2012-01-23 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/51949 + * ipa-split.c (execute_split_functions): Do not split malloc functions. + +2012-01-23 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/51933 + * ree.c (transform_ifelse): Return true right away if dstreg is + already wider or equal to cand->mode. + (enum ext_modified_kind, struct ext_modified, ext_state): New types. + (make_defs_and_copies_lists): Remove defs_list and copies_list + arguments, add state argument, just truncate state->work_list + instead of always allocating and freeing the vector. Assert that + get_defs succeeds instead of returning 2. Changed return type to bool. + (merge_def_and_ext): Add state argument. If SET_DEST doesn't + have ext_src_mode, see if it has been modified already with the + right kind of extension and has been extended before from the + ext_src_mode. If SET_DEST is already wider or equal to cand->mode, + just return true. Remember the original mode in state->modified array. + (combine_reaching_defs): Add state argument. Don't allocate and + free here def_list, copied_list and vec vectors, instead just + VEC_truncate the vectors in *state. Don't handle outcome == 2 here. + (find_and_remove_re): Set DF_DEFER_INSN_RESCAN df flag. + Add state variable, clear vectors in it, initialize state.modified + if needed. Free all the vectors at the end and state.modified too. + Don't skip a candidate if the extension expression has been modified. + +2012-01-22 Douglas B Rupp <rupp@gnat.com> + + PR target/47096 + * config.gcc: (i[34567]86-*-interix3*): Remove from obsolete + configurations. Change triplet to i[34567]86-*-interix[3-9]*. + (extra_options) interix.opt -> i386/interix.opt" + (extra_objs):Add winnt-stubs.o + * configure.ac: Add interix to target_os .comm on PE check. + * configure: Regenerate. + * config/interix3.h: Delete and move bits to.. + * config/interix.h: Delete and move bits to.. + * config/i386/i386-interix3.h: Delete and move bits to.. + * config/i386/i386-interix.h: ..here. + (TARGET_CPU_DEFAULT): Remove redefinition. + (TARGET_ASM_CONSTRUCTOR): Undefine. + (SUBTARGET_SWITCHES): Define for ms-bitfields. + (TARGET_OS_CPP_BUILTINS): Remove __OPENNT. Add __declspec. + (PTRDIFF_TYPE): Define. + (LONG_DOUBLE_TYPE_SIZE): Define. + (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define. + (SUBTARGET_OVERRIDE_OPTIONS): Remove. + (TARGET_SECTION_TYPE_FLAGS): Define. + (ASM_DECLARE_FUNCTION_NAME): Define. + (ASM_OUTPUT_EXTERNAL): Define. + (ASM_OUTPUT_EXTERNAL_LIBCALL): Define. + (ASM_OUTPUT_ALIGNED_BSS): Define. + (PCC_BITFIELD_TYPE_MATTERS): Define. + (USE_CONST_SECTION): Define. + (SUBTARGET_ENCODE_SECTION_INFO): Remove. + (TARGET_ASM_FUNCTION_RODATA_SECTION): Remove. + (SUPPORTS_ONE_ONLY): Remove. + (I386_PE_STRIP_ENCODING): Define. + * config/interix.opt: Delete and move bits to.. + * config/i386/interix.opt: ..here. New. + (mpe-aligned-commons): Add. + * config/i386/t-interix: Add copyright header. + (winnt-stubs.o): Add rule. + +2012-01-22 Jason Merrill <jason@redhat.com> + + PR c++/51832 + * varpool.c (varpool_analyze_pending_decls): Copy DECL_EXTERNAL + for extra name aliases. + +2012-01-22 Eric Botcazou <ebotcazou@adacore.com> + + PR rtl-optimization/51924 + * ree.c (combine_set_extension): Improve debugging message. + (combine_reaching_defs): Likewise. + (get_defs): Rename confusingly named variable. + (find_and_remove_re): Skip a candidate if the extension expression has + been modified. + +2012-01-21 Robert Millan <rmh@gnu.org> + Gerald Pfeifer <gerald@pfeifer.com> + + * config/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKERX32): New macro. + (GNU_USER_DYNAMIC_LINKER): Adjust indentation. + +2012-01-20 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/51914 + * tree-vect-stmts.c (vectorizable_conversion): For + cvt_type && modifier == WIDEN, put temporary with cvt_type + at the beginning of vec_dsts and set vec_dest to temporary + with vectype_out. + +2012-01-20 Eric Botcazou <ebotcazou@adacore.com> + + * cfgrtl.c (rtl_dump_bb): Do not dump insns for {ENTRY|EXIT}_BLOCK. + +2011-01-20 Tijl Coosemans <tijl@coosemans.org> + + * config/i386/i386.c: Fix checks for !TARGET_MACHO. + * config/rs6000/rs6000.c: Likewise. + +2012-01-20 Jakub Jelinek <jakub@redhat.com> + + PR target/51915 + * config/arm/arm.c (arm_count_output_move_double_insns): Call + output_move_double on a copy of operands array. + +2012-01-20 Cary Coutant <ccoutant@google.com> + Dodji Seketeli <dodji@redhat.com> + + PR debug/45682 + * dwarf2out.c (copy_declaration_context): Return ref to parent + of declaration DIE, if necessary. + (remove_child_or_replace_with_skeleton): Add new parameter; update + caller. Place skeleton DIE under parent DIE of original declaration. + Move call to copy_declaration_context to here ... + (break_out_comdat_types): ... from here. + +2012-01-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> + + PR rtl-optimization/51856 + * reload.c (find_reloads_subreg_address): Set the address_reloaded + flag to reloaded. + +2012-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> + + PR target/51819 + * config/arm/arm.c (arm_print_operand): Correct output of alignment + hints for neon loads and stores. + +2012-01-20 Georg-Johann Lay <avr@gjlay.de> + + PR target/49868 + PR target/50887 + * doc/extend.texi (Named Address Spaces): Split into subsections. + (AVR Named Address Spaces): New subsection. + (M32C Named Address Spaces): New subsection. + (RL78 Named Address Spaces): New subsection. + (SPU Named Address Spaces): New subsection. + (Variable Attributes): New anchor "AVR Variable Attributes". + (AVR Variable Attributes): Rewrite and avoid wording + "address space" in this context. + * doc/invoke.texi (AVR Options): Rewrite and add documentation + for -maccumulate-args, -mbranch-cost=, -mrelax, -mshort-calls. + (AVR Built-in Macros): New subsubsection therein. + * doc/md.texi (AVR constraints): Remove "C04", "R". + +2012-01-20 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/51903 + * tree-ssa-pre.c (eliminate): Properly purging of EH edges + when removing stmts. + +2012-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> + + PR target/50313 + * config/arm/arm.c (arm_load_pic_register): Use + gen_pic_load_addr_unified. Delete calls to gen_pic_load_addr_32bit + , gen_pic_add_dot_plus_eight and gen_pic_add_dot_plus_four. + (arm_pic_static_addr): Likewise. + (arm_rtx_costs_1): Adjust cost for UNSPEC_PIC_UNIFIED. + (arm_note_pic_base): Handle UNSPEC_PIC_UNIFIED. + * config/arm/arm.md (UNSPEC_PIC_UNIFIED): Define. + (pic_load_addr_unified): New. + +2012-01-20 Andrey Belevantsev <abel@ispras.ru> + + PR target/51106 + * function.c (instantiate_virtual_regs_in_insn): Use + delete_insn_and_edges when removing a wrong asm insn. + +2012-01-19 Vladimir Makarov <vmakarov@redhat.com> + + PR rtl-optimization/40761 + * ira-int.h (struct ira_loop_tree_node): Add comment for member loop. + Add new member loop_num. + (IRA_LOOP_NODE_BY_INDEX): Modify the check. + (ira_build): Remove the parameter. + + * ira.c (ira_print_disposition): Use loop_num instead of loop->num. + (ira.c): Do not build CFG loops for one region allocation. Remove + argument from ira_build call. + + * ira-build.c (init_loop_tree_node): New function. + (create_loop_tree_nodes): Use it. Separate the case when CFG + loops are not built. + (more_one_region_p): Check current_loops. + (finish_loop_tree_nodes): Separate the case when CFG loops are not + built. + (add_loop_to_tree): Process loop equal to NULL too. + (form_loop_tree): Separate the case when CFG loops are not built. + Use explicitly number for the root. + (rebuild_regno_allocno_maps, create_loop_tree_node_allocnos): Add + an assertion. + (ira_print_expanded_allocno, loop_compare_func): Use loop_num + instead of loop->num. + (mark_loops_for_removal): Ditto. Use loop_num instead of loop->num. + (mark_all_loops_for_removal): Ditto. + (remove_unnecessary_regions): Separate the case when CFG loops + are not built. + (ira_build): Remove the parameter. Use explicit number of regions + when CFG loops are not built. + + * ira-color.c (print_loop_title): Separate the case for the root node. + Use loop_num instead of loop->num. + (move_spill_restore): Use loop_num instead of loop->num. + + * ira-emit.c (setup_entered_from_non_parent_p): Add an assertion. + (change_loop): Ditto. + (change_loop): Use loop_num instead of loop->num. + + * ira-lives.c (process_bb_node_lives): Ditto. + + * ira-costs.c (print_allocno_costs, find_costs_and_classes): Ditto. + + * ira-conflicts.c (print_allocno_conflicts): Ditto. + +2012-01-19 Jakub Jelinek <jakub@redhat.com> + + PR libmudflap/40778 + * tree-mudflap.c (mf_artificial): New function. + (execute_mudflap_function_ops, execute_mudflap_function_decls, + mx_register_decls, mudflap_enqueue_decl): Use it. + + PR target/51876 + * config/arm/neon.md (*neon_vswp<mode>): Fix up operand + numbers in the insn pattern. + +2012-01-19 Michael Matz <matz@suse.de> + + PR tree-optimization/46590 + * cfgexpand.c (add_scope_conflicts_1): New old_conflicts argument, + use it in remembering which conflicts we already created. + (add_scope_conflicts): Adjust call to above, (de)allocate helper + bitmap. + +2012-01-19 Aldy Hernandez <aldyh@redhat.com> + + PR lto/51280 + * lto-wrapper.c (run_gcc): Pass -fgnu_tm on. + (merge_and_complain): Same. + +2012-01-19 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/50237 + * config/initfini-array.h: Guard content of the header + with #ifdef HAVE_INITFINI_ARRAY. + * configure.ac: Move gcc_AC_INITFINI_ARRAY much later into the file. + Add initfini-array.h to tm_file here. + * acinclude.m4 (gcc_AC_INITFINI_ARRAY): For non-ia64 do a linker test. + * config.gcc: Don't add initfini-array.h to tm_file here. + * configure: Regenerated. + +2012-01-19 Andrey Belevantsev <abel@ispras.ru> + + PR rtl-optimization/51505 + * df-problems.c (df_kill_notes): New parameter live. Update comment. + Remove REG_EQUAL/REG_EQUIV notes referring to dead registers. + (df_note_bb_compute): Update the call to df_kill_notes. + +2012-01-18 Aldy Hernandez <aldyh@redhat.com> + + * trans-mem.c (requires_barrier): Remove call to is_global_var. + +2012-01-18 Richard Guenther <rguenther@suse.de> + + * tree-ssa.c (useless_type_conversion_p): Remove special-casing + of conversions to void *. + +2012-01-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> + Richard Sandiford <rdsandiford@googlemail.com> + + PR middle-end/50325 + PR middle-end/51192 + * optabs.h (simplify_expand_binop): Declare. + * optabs.c (simplify_expand_binop): Make global. + * expmed.c (store_bit_field_1): Use simplify_expand_binop on big + endian targets if the source cannot be exactly covered by word + mode chunks. + +2012-01-17 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/51872 + * hard-reg-set.h (struct hard_reg_set_container): New type. + * target.h (struct hard_reg_set_container): Forward declare. + * target.def (set_up_by_prologue): New target hook. + * doc/tm.texi.in (TARGET_SET_UP_BY_PROLOGUE): Document it. + * doc/tm.texi: Regenerated. + * function.c (thread_prologue_and_epilogue_insns): Change + set_up_by_prologue HARD_REG_SET into struct hard_reg_set_container. + Call targetm.set_up_by_prologue on it. + * config/rs6000/rs6000.c (rs6000_set_up_by_prologue): New function. + (TARGET_SET_UP_BY_PROLOGUE): Redefine to it. + +2012-01-17 Nick Clifton <nickc@redhat.com> + + * config/rx/rx.c (rx_can_use_simple_return): New function. + * config/rx/rx-protos.h (rx_can_use_simple_return): Prototype. + * config/rx/rx.md (return): Predicate on rx_can_use_simple_return. + +2012-01-17 Richard Guenther <rguenther@suse.de> + + PR middle-end/51782 + * expr.c (expand_assignment): Take address-space information + from the address operand of MEM_REF and TARGET_MEM_REF. + (expand_expr_real_1): Likewise. + +2012-01-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> + + * ira.c (do_reload): Make sure ira_dump_file is re-set if no + reload dump is requested. + +2012-01-17 Aldy Hernandez <aldyh@redhat.com> + + PR other/51165 + * trans-mem.c (requires_barrier): Call may_be_aliased. + +2012-01-17 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/51877 + * tree-ssa-tail-merge.c (gimple_equal_p): Don't return true whenever + call arguments and fndecls compare equal, instead return false if they + don't. Return true only if lhs1 and lhs2 are either both NULL, or + both SSA_NAMEs that are valueized the same, or they satisfy + operand_equal_p. + +2012-01-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * configure.ac (gcc_cv_target_dl_iterate_phdr): Only check on + Solaris 11+. + * configure: Regenerate. + +2012-01-16 Jan Hubicka <jh@suse.cz> + + PR c/12245 + PR c++/14179 + * convert.c (convert_to_integer): Use fold_convert for + converting an INTEGER_CST to integer type. + +2012-01-16 Jason Merrill <jason@redhat.com> + + PR c++/14179 + * vec.c (vec_gc_o_reserve_1): Use ggc_round_alloc_size. + +2012-01-16 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/51860 + * config/s390/s390.c (s390_chunkify_start): Don't skip + call insns followed by NOTE_INSN_CALL_ARG_LOCATION note. Skip + NOTE_INSN_VAR_LOCATION and NOTE_INSN_CALL_ARG_LOCATION notes. + If insn is followed by NOTE_INSN_VAR_LOCATION or + NOTE_INSN_CALL_ARG_LOCATION notes, insert jump after all those notes. + Don't use location of note insns. + + PR tree-optimization/51865 + * tree-inline.c (tree_function_versioning): Call remap_decl + on DECL_RESULT whenever it has VOID_TYPE_P type. + +2012-01-15 Richard Sandiford <rdsandiford@googlemail.com> + + * config/mips/mips.c (mips16_build_call_stub): Don't use a stub + for calls to locally-binding MIPS16 functions if only the return + type uses float regs. + +2012-01-15 Chung-Lin Tang <cltang@codesourcery.com> + Richard Sandiford <rdsandiford@googlemail.com> + + * config/mips/mips-protos.h (SYMBOL_FORCE_TO_MEM): Delete. + (SYMBOL_32_HIGH): Likewise. + (mips_output_tls_reloc_directive): Declare. + * config/mips/mips.h (PIC_FUNCTION_ADDR_REGNUM): Move to mips.md. + (mips_use_pcrel_pool_p, mips_lo_relocs, mips_hi_relocs): Declare. + * config/mips/mips.c (mips_use_pcrel_pool_p): New variable. + (mips_lo_relocs, mips_hi_relocs): Make extern. + (mips16_stub_function): Move up file. + (mips_classify_symbol): Remove SYMBOL_FORCE_TO_MEM handling. + (mips_symbolic_constant_p): Likewise. Remove SYMBOL_32_HIGH too. + (mips_symbol_insns_1): Likewise. Check mips_use_pcrel_pool_p. + (mips_cannot_force_const_mem): Use mips_use_pcrel_pool_p instead of + SYMBOL_FORCE_TO_MEM. Only check mips_tls_symbol_ref_1 if it's false. + (mips_get_tp): Add MIPS16 support. + (mips_legitimize_tls_address): Remove MIPS16 sorry(). + Generalize DTPREL and TPREL handling. + (mips_init_relocs): Initialize mips_use_pcrel_pool_p. + Add MIPS16 TLS support. + (mips_output_tls_reloc_directive): New function. + (mips16_rewrite_pool_refs): Ignore UNSPEC_TLS_GET_TPs. + * config/mips/predicates.md (symbolic_operand_with_high) + (tls_reloc_operand): New predicates. + (force_to_mem_operand): Use mips_use_pcrel_pool_p. + * config/mips/mips.md (UNSPEC_UNSHIFTED_HIGH): New unspec. + (PIC_FUNCTION_ADDR_REGNUM): Moved from mips.h. + (*unshifted_high): New instruction. Use it for MIPS16 high splitter. + (consttable_tls_reloc, tls_get_tp_mips16_<mode>): New patterns. + (*tls_get_tp_mips16_call_<mode>): Likewise. + +2012-01-15 Uros Bizjak <ubizjak@gmail.com> + + PR rtl-optimization/51821 + * recog.c (peep2_find_free_register): Determine clobbered registers + from insn pattern. + +2012-01-14 Denis Chertykov <chertykov@gmail.com> + + PR target/50925 + * config/avr/avr-protos.h: Revert change of 2012-01-09. + * config/avr/avr.c: Likewise. + * config/avr/avr.h: Likewise. + +2012-01-13 Ian Lance Taylor <iant@google.com> + + PR c++/50012 + * tree.h (TYPE_QUALS): Add cast to int. + (TYPE_QUALS_NO_ADDR_SPACE): Likewise. + +2012-01-13 Ian Lance Taylor <iant@google.com> + + * ipa-cp.c (ipa_get_indirect_edge_target): Add typecasts when + comparing param_index to VEC_length result. + +2012-01-13 Steven Bosscher <steven@gcc.gnu.org> + + * c-decl.c: Do not include tree-mudflap.h + * tree-optimize.c: Likewise. + * Makefile.in: Update dependencies. + +2012-01-13 Richard Guenther <rguenther@suse.de> + + PR middle-end/8081 + * gimplify.c (gimplify_modify_expr_rhs): For calls with a + variable-sized result always use RSO. + +2012-01-12 DJ Delorie <dj@redhat.com> + + * cfgexpand.c (convert_debug_memory_address): Allow any valid + pointer type, not just the default pointer type. + +2012-01-09 Richard Henderson <rth@redhat.com> + Denis Chertykov <chertykov@gmail.com> + + PR target/50925 + * config/avr/avr-protos.h (avr_hard_regno_nregs): Declare. + * config/avr/avr.c (avr_can_eliminate): Simplify. + (avr_initial_elimination_offset): Likewise. + (avr_prologue_setup_frame): Use hard_frame_pointer_rtx. + (expand_epilogue): Likewise. + (avr_legitimize_address): Gut. + (avr_legitimize_reload_address): Use hard_frame_pointer_rtx. + (avr_hard_regno_nregs): New. + (avr_hard_regno_ok): Allow only Pmode for arg and frame_pointers. + (avr_regno_mode_code_ok_for_base_b): Handle arg and frame pointers. + * config/avr/avr.h (FIXED_REGISTERS): Adjust arg pointer, + add soft frame pointer. + (CALL_USED_REGISTERS): Likewise. + (REG_CLASS_CONTENTS): Likewise. + (REGISTER_NAMES): Likewise. + (HARD_REGNO_NREGS): Use avr_hard_regno_nregs. + (HARD_FRAME_POINTER_REGNUM): New. + (FRAME_POINTER_REGNUM): Use soft frame pointer. + (ELIMINABLE_REGS): Eliminate from the soft frame pointer, + remove the HARD_FRAME_POINTER self-elimination. + +2012-01-12 Georg-Johann Lay <avr@gjlay.de> + + PR target/51756 + * config/avr/avr.c (avr_encode_section_info): Test for absence of + DECL_EXTERNAL when checking for initializers of progmem variables. + +2012-01-12 Ira Rosen <irar@il.ibm.com> + + PR tree-optimization/51799 + * tree-vect-patterns.c (vect_recog_over_widening_pattern): Check + that the last operation is a type demotion. + +2012-01-12 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.md (*zero_extendsidi2_rex64): Correct movl template. + (x86_shift<mode>_adj_1): Remove operand constraint from operand 3. + +2012-01-11 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/51796 + * combine.c (distribute_notes): If i3 is a noreturn call, + allow old_size to be equal to args_size and make sure the + noreturn call gets REG_ARGS_SIZE note. + * expr.c (fixup_args_size_notes): Put REG_ARGS_SIZE notes + on noreturn calls even when the delta is 0. + +2012-01-11 Nathan Sidwell <nathan@acm.org> + + * gcov.c (STRING_SIZE): Remove. + (generate_results): Erase annotations for source files with no + coverage information. + (read_line): New. + (output_lines): Use it. + +2012-01-11 Eric Botcazou <ebotcazou@adacore.com> + + * gimple.h (gimplify_body): Remove first argument. + * gimplify.c (copy_if_shared): Add DATA argument. Do not create the + pointer set here, instead just pass DATA to walk_tree. + (unshare_body): Remove BODY_P argument and adjust. Create the pointer + set here and invoke copy_if_shared on the size trees of DECL_RESULT. + (unvisit_body): Likewise, but with unmark_visited. + (gimplify_body): Remove BODY_P argument and adjust. + (gimplify_function_tree): Adjust call to gimplify_body. + * omp-low.c (finalize_task_copyfn): Likewise. + +2012-01-11 Eric Botcazou <ebotcazou@adacore.com> + + * tree.h (build_function_decl_skip_args): Add boolean parameter. + (build_function_type_skip_args): Delete. + * tree.c (build_function_type_skip_args): Make static and add + SKIP_RETURN parameter. Fix thinko in the handling of variants. + (build_function_decl_skip_args): Add SKIP_RETURN parameter and + pass it to build_function_type_skip_args. + * cgraph.h (cgraph_function_versioning): Add boolean parameter. + (tree_function_versioning): Likewise. + * cgraph.c (cgraph_create_virtual_clone): Adjust call to + build_function_decl_skip_args. + * cgraphunit.c (cgraph_function_versioning): Add SKIP_RETURN parameter + and pass it to build_function_decl_skip_args/tree_function_versioning. + (cgraph_materialize_clone): Adjust call to tree_function_versioning. + * ipa-inline-transform.c (save_inline_function_body): Likewise. + * trans-mem.c (ipa_tm_create_version): Likewise. + * tree-sra.c (modify_function): Ditto for cgraph_function_versioning. + * tree-inline.c (declare_return_variable): Remove always-true test. + (tree_function_versioning): Add SKIP_RETURN parameter. If the function + returns non-void and SKIP_RETURN, create a void-typed RESULT_DECL. + * ipa-split.c (split_function): Skip the return value for the split + part if it doesn't return. + +2012-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com> + + PR tree-optimization/49642 + * ipa-split.c (forbidden_dominators): New variable. + (check_forbidden_calls): New function. + (dominated_by_forbidden): Likewise. + (consider_split): Check for forbidden dominators. + (execute_split_functions): Initialize and free forbidden + dominators info; call check_forbidden_calls. + +2012-01-11 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> + + * config/arm/arm.md (mov_notscc): Use MVN for false condition. + +2012-01-11 Nick Clifton <nickc@redhat.com> + + * config/rx/rx.md (return): Define pattern. + +2012-01-11 Richard Guenther <rguenther@suse.de> + + * doc/extend.texi (malloc attribute): Adjust according to + implementation. + +2012-01-10 Aldy Hernandez <aldyh@redhat.com> + Patrick Marlier <patrick.marlier@gmail.com> + + PR middle-end/51516 + * trans-mem.c (get_cg_data): Traverse aliases if requested. + (ipa_tm_scan_calls_block): Update parameters to get_cg_data. + (ipa_tm_note_irrevocable): Same. + (ipa_tm_scan_irr_block): Same. + (ipa_tm_decrement_clone_counts): Same. + (ipa_tm_scan_irr_function): Same. + (ipa_tm_create_version_alias): Same. + (ipa_tm_create_version): Same. + (ipa_tm_transform_calls_redirect): Same. + (ipa_tm_transform_calls): Same. + (ipa_tm_transform_transaction): Same. + (ipa_tm_execute): Same. + +2012-01-10 Richard Guenther <rguenther@suse.de> + + PR middle-end/51806 + * opts.c (common_handle_option): Handle -Werror. + +2012-01-10 Andreas Schwab <schwab@linux-m68k.org> + + * config/m68k/sync.md ("atomic_compare_and_swap<mode>_1"): Fix + operand number. + +2012-01-10 Jason Merrill <jason@redhat.com> + + * doc/invoke.texi (C++ Dialect Options): Update -fabi-version=6 + information. + +2012-01-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * configure.ac (gcc_cv_as_ix86_tlsgdplt): Check if linker + supports R_386_TLS_GD_PLT reloc. + (gcc_cv_as_ix86_tlsldmplt): Check if linker + supports R_386_TLS_LDM_PLT reloc. + * configure: Regenerate. + * config.in: Regenerate. + +2012-01-10 Georg-Johann Lay <avr@gjlay.de> + + PR target/49868 + Extend __pgmx semantics to linearize memory. + * config/avr/avr.md (mov<mode>): Use avr_xload_libgcc_p to + determine if code comes inline or from libgcc. + (MOVMEM_r_d:HI): Add "w" to constraint for better preference. + (movmem_qi, movmem_qi): Set constraint #2 to "n". + (movmem_qi_elpm, movmem_hi_elpm): Remove insns. + (movmemx_qi, movmemx_hi): New insns. + (xload_<mode>_libgcc): Rewrite to new insn condition. + (xload_<mode>): Remove insns. + * config/avr/avr.c (avr_out_xload): Rewrite: Only need to handle + cases that don't satisfy avr_xload_libgcc_p(). + (avr_addr_space_convert): Allow converting in any direction. + (avr_addr_space_subset_p): Return always true. + (avr_xload_libgcc_p): Rewrite to fit new __pgmx semantics. + (avr_emit_movmemhi): Ditto. + (avr_out_lpm): No need to handle ADDR_SPACE_PGMX any more. + (avr_out_movmem): Ditto. + (AVR_SYMBOL_FLAG_PROGMEM): New macro. + (AVR_SYMBOL_SET_ADDR_SPACE): New macro. + (AVR_SYMBOL_GET_ADDR_SPACE): New macro. + (avr_encode_section_info): Encode 'progmem' in symbol flags. + (output_reload_in_const): Don't zero-extend any 24-bit symbols. + +2012-01-10 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/50913 + * graphite-scop-detection.c (stmt_has_simple_data_refs_p): + Require data-refs to be representable by Graphite with respect + to any loop nest. + +2012-01-10 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/constraints.md ("L"): Return true for 0xffffffff. + * config/i386/i386.c (*anddi_1): Emit AND with 0xffffffff as MOV. + +2012-01-10 Tom de Vries <tom@codesourcery.com> + + PR rtl-optimization/51271 + * dwarf2cfi.c (scan_trace): Save and restore cur_row->reg_save when + handling annulled branch. + +2012-01-10 Richard Henderson <rth@redhat.com> + + * config/arm/arm.c (arm_vectorize_vec_perm_const_ok, + TARGET_VECTORIZE_VEC_PERM_CONST_OK, neon_split_vcombine, MAX_VECT_LEN, + struct expand_vec_perm_d, arm_expand_vec_perm_1, arm_expand_vec_perm, + arm_evpc_neon_vuzp, arm_evpc_neon_vzip, arm_evpc_neon_vrev, + arm_evpc_neon_vtrn, arm_evpc_neon_vtbl, arm_expand_vec_perm_const_1, + arm_expand_vec_perm_const): New. + * config/arm/arm-protos.h: Update. + * config/arm/neon.md (UNSPEC_VCONCAT): New. + (*neon_vswp<VDQX>): New. + (neon_vcombine<VDX>): Use neon_split_vcombine. + (neon_vtbl1v16qi, neon_vtbl2v16qi, neon_vcombinev16qi): New. + * config/arm/vec-common.md (vec_perm_const<VALL>): New. + (vec_perm<VE>): New. + +2012-01-10 Richard Henderson <rth@redhat.com> + + * config/arm/arm.c (arm_gen_compare_reg): Add scratch argument; + use it if reload_completed. + (arm_legitimize_sync_memory, arm_emit, arm_insn_count, arm_count, + arm_output_asm_insn, arm_process_output_memory_barrier, + arm_output_memory_barrier, arm_ldrex_suffix, arm_output_ldrex, + arm_output_strex, arm_output_it, arm_output_op2, arm_output_op3, + arm_output_sync_loop, arm_get_sync_operand, FETCH_SYNC_OPERAND, + arm_process_output_sync_insn, arm_output_sync_insn, + arm_sync_loop_insns, arm_call_generator, arm_expand_sync): Remove. + (arm_pre_atomic_barrier, arm_post_atomic_barrier): New. + (arm_emit_load_exclusive, arm_emit_store_exclusive): New. + (emit_unlikely_jump): New. + (arm_expand_compare_and_swap, arm_split_compare_and_swap): New. + (arm_split_atomic_op): New. + * config/arm/arm-protos.h: Update. + * config/arm/arm.h (enum arm_sync_generator_tag): Remove. + (struct arm_sync_generator): Remove. + * config/arm/arm.md (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK, + VUNSPEC_SYNC_OP, VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): Remove. + (VUNSPEC_ATOMIC_CAS, VUNSPEC_ATOMIC_XCHG, VUNSPEC_ATOMIC_OP): New. + (VUNSPEC_LL, VUNSPEC_SC): New. + (sync_result, sync_memory, sync_required_value, sync_new_value, + sync_t1, sync_t2, sync_release_barrier, sync_op): Remove. + (attr length): Don't use arm_sync_loop_insns. + (cbranch_cc, cstore_cc): Update call to arm_gen_compare_reg. + (movsfcc, movdfcc): Likewise. + * config/arm/constraints.md (Ua): New. + * config/arm/prediates.md (mem_noofs_operand): New. + (sync_compare_and_swap<QHSD>, sync_lock_test_and_set<QHSD>): Remove. + (sync_clobber, sync_t2_reqd): Remove. + (sync_<syncop><QHSD>, sync_nand<QHSD>): Remove. + (sync_new_<syncop><QHSD>, sync_new_nand<QHSD>): Remove. + (sync_old_<syncop><QHSD>, sync_old_nand<QHSD>): Remove. + (arm_sync_compare_and_swap<SIDI>): Remove. + (arm_sync_compare_and_swap<NARROW>): Remove. + (arm_sync_lock_test_and_set<SIDI>): Remove. + (arm_sync_lock_test_and_set<NARROW>): Remove. + (arm_sync_new_<syncop><SIDI>): Remove. + (arm_sync_new_<syncop><NARROW>): Remove. + (arm_sync_new_nand<SIDI>): Remove. + (arm_sync_new_nand<NARROW>): Remove. + (arm_sync_old_<syncop><SIDI>): Remove. + (arm_sync_old_<syncop><NARROW>): Remove. + (arm_sync_old_nand<SIDI>): Remove. + (arm_sync_old_nand<NARROW>): Remove. + (*memory_barrier): Merge arm_output_memory_barrier. + (atomic_compare_and_swap<QHSD>): New. + (atomic_compare_and_swap<NARROW>_1): New. + (atomic_compare_and_swap<SIDI>_1): New. + (atomic_exchange<QHSD>): New. + (cas_cmp_operand, cas_cmp_str): New. + (atomic_op_operand, atomic_op_str): New. + (atomic_<syncop><QHSD>, atomic_nand<QHSD>): New. + (atomic_fetch_<syncop><QHSD>, atomic_fetch_nand<QHSD>): New. + (atomic_<syncop>_fetch<QHSD>, atomic_nand_fetch<QHSD>): New. + (arm_load_exclusive<NARROW>): New. + (arm_load_exclusivesi, arm_load_exclusivedi): New. + (arm_store_exclusive<QHSD>): New. + +2012-01-09 Michael Meissner <meissner@linux.vnet.ibm.com> + + * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add DF + reload patterns if -mvsx-scalar-memory. + + * config/rs6000/vsx.md (vsx_xscvspdp): Allow xscvspdp to be + generated, even -mno-vsx-scalar-double was used. + (vsx_xscvdpsp_scalar): Likewise. + (vsx_xscvspdp_scalar2): Likewise. + +2012-01-09 Tom de Vries <tom@codesourcery.com> + Andrew Pinski <apinski@cavium.com> + + PR debug/51471 + * reorg.c (fill_slots_from_thread): Don't speculate + frame-related insns. + +2012-01-09 Richard Sandiford <rdsandiford@googlemail.com> + + * sched-int.h (bb_note): Move to... + * basic-block.h: ...here. + * haifa-sched.c (bb_note): Move to... + * cfgrtl.c: ...here. + * function.c (next_block_for_reg): New function. + (move_insn_for_shrink_wrap): Likewise. + (prepare_shrink_wrap): Rewrite to use the above. + +2012-01-09 Aldy Hernandez <aldyh@redhat.com> + + * gimple.c (is_gimple_non_addressable): Remove. + * gimple.h: Remove is_gimple_non_addressable. + * gimplify.c (gimplify_modify_expr_rhs): Use is_gimple_reg instead of + is_gimple_non_addressable. + * trans-mem.c (expand_assign_tm): Same. + +2012-01-09 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/51775 + * tree-ssa-sccvn.c (visit_use): Value-number throwing stmts. + * tree-ssa-pre.c (eliminate): Properly fixup EH info. + +2012-01-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> + + * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for + tuning parameters. + * config/arm/arm.c (arm_cortex_a15_tune): New static variable. + +2012-01-09 Richard Guenther <rguenther@suse.de> + + * tree-streamer-out.c (write_ts_optimization): Fix spelling. + +2012-01-08 Jan Hubicka <jh@suse.cz> + + PR tree-optimize/51680 + * ipa-inline-analyss.c (evaluate_properties_for_edge): Fix condition + on when known_vals needs to be computed; cleanup. + +2012-01-08 Jan Hubicka <jh@suse.cz> + + PR tree-optimize/51694 + * ipa-cp.c (ipa_get_indirect_edge_target): Add bounds checks. + +2012-01-08 Jonathan Wakely <jwakely.gcc@gmail.com> + + * doc/cpp.texi (Predefined Macros): __STRICT_ANSI__ is defined + for -std=c++98 and -std=c++11 too. + +2012-01-08 Chung-Lin Tang <cltang@codesourcery.com> + + * cfgloop.c (cancel_loop): Add free() of bbs array. + +2012-01-07 Jan Hubicka <jh@suse.cz> + + PR tree-optimization/51600 + * ipa-inline-analysis.c (estimate_edge_devirt_benefit): Disable code + that benefits small functions. + +2012-01-07 Jan Hubicka <jh@suse.cz> + + * ipa-inline.c (want_inline_small_function_p): Fix formating. + +2012-01-07 Jan Hubicka <jh@suse.cz> + + PR tree-optimization/51680 + * ipa-inline.c (want_inline_small_function_p): Be more lax on functions + whose inlining reduce unit size. + +2012-01-07 Alexandre Oliva <aoliva@redhat.com> + + PR bootstrap/51725 + * cselib.c (new_elt_loc_list): Promote addr_list to canonical node. + Add canonical node to containing_mem chain after the non-canonical + one, even if there weren't any locs to propagate. + (remove_useless_values): Keep only canonical values. + (add_mem_for_addr, cselib_lookup_mem): Canonicalize addr. + (cselib_invalidate_mem): Likewise. Ensure v is canonical, and + canonicalize mem_chain elements that are not discarded. + +2012-01-06 Jakub Jelinek <jakub@redhat.com> + + PR target/47333 + * cgraphunit.c (cgraph_optimize): Call output_weakrefs + before emitting functions. + + PR gcov-profile/50127 + * bb-reorder.c (partition_hot_cold_basic_blocks): Call + clear_aux_for_blocks. + +2012-01-06 Alexandre Oliva <aoliva@redhat.com> + + PR debug/51746 + * cselib.c (cselib_hash_rtx): Hash incoming VALUEs too. + +2012-01-06 Arnaud Charlet <charlet@adacore.com> + + * c-decl.c (ext_block): Moved up. + (collect_all_refs, for_each_global_decl): Take ext_block into account. + +2012-01-06 Han Shen <shenhan@google.com> + + Translate built-in include paths for sysroot. + * Makefile.in (gcc_gxx_include_dir_add_sysroot): New. + (PREPROCESSOR_DEFINES): Define GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT. + + * cppdefault.c (cpp_include_defaults): Replace hard coded "0" with + GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT for "add_sysroot" field. + + * configure.ac (AC_SUBST): Add gcc_gxx_include_dir_add_sysroot to + control whether sysroot should be prepended to gxx include dir. + + * configure: Regenerate. + +2012-01-06 Torvald Riegel <triegel@redhat.com> + + PR rtl-optimization/51771 + * builtin-attrs.def (ATTR_RETURNS_TWICE, ATTR_TM_NOTHROW_RT_LIST): New. + * gtm-builtins.def (BUILT_IN_TM_START): Add returns-twice attrib. + +2012-01-05 Eric Botcazou <ebotcazou@adacore.com> + + PR tree-optimization/51315 + * tree-sra.c (tree_non_aligned_mem_for_access_p): New predicate. + (build_accesses_from_assign): Use it instead of tree_non_aligned_mem_p. + +2012-01-05 Uros Bizjak <ubizjak@gmail.com> + + PR target/51681 + * config/ia64/ia64.c (expand_vec_perm_shrp): Use correct operands + for shrp pattern. Correctly handle and fixup shift variable. + Return false when shift > nelt for BYTES_BIG_ENDIAN target. + +2012-01-05 Jakub Jelinek <jakub@redhat.com> + + PR debug/51762 + * calls.c (emit_call_1): For noreturn calls force a REG_ARGS_SIZE + note when !ACCUMULATE_OUTGOING_ARGS. + +2012-01-05 Eric Botcazou <ebotcazou@adacore.com> + + * tree-vrp.c (extract_range_from_binary_expr_1): Remove duplicated + condition. + (extract_range_from_unary_expr_1): Avoid useless computations. + +2012-01-05 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/51767 + * cfgrtl.c (force_nonfallthru_and_redirect): Force addition + of jump_block and add an extra edge for degenerated asm gotos. + + PR middle-end/51768 + * stmt.c (check_unique_operand_names): Don't ICE during error + reporting if i is from labels chain. + + PR middle-end/44777 + * profile.c (branch_prob): Split bbs that have exit edge + and need a fake entry edge too. + +2012-01-05 Jan Hubicka <jh@suse.cz> + + PR middle-end/49710 + * cfgloopmanip.c (remove_path): Walk loop hiearchy upwards when + unlooping loops. + +2012-01-05 Richard Guenther <rguenther@suse.de> + + PR lto/50490 + * tree-streamer-out.c (write_ts_optimization): New function. + (streamer_write_tree_body): Call it. + * tree-streamer-in.c (lto_input_ts_optimization): New function. + (streamer_read_tree_body): Call it. + * lto-streamer-out.c (lto_is_streamable): Handle OPTIMIZATION_NODE. + +2012-01-05 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/51761 + * gimple.h (struct gimplify_ctx): Add in_cleanup_point_expr field. + * gimplify.c (gimplify_cleanup_point_expr): Save and set + in_cleanup_point_expr before gimplify_stmt call and restore it + afterwards. + (gimplify_target_expr): Don't add {CLOBBER} cleanup if + in_cleanup_point_expr is false. + +2012-01-05 Richard Guenther <rguenther@suse.de> + + PR middle-end/51764 + * common.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move + to c.opt. + * toplev.c (process_options): Reject combining mudflap and LTO. + * tree-nomudflap.c (nogo): Use sorry instead of internal_error. + +2012-01-05 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/51760 + * tree-ssa-ccp.c (likely_value): Drop UNDEFINED to CONSTANT, + not VARYING. + (bit_value_unop): Handle UNDEFINED operands. + (bit_value_binop): Likewise. + +2012-01-05 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.c (avr_replace_prefix): Remove. + (avr_asm_named_section): Use ACONCAT instead of avr_replace_prefix. + (avr_asm_function_rodata_section): Ditto. + (avr_asm_select_section): Ditto. + +2012-01-05 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * reload.c (find_reloads): Adjust LABEL_NUSES on REG_LABEL_OPERAND + insertion. + +2012-01-05 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/51648 + * tree-cfg.c (need_fake_edge_p): Return true also for noreturn + calls that have any non-fake successor edges. + + PR debug/51746 + * var-tracking.c (add_stores): For COND_EXEC allow oval to be NULL. + +2012-01-04 Eric Botcazou <ebotcazou@adacore.com> + + PR tree-optimization/51624 + * tree-sra.c (build_ref_for_model): When replicating a chain of + COMPONENT_REFs, stop as soon as the offset would become negative. + +2012-01-04 Jakub Jelinek <jakub@redhat.com> + + PR debug/51695 + * dwarf2out.c (output_loc_list): For now drop >= 64KB expressions + in .debug_loc on the floor. + +2012-01-04 Andrew Pinski <apinski@cavium.com> + + * doc/invoke.texi (-march=@var{arch}): Add octeon+ and octeon2. + +2012-01-04 Andrew Pinski <apinski@cavium.com> + Adam Nemet <anemet@caviumnetworks.com> + + * config/mips/mips.md (size): Add SI and DI. + (SIZE): New mode attribute. + (U): New code attribute. + * config/mips/mips-dsp.md (mips_lbux): Use gen_mips_lbux_extsi. + (mips_lbux_<mode>): Delete. + (mips_l<SHORT:size><u>x_ext<GPR:mode>_<P:mode>): New pattern. + (mips_lhx): Use gen_mips_lhx_extsi. + (mips_lhx_<mode>): Delete. + (mips_lwx): Delete. + (mips_l<size>x): New expand. + (mips_lwx_<mode>): Delete. + (mips_l<GPR:size>x_<P:mode>): New pattern. + (*mips_lw<u>x_<P:mode>_ext): Likewise. + * config/mips/mips-ftypes.def: Add DI f(POINTER, SI) function type. + * config/mips/mips.c (mips_lx_address_p): New function. + (mips_rtx_costs <case MEM>): Call mips_lx_address_p. + (dsp64): New availability predicate. + (mips_builtins): Add an entry for __builtin_mips_ldx. + * config/mips/mips.h (ISA_HAS_LBX): New define. + (ISA_HAS_LBUX): Likewise. + (ISA_HAS_LHX): Likewise. + (ISA_HAS_LHUX): Likewise. + (ISA_HAS_LWX): Likewise. + (ISA_HAS_LWUX): Likewise. + (ISA_HAS_LDX): Likewise. + * doc/extend.texi (__builtin_mips_ldx): Document. + +2012-01-04 Tristan Gingold <gingold@adacore.com> + + * config/vms/xm-vms.h (HOST_LONG_FORMAT, HOST_PTR_PRINTF): Define + when long pointers are used. + * config.build (*-*-*vms*): Handle all OpenVMS targets. + (alpha64-dec-*vms*, alpha*-dec-*vms*) + (ia64-hp-*vms*): Remove. + * config/vms/xm-vms64.h: Delete. + +2012-01-04 Aldy Hernandez <aldyh@redhat.com> + + PR middle-end/51472 + * trans-mem.c (expand_assign_tm): Handle TM_MEMMOVE loads correctly. + +2012-01-04 Aldy Hernandez <aldyh@redhat.com> + + * opts.c (finish_options): Remove duplicate sorry. + +2012-01-04 Aldy Hernandez <aldyh@redhat.com> + + PR middle-end/51696 + * trans-mem.c (diagnose_tm_1): Display indirect calls with no name + correctly. + +2012-01-04 Richard Guenther <rguenther@suse.de> + + PR middle-end/51750 + * tree.c (size_low_cst): New function. + * tree.h (size_low_cst): Declare. + * fold-const.c (fold_comparison): Use it to extract the low + part of the POINTER_PLUS_EXPR offset. + +2012-01-04 Georg-Johann Lay <avr@gjlay.de> + + Fix clearing ZERO_REG + * config/avr/avr.md (cc): Add alternative "ldi". + (movqi_insn): Use it in cc attribute. + * config/avr/avr.c (notice_update_cc): Handle CC_LDI. + (output_reload_in_const): Use CLR to move 0 to ZERO_REG. + (output_reload_insisf): Use ZERO_REG to pre-clear register. + +2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> + + * configure: Regenerate. + +2012-01-04 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/49651 + * tree-ssa-structalias.c (type_can_have_subvars): New function. + (var_can_have_subvars): Use it. + (get_constraint_for_1): Only consider subfields if there can be any. + +2012-01-03 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/51725 + * cselib.c (new_elt_loc_list): When moving locs from one cselib_val + to its new canonical_cselib_val and the cselib_val was in + first_containing_mem chain, but the canonical_cselib_val was not, + add the latter into the chain. + (cselib_invalidate_mem): Compare canonical_cselib_val of + addr_list chain elt with v. + + PR pch/51722 + * dwarf2out.c (dwarf2out_start_source_file, dwarf2out_define, + dwarf2out_undef): Allocate e.info using ggc_strdup instead + of xstrdup. + (output_macinfo_op): Don't ggc_strdup fd->filename. + (optimize_macinfo_range): Allocate grp_name using XALLOCAVEC, + then ggc_strdup it. Don't free inc->info or cur->info. + (output_macinfo): Don't free ref->info or file->info. + +2012-01-03 Ira Rosen <irar@il.ibm.com> + + PR tree-optimization/51269 + * tree-vect-loop-manip.c (set_prologue_iterations): Make + first_niters a pointer. + (slpeel_tree_peel_loop_to_edge): Likewise. + (vect_do_peeling_for_loop_bound): Update call to + slpeel_tree_peel_loop_to_edge. + (vect_gen_niters_for_prolog_loop): Don't compute wide_prolog_niters + here. Remove it from the parameters list. + (vect_do_peeling_for_alignment): Update calls and compute + wide_prolog_niters. + +2012-01-03 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/51070 + * tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop): + Properly handle calls. + +2012-01-03 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/51692 + * tree-ssa-dce.c (eliminate_unnecessary_stmts): Do not remove + the LHS of allocation stmts. + +2012-01-03 Olivier Hainque <hainque@adacore.com> + + * system.h: Prior to #define, #undef fopen and freopen unconditionally. + +2012-01-03 Olivier Hainque <hainque@adacore.com> + + * collect2.c (main): In AIX specific computations for vector + insertions, use CONST_CAST2 to cast from char ** to const char **. + +2012-01-03 Richard Guenther <rguenther@suse.de> + + PR debug/51650 + * dwarf2out.c (dwarf2out_finish): Always create a DIE for + the context of a limbo DIE when it does not already exist. + +2012-01-03 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/51719 + * value-prof.c (gimple_ic): When indirect call isn't noreturn, + but direct call is, clear direct call's lhs and don't add fallthrough + edge from dcall_bb to join_bb and PHIs. + +2012-01-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> + + * config/s390/s390.md ("*cmp<mode>_ccs"): Fix comment mentioning + the instructions emitted by the pattern. + ("*TDC_insn_<mode>"): Add comment. + +2012-01-03 Richard Guenther <rguenther@suse.de> + + PR middle-end/51730 + * fold-const.c (fold_comparison): Properly canonicalize + tree offset and HOST_WIDE_INT bit position. + +2012-01-02 Uros Bizjak <ubizjak@gmail.com> + + * config/ia64/ia64.c (expand_vec_perm_broadcast): Use correct + operands for extzv pattern. + +2012-01-02 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/51725 + * cselib.c (add_mem_for_addr): Call canonical_cselib_val + on mem_elt first. + +2012-01-02 Sandra Loosemore <sandra@codesourcery.com> + + * doc/invoke.texi (-flto and related options): Copy-edit. + +2012-01-02 Richard Sandiford <rdsandiford@googlemail.com> + + * config/mips/mips.md (loadgp_newabi_<mode>): Add missing earlyclobber. + +2012-01-02 Jakub Jelinek <jakub@redhat.com> + + * config/i386/sse.md (*avx2_gatherdi<mode>_3, *avx2_gatherdi<mode>_4): + New patterns. + +2012-01-02 Richard Sandiford <rdsandiford@googlemail.com> + + * expr.h (move_by_pieces_ninsns): Declare. + * expr.c (move_by_pieces_ninsns): Make external. + * config/mips/mips-protos.h (mips_move_by_pieces_p): Declare. + (mips_store_by_pieces_p): Likewise. + * config/mips/mips.h (MOVE_BY_PIECES_P): Call mips_move_by_pieces_p. + (STORE_BY_PIECES_P): Likewise mips_store_by_pieces_p. + * config/mips/mips.c (mips_move_by_pieces_p): New function. + (mips_store_by_pieces_p): Likewise. + +2012-01-02 Jakub Jelinek <jakub@redhat.com> + + * passes.c (register_one_dump_file): Free full_name. + + * reload1.c (reload): Don't allocate reg_max_ref_width here. + (calculate_elim_costs_all_insns): Free offsets_at and + offsets_known_at at the end and clear the pointers. + +2012-01-02 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.opt (-mbranch-cost): Fix double definition of + this option introduced in r180739. + +2012-01-02 Georg-Johann Lay <avr@gjlay.de> + + PR target/51345 + * config.gcc (tm_file target=avr]): Add avr/avr-multilib.h + (tmake_file target=avr): Add avr/t-multilib. + + * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use AVR_HAVE_8BIT_SP + to built-in define __AVR_HAVE_8BIT_SP__, __AVR_HAVE_16BIT_SP__. + * config/avr/genmultilib.awk: New file. + * config/avr/t-multilib: New auto-generated file. + * config/avr/multilib.h: New auto-generated file. + * config/avr/t-avr (AVR_MCUS): New variable. + (genopt.sh): Use it. + (s-mlib): Depend on t-multilib. + (t-multilib, multilib.h): New dependencies. + (s-avr-mlib): New rule to build t-multilib, multilib.h from AVR_MCUS. + (MULTILIB_OPTIONS): Remove. + (MULTILIB_MATCHES): Remove. + (MULTILIB_DIRNAMES): Remove. + (MULTILIB_EXCEPTIONS): Remove: + * config/avr/genopt.sh: Don't use hard coded file name; + pass AVR_MCUS from t-avr instead. + +2012-01-02 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.c (avr_out_ashrpsi3): Fix "case 31" to "case 23". + +2012-01-02 Georg-Johann Lay <avr@gjlay.de> + + Implement light-weight DImode support. + * config/avr/avr-dimode.md: New file. + * config/avr/avr.md: Include it. + (adjust_len): Add plus64, compare64. + (HIDI): Remove code iterator. + (code_stdname): New code attribute. + (rotx, rotsmode): Remove DI. + (rotl<mode>3, *rotw<mode>, *rotb<mode>): Use HISI instead of HIDI + as code iterator. + * config/avr/avr-protos.h (avr_have_dimode): New. + (avr_out_plus64, avr_out_compare64): New. + * config/avr/avr.c (avr_out_compare): Handle DImode. + (avr_have_dimode): New variable definition and initialization. + (avr_out_compare64, avr_out_plus64): New functions. + (avr_out_plus_1): Use simplify_unary_operation to negate xval. + (adjust_insn_length): Handle ADJUST_LEN_COMPARE64, ADJUST_LEN_PLUS64. + (avr_compare_pattern): Skip DImode comparisons. + +2012-01-02 Revital Eres <revital.eres@linaro.org> + + * ddg.c (def_has_ccmode_p): New function. + (add_cross_iteration_register_deps, + create_ddg_dep_from_intra_loop_link): Call it. + +2012-01-02 Richard Guenther <rguenther@suse.de> + + PR other/51679 + * invoke.texi (fassociative-math): Remove spurious paranthesis. + +2012-01-01 Jakub Jelinek <jakub@redhat.com> + + * gcc.c (process_command): Update copyright notice dates. + * gcov.c (print_version): Likewise. + * gcov-dump.c (print_version): Likewise. + * mips-tfile.c (main): Likewise. + * mips-tdump.c (main): Likewise. + +2012-01-01 Ira Rosen <irar@il.ibm.com> + + PR tree-optimization/51704 + * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Check that + a use is inside the basic block or loop before accessing its vect info. + +2012-01-01 Jan Hubicka <jhjh@suse.cz> + + PR rtl-optimization/51069 + * cfgloopmanip.c (remove_path): Removing path making irreducible + region unconditional makes BB part of the region. + +2012-01-01 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/51683 + * tree-ssa-propagate.c (substitute_and_fold): Don't optimize away + calls with side-effects. + * tree-ssa-ccp.c (ccp_fold_stmt): Likewise. + +Copyright (C) 2012 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. |