OSDN Git Service

* ira.c (check_allocation): Use REG_WORDS_BIG_ENDIAN, not
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 82139ff..88c01d4 100644 (file)
@@ -1,5 +1,225 @@
+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.