platform/upstream/gcc.git
12 years agoAArch64 [6/10]
Sofiane Naci [Tue, 23 Oct 2012 17:22:48 +0000 (17:22 +0000)]
AArch64 [6/10]

2012-10-23  Sofiane Naci <sofiane.naci@arm.com>

Mark libatomic unsupported in AArch64.

* configure.tgt: Mark libatomic unsupported.

From-SVN: r192727

12 years agoAArch64 [4/10]
Ian Bolton [Tue, 23 Oct 2012 17:20:56 +0000 (17:20 +0000)]
AArch64 [4/10]

2012-10-23  Ian Bolton  <ian.bolton@arm.com>
    Jim MacArthur  <jim.macarthur@arm.com>
    Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
    Marcus Shawcroft  <marcus.shawcroft@arm.com>
    Nigel Stephens  <nigel.stephens@arm.com>
    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
    Richard Earnshaw  <rearnsha@arm.com>
    Sofiane Naci  <sofiane.naci@arm.com>
    Stephen Thomas  <stephen.thomas@arm.com>
    Tejas Belagod  <tejas.belagod@arm.com>
    Yufeng Zhang  <yufeng.zhang@arm.com>

* lib/target-supports.exp
(check_profiling_available): Add AArch64.
(check_effective_target_vect_int): Likewise.
(check_effective_target_vect_shift): Likewise.
(check_effective_target_vect_float): Likewise.
(check_effective_target_vect_double): Likewise.
(check_effective_target_vect_widen_mult_qi_to_hi): Likewise.
(check_effective_target_vect_widen_mult_hi_to_si): Likewise.
(check_effective_target_vect_pack_trunc): Likewise.
(check_effective_target_vect_unpack): Likewise.
(check_effective_target_vect_hw_misalign): Likewise.
(check_effective_target_vect_short_mult): Likewise.
(check_effective_target_vect_int_mult): Likewise.
(check_effective_target_vect_stridedN): Likewise.
(check_effective_target_sync_int_long): Likewise.
(check_effective_target_sync_char_short): Likewise.
(check_vect_support_and_set_flags): Likewise.
(check_effective_target_aarch64_tiny): New.
(check_effective_target_aarch64_small): New.
(check_effective_target_aarch64_large): New.
* g++.dg/other/PR23205.C: Enable aarch64.
* g++.dg/other/pr23205-2.C: Likewise.
* g++.old-deja/g++.abi/ptrmem.C: Likewise.
* gcc.c-torture/execute/20101011-1.c: Likewise.
* gcc.dg/20020312-2.c: Likewise.
* gcc.dg/20040813-1.c: Likewise.
* gcc.dg/builtin-apply2.c: Likewise.
* gcc.dg/stack-usage-1.c: Likewise.

Co-Authored-By: Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
Co-Authored-By: Jim MacArthur <jim.macarthur@arm.com>
Co-Authored-By: Marcus Shawcroft <marcus.shawcroft@arm.com>
Co-Authored-By: Nigel Stephens <nigel.stephens@arm.com>
Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
Co-Authored-By: Sofiane Naci <sofiane.naci@arm.com>
Co-Authored-By: Stephen Thomas <stephen.thomas@arm.com>
Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com>
Co-Authored-By: Yufeng Zhang <yufeng.zhang@arm.com>
From-SVN: r192726

12 years agoAArch64 [5/10]
Ian Bolton [Tue, 23 Oct 2012 17:13:27 +0000 (17:13 +0000)]
AArch64 [5/10]

2012-10-23  Ian Bolton  <ian.bolton@arm.com>
    Jim MacArthur  <jim.macarthur@arm.com>
    Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
    Marcus Shawcroft  <marcus.shawcroft@arm.com>
    Nigel Stephens  <nigel.stephens@arm.com>
    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
    Richard Earnshaw  <rearnsha@arm.com>
    Sofiane Naci  <sofiane.naci@arm.com>
    Stephen Thomas  <stephen.thomas@arm.com>
    Tejas Belagod  <tejas.belagod@arm.com>
    Yufeng Zhang  <yufeng.zhang@arm.com>

* gcc.target/aarch64/aapcs/aapcs64.exp: New file.
* gcc.target/aarch64/aapcs/abitest-2.h: New file.
* gcc.target/aarch64/aapcs/abitest-common.h: New file.
* gcc.target/aarch64/aapcs/abitest.S: New file.
* gcc.target/aarch64/aapcs/abitest.h: New file.
* gcc.target/aarch64/aapcs/func-ret-1.c: New file.
* gcc.target/aarch64/aapcs/func-ret-2.c: New file.
* gcc.target/aarch64/aapcs/func-ret-3.c: New file.
* gcc.target/aarch64/aapcs/func-ret-3.x: New file.
* gcc.target/aarch64/aapcs/func-ret-4.c: New file.
* gcc.target/aarch64/aapcs/func-ret-4.x: New file.
* gcc.target/aarch64/aapcs/ice_1.c: New file.
* gcc.target/aarch64/aapcs/ice_2.c: New file.
* gcc.target/aarch64/aapcs/ice_3.c: New file.
* gcc.target/aarch64/aapcs/ice_4.c: New file.
* gcc.target/aarch64/aapcs/ice_5.c: New file.
* gcc.target/aarch64/aapcs/macro-def.h: New file.
* gcc.target/aarch64/aapcs/test_1.c: New file.
* gcc.target/aarch64/aapcs/test_10.c: New file.
* gcc.target/aarch64/aapcs/test_11.c: New file.
* gcc.target/aarch64/aapcs/test_12.c: New file.
* gcc.target/aarch64/aapcs/test_13.c: New file.
* gcc.target/aarch64/aapcs/test_14.c: New file.
* gcc.target/aarch64/aapcs/test_15.c: New file.
* gcc.target/aarch64/aapcs/test_16.c: New file.
* gcc.target/aarch64/aapcs/test_17.c: New file.
* gcc.target/aarch64/aapcs/test_18.c: New file.
* gcc.target/aarch64/aapcs/test_19.c: New file.
* gcc.target/aarch64/aapcs/test_2.c: New file.
* gcc.target/aarch64/aapcs/test_20.c: New file.
* gcc.target/aarch64/aapcs/test_21.c: New file.
* gcc.target/aarch64/aapcs/test_22.c: New file.
* gcc.target/aarch64/aapcs/test_23.c: New file.
* gcc.target/aarch64/aapcs/test_24.c: New file.
* gcc.target/aarch64/aapcs/test_25.c: New file.
* gcc.target/aarch64/aapcs/test_26.c: New file.
* gcc.target/aarch64/aapcs/test_3.c: New file.
* gcc.target/aarch64/aapcs/test_4.c: New file.
* gcc.target/aarch64/aapcs/test_5.c: New file.
* gcc.target/aarch64/aapcs/test_6.c: New file.
* gcc.target/aarch64/aapcs/test_7.c: New file.
* gcc.target/aarch64/aapcs/test_8.c: New file.
* gcc.target/aarch64/aapcs/test_9.c: New file.
* gcc.target/aarch64/aapcs/test_align-1.c: New file.
* gcc.target/aarch64/aapcs/test_align-2.c: New file.
* gcc.target/aarch64/aapcs/test_align-3.c: New file.
* gcc.target/aarch64/aapcs/test_align-4.c: New file.
* gcc.target/aarch64/aapcs/test_complex.c: New file.
* gcc.target/aarch64/aapcs/test_int128.c: New file.
* gcc.target/aarch64/aapcs/test_quad_double.c: New file.
* gcc.target/aarch64/aapcs/type-def.h: New file.
* gcc.target/aarch64/aapcs/va_arg-1.c: New file.
* gcc.target/aarch64/aapcs/va_arg-10.c: New file.
* gcc.target/aarch64/aapcs/va_arg-11.c: New file.
* gcc.target/aarch64/aapcs/va_arg-12.c: New file.
* gcc.target/aarch64/aapcs/va_arg-2.c: New file.
* gcc.target/aarch64/aapcs/va_arg-3.c: New file.
* gcc.target/aarch64/aapcs/va_arg-4.c: New file.
* gcc.target/aarch64/aapcs/va_arg-5.c: New file.
* gcc.target/aarch64/aapcs/va_arg-6.c: New file.
* gcc.target/aarch64/aapcs/va_arg-7.c: New file.
* gcc.target/aarch64/aapcs/va_arg-8.c: New file.
* gcc.target/aarch64/aapcs/va_arg-9.c: New file.
* gcc.target/aarch64/aapcs/validate_memory.h: New file.
* gcc.target/aarch64/aarch64.exp: New file.
* gcc.target/aarch64/adc-1.c: New file.
* gcc.target/aarch64/adc-2.c: New file.
* gcc.target/aarch64/asm-1.c: New file.
* gcc.target/aarch64/clrsb.c: New file.
* gcc.target/aarch64/clz.c: New file.
* gcc.target/aarch64/ctz.c: New file.
* gcc.target/aarch64/csinc-1.c: New file.
* gcc.target/aarch64/csinv-1.c: New file.
* gcc.target/aarch64/csneg-1.c: New file.
* gcc.target/aarch64/extend.c: New file.
* gcc.target/aarch64/fcvt.x: New file.
* gcc.target/aarch64/fcvt_double_int.c: New file.
* gcc.target/aarch64/fcvt_double_long.c: New file.
* gcc.target/aarch64/fcvt_double_uint.c: New file.
* gcc.target/aarch64/fcvt_double_ulong.c: New file.
* gcc.target/aarch64/fcvt_float_int.c: New file.
* gcc.target/aarch64/fcvt_float_long.c: New file.
* gcc.target/aarch64/fcvt_float_uint.c: New file.
* gcc.target/aarch64/fcvt_float_ulong.c: New file.
* gcc.target/aarch64/ffs.c: New file.
* gcc.target/aarch64/fmadd.c: New file.
* gcc.target/aarch64/fnmadd-fastmath.c: New file.
* gcc.target/aarch64/frint.x: New file.
* gcc.target/aarch64/frint_double.c: New file.
* gcc.target/aarch64/frint_float.c: New file.
* gcc.target/aarch64/index.c: New file.
* gcc.target/aarch64/mneg-1.c: New file.
* gcc.target/aarch64/mneg-2.c: New file.
* gcc.target/aarch64/mneg-3.c: New file.
* gcc.target/aarch64/mnegl-1.c: New file.
* gcc.target/aarch64/mnegl-2.c: New file.
* gcc.target/aarch64/narrow_high-intrinsics.c: New file.
* gcc.target/aarch64/pic-constantpool1.c: New file.
* gcc.target/aarch64/pic-symrefplus.c: New file.
* gcc.target/aarch64/predefine_large.c: New file.
* gcc.target/aarch64/predefine_small.c: New file.
* gcc.target/aarch64/predefine_tiny.c: New file.
* gcc.target/aarch64/reload-valid-spoff.c: New file.
* gcc.target/aarch64/scalar_intrinsics.c: New file.
* gcc.target/aarch64/table-intrinsics.c: New file.
* gcc.target/aarch64/tst-1.c: New file.
* gcc.target/aarch64/vect-abs-compile.c: New file.
* gcc.target/aarch64/vect-abs.c: New file.
* gcc.target/aarch64/vect-abs.x: New file.
* gcc.target/aarch64/vect-compile.c: New file.
* gcc.target/aarch64/vect-faddv-compile.c: New file.
* gcc.target/aarch64/vect-faddv.c: New file.
* gcc.target/aarch64/vect-faddv.x: New file.
* gcc.target/aarch64/vect-fmax-fmin-compile.c: New file.
* gcc.target/aarch64/vect-fmax-fmin.c: New file.
* gcc.target/aarch64/vect-fmax-fmin.x: New file.
* gcc.target/aarch64/vect-fmaxv-fminv-compile.c: New file.
* gcc.target/aarch64/vect-fmaxv-fminv.x: New file.
* gcc.target/aarch64/vect-fp-compile.c: New file.
* gcc.target/aarch64/vect-fp.c: New file.
* gcc.target/aarch64/vect-fp.x: New file.
* gcc.target/aarch64/vect-mull-compile.c: New file.
* gcc.target/aarch64/vect-mull.c: New file.
* gcc.target/aarch64/vect-mull.x: New file.
* gcc.target/aarch64/vect.c: New file.
* gcc.target/aarch64/vect.x: New file.
* gcc.target/aarch64/vector_intrinsics.c: New file.
* gcc.target/aarch64/vfp-1.c: New file.
* gcc.target/aarch64/volatile-bitfields-1.c: New file.
* gcc.target/aarch64/volatile-bitfields-2.c: New file.
* gcc.target/aarch64/volatile-bitfields-3.c: New file.
* g++.dg/abi/aarch64_guard1.C: New file.

Co-Authored-By: Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
Co-Authored-By: Jim MacArthur <jim.macarthur@arm.com>
Co-Authored-By: Marcus Shawcroft <marcus.shawcroft@arm.com>
Co-Authored-By: Nigel Stephens <nigel.stephens@arm.com>
Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
Co-Authored-By: Sofiane Naci <sofiane.naci@arm.com>
Co-Authored-By: Stephen Thomas <stephen.thomas@arm.com>
Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com>
Co-Authored-By: Yufeng Zhang <yufeng.zhang@arm.com>
From-SVN: r192725

12 years agoAArch64 [2/10]
Ian Bolton [Tue, 23 Oct 2012 17:06:03 +0000 (17:06 +0000)]
AArch64 [2/10]

2012-10-23  Ian Bolton  <ian.bolton@arm.com>
    James Greenhalgh  <james.greenhalgh@arm.com>
    Jim MacArthur  <jim.macarthur@arm.com>
    Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
    Marcus Shawcroft  <marcus.shawcroft@arm.com>
    Nigel Stephens  <nigel.stephens@arm.com>
    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
    Richard Earnshaw  <rearnsha@arm.com>
    Sofiane Naci  <sofiane.naci@arm.com>
    Stephen Thomas  <stephen,thomas@arm.com>
    Tejas Belagod  <tejas.belagod@arm.com>
    Yufeng Zhang  <yufeng.zhang@arm.com>

* doc/invoke.texi (AArch64 Options): New.
* doc/md.texi (Machine Constraints): Add AArch64.

Co-Authored-By: Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
Co-Authored-By: James Greenhalgh <james.greenhalgh@arm.com>
Co-Authored-By: Jim MacArthur <jim.macarthur@arm.com>
Co-Authored-By: Marcus Shawcroft <marcus.shawcroft@arm.com>
Co-Authored-By: Nigel Stephens <nigel.stephens@arm.com>
Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
Co-Authored-By: Sofiane Naci <sofiane.naci@arm.com>
Co-Authored-By: Stephen Thomas <stephen.thomas@arm.com>
Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com>
Co-Authored-By: Yufeng Zhang <yufeng.zhang@arm.com>
From-SVN: r192724

12 years agoAArch64 [3/10]
Ian Bolton [Tue, 23 Oct 2012 17:02:30 +0000 (17:02 +0000)]
AArch64 [3/10]

2012-10-23  Ian Bolton  <ian.bolton@arm.com>
    James Greenhalgh  <james.greenhalgh@arm.com>
    Jim MacArthur  <jim.macarthur@arm.com>
    Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
    Marcus Shawcroft  <marcus.shawcroft@arm.com>
    Nigel Stephens  <nigel.stephens@arm.com>
    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
    Richard Earnshaw  <rearnsha@arm.com>
    Sofiane Naci  <sofiane.naci@arm.com>
    Stephen Thomas  <stephen.thomas@arm.com>
    Tejas Belagod  <tejas.belagod@arm.com>
    Yufeng Zhang  <yufeng.zhang@arm.com>

* common/config/aarch64/aarch64-common.c: New file.
* config/aarch64/aarch64-arches.def: New file.
* config/aarch64/aarch64-builtins.c: New file.
* config/aarch64/aarch64-cores.def: New file.
* config/aarch64/aarch64-elf-raw.h: New file.
* config/aarch64/aarch64-elf.h: New file.
* config/aarch64/aarch64-generic.md: New file.
* config/aarch64/aarch64-linux.h: New file.
* config/aarch64/aarch64-modes.def: New file.
* config/aarch64/aarch64-option-extensions.def: New file.
* config/aarch64/aarch64-opts.h: New file.
* config/aarch64/aarch64-protos.h: New file.
* config/aarch64/aarch64-simd.md: New file.
* config/aarch64/aarch64-tune.md: New file.
* config/aarch64/aarch64.c: New file.
* config/aarch64/aarch64.h: New file.
* config/aarch64/aarch64.md: New file.
* config/aarch64/aarch64.opt: New file.
* config/aarch64/arm_neon.h: New file.
* config/aarch64/constraints.md: New file.
* config/aarch64/gentune.sh: New file.
* config/aarch64/iterators.md: New file.
* config/aarch64/large.md: New file.
* config/aarch64/predicates.md: New file.
* config/aarch64/small.md: New file.
* config/aarch64/sync.md: New file.
* config/aarch64/t-aarch64-linux: New file.
* config/aarch64/t-aarch64: New file.

Co-Authored-By: Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
Co-Authored-By: James Greenhalgh <james.greenhalgh@arm.com>
Co-Authored-By: Jim MacArthur <jim.macarthur@arm.com>
Co-Authored-By: Marcus Shawcroft <marcus.shawcroft@arm.com>
Co-Authored-By: Nigel Stephens <nigel.stephens@arm.com>
Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
Co-Authored-By: Sofiane Naci <sofiane.naci@arm.com>
Co-Authored-By: Stephen Thomas <stephen.thomas@arm.com>
Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com>
Co-Authored-By: Yufeng Zhang <yufeng.zhang@arm.com>
From-SVN: r192723

12 years agore PR c++/54988 (fpmath=sse target pragma causes inlining failure because of target...
Jakub Jelinek [Tue, 23 Oct 2012 16:55:56 +0000 (18:55 +0200)]
re PR c++/54988 (fpmath=sse target pragma causes inlining failure because of target specific option mismatch)

PR c++/54988
* decl2.c (cplus_decl_attributes): Don't return early
if attributes is NULL.

* c-c++-common/pr54988.c: New test.

From-SVN: r192722

12 years agotree-ssa-operands.h (struct def_optype_d, [...]): Remove.
Michael Matz [Tue, 23 Oct 2012 16:29:03 +0000 (16:29 +0000)]
tree-ssa-operands.h (struct def_optype_d, [...]): Remove.

* tree-ssa-operands.h (struct def_optype_d, def_optype_p): Remove.
(ssa_operands.free_defs): Remove.
(DEF_OP_PTR, DEF_OP): Remove.
(struct ssa_operand_iterator_d): Remove 'defs', add 'flags'
members, rename 'phi_stmt' to 'stmt', 'phi_i' to 'i' and 'num_phi'
to 'numops'.
* gimple.h (gimple_statement_with_ops.def_ops): Remove.
(gimple_def_ops, gimple_set_def_ops): Remove.
(gimple_vdef_op): Don't take const gimple, adjust.
(gimple_asm_input_op, gimple_asm_input_op_ptr,
gimple_asm_set_input_op, gimple_asm_output_op,
gimple_asm_output_op_ptr, gimple_asm_set_output_op): Adjust asserts,
and rewrite to move def operands to front.
(gimple_asm_clobber_op, gimple_asm_set_clobber_op,
gimple_asm_label_op, gimple_asm_set_label_op): Correct asserts.
* tree-ssa-operands.c (build_defs): Remove.
(init_ssa_operands): Don't initialize it.
(fini_ssa_operands): Don't free it.
(cleanup_build_arrays): Don't truncate it.
(finalize_ssa_stmt_operands): Don't assert on it.
(alloc_def, add_def_op, append_def): Remove.
(finalize_ssa_defs): Remove building of def_ops list.
(finalize_ssa_uses): Don't mark for SSA renaming here, ...
(add_stmt_operand): ... but here, don't call append_def.
(get_indirect_ref_operands): Remove recurse_on_base argument.
(get_expr_operands): Adjust call to get_indirect_ref_operands.
(verify_ssa_operands): Don't check def operands.
(free_stmt_operands): Don't free def operands.
* gimple.c (gimple_copy): Don't clear def operands.
* tree-flow-inline.h (op_iter_next_use): Adjust to explicitely
handle def operand.
(op_iter_next_tree, op_iter_next_def): Ditto.
(clear_and_done_ssa_iter): Clear new fields.
(op_iter_init): Adjust to setup new iterator structure.
(op_iter_init_phiuse): Adjust.

From-SVN: r192721

12 years agoarm.c (offset_ok_for_ldrd_strd): Return false for Thumb1.
Greta Yorsh [Tue, 23 Oct 2012 16:23:49 +0000 (17:23 +0100)]
arm.c (offset_ok_for_ldrd_strd): Return false for Thumb1.

gcc/

2012-10-23  Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/arm.c (offset_ok_for_ldrd_strd): Return false for
Thumb1.

From-SVN: r192720

12 years agodbxout.c (dbxout_symbol_location): Pass new argument to alter_subreg.
Vladimir Makarov [Tue, 23 Oct 2012 15:51:41 +0000 (15:51 +0000)]
dbxout.c (dbxout_symbol_location): Pass new argument to alter_subreg.

2012-10-23  Vladimir Makarov  <vmakarov@redhat.com>

* dbxout.c (dbxout_symbol_location): Pass new argument to
alter_subreg.
* dwarf2out.c: Include ira.h and lra.h.
(based_loc_descr, compute_frame_pointer_to_fb_displacement): Use
lra_eliminate_regs for LRA instead of eliminate_regs.
* expr.c (emit_move_insn_1): Pass an additional argument to
emit_move_via_integer.  Use emit_move_via_integer for LRA only if
the insn is recognized.
* emit-rtl.c (gen_rtx_REG): Add lra_in_progress.
(validate_subreg): Don't check offset for LRA and floating point
modes.
* final.c (final_scan_insn, cleanup_subreg_operands): Pass new
argument to alter_subreg.
(walk_alter_subreg, output_operand): Ditto.
(alter_subreg): Add new argument.
* gcse.c (calculate_bb_reg_pressure): Add parameter to
ira_setup_eliminable_regset call.
* ira.c: Include lra.h.
(ira_init_once, ira_init, ira_finish_once): Call lra_start_once,
lra_init, lra_finish_once in anyway.
(ira_setup_eliminable_regset): Add parameter.  Remove need_fp.
Call lra_init_elimination and mark HARD_FRAME_POINTER_REGNUM as
living forever if frame_pointer_needed.
(setup_reg_class_relations): Set up ira_reg_class_subset.
(ira_reg_equiv_invariant_p, ira_reg_equiv_const): Remove.
(find_reg_equiv_invariant_const): Ditto.
(setup_reg_renumber): Use ira_equiv_no_lvalue_p instead of
ira_reg_equiv_invariant_p.  Skip caps for LRA.
(setup_reg_equiv_init, ira_update_equiv_info_by_shuffle_insn): New
functions.
(ira_reg_equiv_len, ira_reg_equiv): New externals.
(ira_reg_equiv): New.
(ira_expand_reg_equiv, init_reg_equiv, finish_reg_equiv): New
functions.
(no_equiv, update_equiv_regs): Use ira_reg_equiv instead of
reg_equiv_init.
(setup_reg_equiv): New function.
(ira_use_lra_p): New global.
(ira): Set up lra_simple_p and ira_conflicts_p.  Set up and
restore flag_caller_saves and flag_ira_region.  Move
initialization of ira_obstack and ira_bitmap_obstack upper.  Call
init_reg_equiv, setup_reg_equiv, and setup_reg_equiv_init instead
of initialization of ira_reg_equiv_len, ira_reg_equiv_invariant_p,
and ira_reg_equiv_const.  Call ira_setup_eliminable_regset with a
new argument.  Don't flatten IRA IRA for LRA.  Don't reassign
conflict allocnos for LRA. Call finish_reg_equiv.
        (do_reload): Prepare code for LRA call.  Call LRA.
* ira.h (ira_use_lra_p): New external.
(struct target_ira): Add members x_ira_class_subset_p
x_ira_reg_class_subset, and x_ira_reg_classes_intersect_p.
(ira_class_subset_p, ira_reg_class_subset): New macros.
(ira_reg_classes_intersect_p): New macro.
(struct ira_reg_equiv): New.
(ira_setup_eliminable_regset): Add an argument.
(ira_expand_reg_equiv, ira_update_equiv_info_by_shuffle_insn): New
prototypes.
* ira-color.c (color_pass, move_spill_restore, coalesce_allocnos):
Use ira_equiv_no_lvalue_p.
(coalesce_spill_slots, ira_sort_regnos_for_alter_reg): Ditto.
* ira-emit.c (ira_create_new_reg): Call ira_expand_reg_equiv.
(generate_edge_moves, change_loop) Use ira_equiv_no_lvalue_p.
(emit_move_list): Simplify code.  Call
ira_update_equiv_info_by_shuffle_insn.  Use ira_reg_equiv instead
of ira_reg_equiv_invariant_p and ira_reg_equiv_const.  Change
assert.
* ira-int.h (struct target_ira_int): Remove x_ira_class_subset_p
and x_ira_reg_classes_intersect_p.
(ira_class_subset_p, ira_reg_classes_intersect_p): Remove.
(ira_reg_equiv_len, ira_reg_equiv_invariant_p): Ditto.
(ira_reg_equiv_const): Ditto.
(ira_equiv_no_lvalue_p): New function.
* jump.c (true_regnum): Always use hard_regno for subreg_get_info
when lra is in progress.
* haifa-sched.c (sched_init): Pass new argument to
ira_setup_eliminable_regset.
* loop-invariant.c (calculate_loop_reg_pressure): Pass new
argument to ira_setup_eliminable_regset.
* lra.h: New.
* lra-int.h: Ditto.
* lra.c: Ditto.
* lra-assigns.c: Ditto.
* lra-constraints.c: Ditto.
* lra-coalesce.c: Ditto.
* lra-eliminations.c: Ditto.
* lra-lives.c: Ditto.
* lra-spills.c: Ditto.
* Makefile.in (LRA_INT_H): New.
(OBJS): Add lra.o, lra-assigns.o, lra-coalesce.o,
lra-constraints.o, lra-eliminations.o, lra-lives.o, and
lra-spills.o.
(dwarf2out.o): Add dependence on ira.h and lra.h.
(ira.o): Add dependence on lra.h.
(lra.o, lra-assigns.o, lra-coalesce.o, lra-constraints.o): New
entries.
(lra-eliminations.o, lra-lives.o, lra-spills.o): Ditto.
* output.h (alter_subreg): Add new argument.
* rtlanal.c (simplify_subreg_regno): Permit mode changes for LRA.
Permit ARG_POINTER_REGNUM and STACK_POINTER_REGNUM for LRA.
* recog.c (general_operand, register_operand): Accept paradoxical
FLOAT_MODE subregs for LRA.
(scratch_operand): Accept pseudos for LRA.
* rtl.h (lra_in_progress): New external.
(debug_bb_n_slim, debug_bb_slim, print_value_slim): New
prototypes.
(debug_rtl_slim, debug_insn_slim): Ditto.
* sdbout.c (sdbout_symbol): Pass new argument to alter_subreg.
* sched-vis.c (print_value_slim): New.
* target.def (lra_p): New hook.
(register_priority): Ditto.
(different_addr_displacement_p): Ditto.
(spill_class): Ditto.
* target-globals.h (this_target_lra_int): New external.
(target_globals): New member lra_int.
(restore_target_globals): Restore this_target_lra_int.
* target-globals.c: Include lra-int.h.
(default_target_globals): Add &default_target_lra_int.
* targhooks.c (default_lra_p): New function.
(default_register_priority): Ditto.
(default_different_addr_displacement_p): Ditto.
* targhooks.h (default_lra_p): Declare.
(default_register_priority): Ditto.
(default_different_addr_displacement_p): Ditto.
* timevar.def (TV_LRA, TV_LRA_ELIMINATE, TV_LRA_INHERITANCE): New.
(TV_LRA_CREATE_LIVE_RANGES, TV_LRA_ASSIGN, TV_LRA_COALESCE): New.
* config/arm/arm.c (load_multiple_sequence): Pass new argument to\eOB
alter_subreg.
(store_multiple_sequence): Ditto.
* config/i386/i386.h (enum ix86_tune_indices): Add
X86_TUNE_GENERAL_REGS_SSE_SPILL.
(TARGET_GENERAL_REGS_SSE_SPILL): New macro.
* config/i386/i386.c (initial_ix86_tune_features): Set up
X86_TUNE_GENERAL_REGS_SSE_SPILL for m_COREI7 and m_CORE2I7.
(ix86_lra_p, ix86_register_priority): New functions.
(ix86_secondary_reload): Add NON_Q_REGS, SIREG, DIREG.
(inline_secondary_memory_needed): Change assert.
(ix86_spill_class): New function.
(TARGET_LRA_P, TARGET_REGISTER_BANK, TARGET_SPILL_CLASS): New
macros.
* config/m68k/m68k.c (emit_move_sequence): Pass new argument to
alter_subreg.
* config/m32r/m32r.c (gen_split_move_double): Ditto.
* config/pa/pa.c (pa_emit_move_sequence): Ditto.
* config/sh/sh.md: Ditto.
* config/v850/v850.c (v850_reorg): Ditto.
* config/xtensa/xtensa.c (fixup_subreg_mem): Ditto.
* doc/md.texi: Add new interpretation of hint * for LRA.
* doc/passes.texi: Describe LRA pass.
* doc/tm.texi.in: Add TARGET_LRA_P, TARGET_REGISTER_PRIORITY,
TARGET_DIFFERENT_ADDR_DISPLACEMENT_P, and TARGET_SPILL_CLASS.
* doc/tm.texi: Update.

From-SVN: r192719

12 years agopeel-1.c: New testcase.
Jan Hubicka [Tue, 23 Oct 2012 15:15:58 +0000 (15:15 +0000)]
peel-1.c: New testcase.

* gcc.dg/tree-prof/peel-1.c: New testcase.
* loop-unroll.c (decide_peel_simple): Simple peeling makes sense even
with simple loops; bound number of branches only when FDO is not
available.
(decide_unroll_stupid): Mention that num_loop_branches heuristics
is off.

From-SVN: r192718

12 years agore PR target/54660 (iq2000_function_arg_advance: format ‘%p expects argument of type...
Nick Clifton [Tue, 23 Oct 2012 15:02:47 +0000 (15:02 +0000)]
re PR target/54660 (iq2000_function_arg_advance: format ‘%p expects argument of type ‘void*’, but argument 3 has type ‘const_tree)

PR target/54660
* config/iq2000/iq2000.c (iq2000_function_arg_advance): Suppress
compile time warning about pointer printing.

From-SVN: r192717

12 years agore PR testsuite/52945 (FAIL: gcc.dg/lto/pr52634 c_lto_pr52634_1.o assemble, -O* ...
Dominique d'Humieres [Tue, 23 Oct 2012 14:59:02 +0000 (16:59 +0200)]
re PR testsuite/52945 (FAIL: gcc.dg/lto/pr52634 c_lto_pr52634_1.o assemble, -O* -flto *)

PR gcc/52945
* testsuite/gcc.dg/lto/pr52634_0.c: skip the test on Darwin.

From-SVN: r192716

12 years agogcc:
Joseph Myers [Tue, 23 Oct 2012 14:55:55 +0000 (15:55 +0100)]
gcc:

* config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
*-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu): Use
glibc-c.o in c_target_objs and cxx_target_objs.  Use t-glibc in
tmake_file.  Set target_has_targetcm.
(tilegx-*-linux*, tilepro-*-linux*): Append to c_target_objs and
cxx_target_objs rather than overriding previous value.
* config/glibc-c.c, config/t-glibc: New.
* doc/tm.texi.in (TARGET_C_PREINCLUDE): New @hook.
* doc/tm.texi: Regenerate.
* hooks.c (hook_constcharptr_void_null): New.
* hooks.h (hook_constcharptr_void_null): Declare.

gcc/c-family:
* c-common.h (pch_cpp_save_state): Declare.
* c-target.def (c_preinclude): New hook.
* c-opts.c (done_preinclude): New.
(push_command_line_include): Handle default preincluded header.
(cb_file_change): Call pch_cpp_save_state when calling
push_command_line_include.
* c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
(pch_cpp_save_state): New.
(pch_init): Call pch_cpp_save_state conditionally, instead of
calling cpp_save_state.

gcc/testsuite:
* gcc.dg/c99-predef-1.c: New test.
* gcc.dg/cpp/cmdlne-dU-1.c, gcc.dg/cpp/cmdlne-dU-2.c,
gcc.dg/cpp/cmdlne-dU-3.c, gcc.dg/cpp/cmdlne-dU-4.c,
gcc.dg/cpp/cmdlne-dU-5.c, gcc.dg/cpp/cmdlne-dU-6.c,
gcc.dg/cpp/cmdlne-dU-7.c, gcc.dg/cpp/cmdlne-dU-8.c,
gcc.dg/cpp/cmdlne-dU-9.c, gcc.dg/cpp/cmdlne-dU-10.c,
gcc.dg/cpp/cmdlne-dU-11.c, gcc.dg/cpp/cmdlne-dU-12.c,
gcc.dg/cpp/cmdlne-dU-13.c, gcc.dg/cpp/cmdlne-dU-14.c,
gcc.dg/cpp/cmdlne-dU-15.c, gcc.dg/cpp/cmdlne-dU-16.c,
gcc.dg/cpp/cmdlne-dU-17.c, gcc.dg/cpp/cmdlne-dU-18.c,
gcc.dg/cpp/cmdlne-dU-19.c, gcc.dg/cpp/cmdlne-dU-20.c,
gcc.dg/cpp/cmdlne-dU-21.c, gcc.dg/cpp/cmdlne-dU-22.c,
gcc.dg/cpp/mi5.c, gcc.dg/cpp/multiline.c: Add -nostdinc to
dg-options.

libcpp:
* files.c (struct _cpp_file): Add implicit_preinclude.
(pch_open_file): Allow a previously opened implicitly included
file.
(_cpp_find_file): Add implicit_preinclude argument.  Free file and
do not call open_file_failed if implicit_preinclude.  Store
implicit_preinclude value.
(_cpp_stack_include, _cpp_fake_include, _cpp_compare_file_date):
Update calls to _cpp_find_file.
(_cpp_stack_include): Handle IT_DEFAULT.
(cpp_push_default_include): New.
* include/cpplib.h (cpp_push_default_include): Declare.
* init.c (cpp_read_main_file): Update call to _cpp_find_file.
* internal.h (enum include_type): Add IT_DEFAULT.
(_cpp_find_file): Update prototype.

From-SVN: r192715

12 years agolinux-common.h (STACK_CHECK_STATIC_BUILTIN): Define.
Eric Botcazou [Tue, 23 Oct 2012 14:40:07 +0000 (14:40 +0000)]
linux-common.h (STACK_CHECK_STATIC_BUILTIN): Define.

* config/mips/linux-common.h (STACK_CHECK_STATIC_BUILTIN): Define.
(STACK_CHECK_PROTECT): Likewise.
* config/mips/mips.h (MIPS_PROLOGUE_TEMP2_REGNUM): Likewise.
(MIPS_PROLOGUE_TEMP2): Likewise.
* config/mips/mips-protos.h (mips_output_probe_stack_range): Declare.
* config/mips/mips.c: Include common/common-target.h.
(mips_emit_probe_stack_range): New function.
(mips_output_probe_stack_range): Likewise.
(mips_expand_prologue): Invoke mips_emit_probe_stack_range if static
builtin stack checking is enabled.
* config/mips/mips.md (UNSPEC_PROBE_STACK_RANGE): New constant.
(probe_stack_range_<P:mode>): New insn.
ada/
* system-linux-mipsel.ads (Stack_Check_Probes): Set to True.
* system-linux-mips.ads (Stack_Check_Probes): Likewise.
* system-linux-mips64el.ads (Stack_Check_Probes): Likewise.

From-SVN: r192713

12 years agotree-ssa-forwprop.c (forward_propagate_into_cond): Handle vectors.
Marc Glisse [Tue, 23 Oct 2012 12:51:22 +0000 (14:51 +0200)]
tree-ssa-forwprop.c (forward_propagate_into_cond): Handle vectors.

2012-10-23  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* tree-ssa-forwprop.c (forward_propagate_into_cond): Handle vectors.
* fold-const.c (fold_relational_const): Handle VECTOR_CST.
* doc/generic.texi (VEC_COND_EXPR): Document current policy.

gcc/testsuite/
* gcc.dg/tree-ssa/foldconst-6.c: New testcase.

From-SVN: r192711

12 years agore PR tree-optimization/54937 (Invalid loop bound estimate)
Jan Hubicka [Tue, 23 Oct 2012 10:00:19 +0000 (12:00 +0200)]
re PR tree-optimization/54937 (Invalid loop bound estimate)

PR middle-end/54937
* tree-ssa-loop-niter.c (record_estimate): Do not try to lower
the bound of non-is_exit statements.
(maybe_lower_iteration_bound): Do it here.
(estimate_numbers_of_iterations_loop): Call it.
* gcc.c-torture/execute/pr54937.c: New testcase.
* gcc.dg/tree-ssa/cunroll-2.c: Update.

From-SVN: r192710

12 years agore PR tree-optimization/54967 (ICE in check_loop_closed_ssa_use, at tree-ssa-loop...
Jan Hubicka [Tue, 23 Oct 2012 09:57:36 +0000 (11:57 +0200)]
re PR tree-optimization/54967 (ICE in check_loop_closed_ssa_use, at tree-ssa-loop-manip.c:55)

PR middle-end/54967
* cfgloopmanip.c (fix_bb_placements): Add loop_closed_ssa_invalidated;
track basic blocks that moved out of their loops.
(unloop): Likewise.
(remove_path): Update.
(fix_loop_placements): Update.
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Add
loop_closed_ssa_invalidated parameter; pass it around.
(canonicalize_loop_induction_variables): Update loop closed
SSA form if needed.
(tree_unroll_loops_completely): Likewise; do irred update out of
the outer loop; verify that SSA form is closed.
* cfgloop.h (unrloop): Update.

* gfortran.dg/pr54967.f90: New testcase.

From-SVN: r192709

12 years agore PR go/54918 (libgo.so.0 is not runtime compatible between gcc-4.6.2 and gcc-4...
Ian Lance Taylor [Tue, 23 Oct 2012 05:01:24 +0000 (05:01 +0000)]
re PR go/54918 (libgo.so.0 is not runtime compatible between gcc-4.6.2 and gcc-4.7.x)

PR go/54918
libgo: Set library version number.

From-SVN: r192706

12 years agolibgo: Update to current sources.
Ian Lance Taylor [Tue, 23 Oct 2012 04:31:11 +0000 (04:31 +0000)]
libgo: Update to current sources.

From-SVN: r192704

12 years agore PR target/55019 (Incorrectly use live argument register to save high register...
Terry Guo [Tue, 23 Oct 2012 03:49:17 +0000 (03:49 +0000)]
re PR target/55019 (Incorrectly use live argument register to save high register in thumb1 prologue)

gcc/
PR target/55019
* config/arm/arm.c (thumb1_expand_prologue): Don't push high regs with
live argument regs.

gcc/testsuite/
PR target/55019
* gcc.dg/pr55019.c: New.

From-SVN: r192703

12 years agore PR middle-end/55030 (gcc.c-torture/execute/builtins/memcpy-chk.c execution, ...
Hans-Peter Nilsson [Tue, 23 Oct 2012 01:05:25 +0000 (01:05 +0000)]
re PR middle-end/55030 (gcc.c-torture/execute/builtins/memcpy-chk.c execution,  -Os (et al))

PR middle-end/55030
Revert:
* stmt.c (expand_nl_goto_receiver): Remove almost-copy of
expand_builtin_setjmp_receiver.
(expand_label): Adjust, call expand_builtin_setjmp_receiver
with NULL for the label parameter.
* builtins.c (expand_builtin_setjmp_receiver): Don't clobber
the frame-pointer.  Adjust comments.
[HAVE_builtin_setjmp_receiver]: Emit builtin_setjmp_receiver
only if LABEL is non-NULL.

From-SVN: r192701

12 years agoDaily bump.
GCC Administrator [Tue, 23 Oct 2012 00:17:45 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r192700

12 years agore PR tree-optimization/55008 (Internal compiler error : verify_ssa failed)
Bill Schmidt [Mon, 22 Oct 2012 22:09:22 +0000 (22:09 +0000)]
re PR tree-optimization/55008 (Internal compiler error : verify_ssa failed)

gcc:

2012-10-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/55008
* gimple-ssa-strength-reduction.c (find_basis_for_candidate): Don't
allow a candidate to be a basis for itself under another interpretation.

gcc/testsuite:

2012-10-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/55008
* gcc.dg/tree-ssa/pr55008.c: New test.

From-SVN: r192696

12 years agounordered_set.h (unordered_set<>): Prefer aggregation to inheritance with _Hashtable.
François Dumont [Mon, 22 Oct 2012 19:53:38 +0000 (19:53 +0000)]
unordered_set.h (unordered_set<>): Prefer aggregation to inheritance with _Hashtable.

2012-10-22  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/unordered_set.h (unordered_set<>): Prefer
aggregation to inheritance with _Hashtable.
(unordered_multiset<>): Likewise.
* include/debug/unordered_set (operator==): Adapt.
* include/profile/unordered_set (operator==): Adapt.

From-SVN: r192695

12 years agoi386.c (memory_address_length): Added missing part from my previous commit.
Uros Bizjak [Mon, 22 Oct 2012 19:39:14 +0000 (21:39 +0200)]
i386.c (memory_address_length): Added missing part from my previous commit.

* config/i386/i386.c (memory_address_length):
Added missing part from my previous commit.

From-SVN: r192694

12 years agodumpfile.c (dump_phase_enabled_p): Renamed dump_enabled_p.
Sharad Singhai [Mon, 22 Oct 2012 18:50:19 +0000 (18:50 +0000)]
dumpfile.c (dump_phase_enabled_p): Renamed dump_enabled_p.

2012-10-22  Sharad Singhai  <singhai@google.com>

        * dumpfile.c (dump_phase_enabled_p): Renamed dump_enabled_p. Update
        all callers.
(dump_enabled_p): A new function to check if any of the dump files
is available.
(dump_kind_p): Remove check for current_function_decl. Add check for
dumpfile and alt_dump_file.
* dumpfile.h: Add declaration of dump_enabled_p.

From-SVN: r192692

12 years agore PR lto/55021 (The tests gfortran.dg/integer_exponentiation_5.F90 and masklr_1...
Richard Biener [Mon, 22 Oct 2012 14:10:06 +0000 (14:10 +0000)]
re PR lto/55021 (The tests gfortran.dg/integer_exponentiation_5.F90 and masklr_1.F90 are miscompiled with -flto after revision 192529)

2012-10-22  Richard Biener  <rguenther@suse.de>

PR lto/55021
* tree-streamer-in.c (unpack_ts_int_cst_value_fields): Remove
bogus truncations.

From-SVN: r192691

12 years agoi386.c (memory_address_length): Assert that non-null base or index RTXes are registers.
Uros Bizjak [Mon, 22 Oct 2012 13:59:33 +0000 (15:59 +0200)]
i386.c (memory_address_length): Assert that non-null base or index RTXes are registers.

* config/i386/i386.c (memory_address_length): Assert that non-null
base or index RTXes are registers.  Do not check for REG RTXes.
Determine addr32 prefix from original base and index RTXes.
Simplify code.

From-SVN: r192690

12 years agore PR tree-optimization/55011 (GCC in an infinite loop at -O2 in VRP)
Richard Biener [Mon, 22 Oct 2012 13:26:48 +0000 (13:26 +0000)]
re PR tree-optimization/55011 (GCC in an infinite loop at -O2 in VRP)

2012-10-22  Richard Biener  <rguenther@suse.de>

PR tree-optimization/55011
* tree-vrp.c (update_value_range): For invalid lattice transitions
drop to VARYING.

* gcc.dg/torture/pr55011.c: New testcase.

From-SVN: r192689

12 years agoarm.h (CANNOT_CHANGE_MODE_CLASS): Avoid subreg'ing VFP D registers in big-endian...
Julian Brown [Mon, 22 Oct 2012 11:32:37 +0000 (11:32 +0000)]
arm.h (CANNOT_CHANGE_MODE_CLASS): Avoid subreg'ing VFP D registers in big-endian mode.

* config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Avoid subreg'ing
VFP D registers in big-endian mode.

From-SVN: r192687

12 years agoinvoke.texi (AVR Options): Document __AVR_ARCH__.
Georg-Johann Lay [Mon, 22 Oct 2012 11:13:54 +0000 (11:13 +0000)]
invoke.texi (AVR Options): Document __AVR_ARCH__.

* doc/invoke.texi (AVR Options): Document __AVR_ARCH__.
Note __AVR_<device>__ is not defined for cores.
Don't point to --help=target.

From-SVN: r192685

12 years ago* gcc-interface/Makefile.in: Remove reference to non-existing file.
Eric Botcazou [Mon, 22 Oct 2012 10:05:45 +0000 (10:05 +0000)]
* gcc-interface/Makefile.in: Remove reference to non-existing file.

From-SVN: r192682

12 years agopr40457-1.c: Adjust expected output.
Greta Yorsh [Mon, 22 Oct 2012 09:58:32 +0000 (10:58 +0100)]
pr40457-1.c: Adjust expected output.

gcc/testsuite

2012-10-22  Greta Yorsh  <Greta.Yorsh@arm.com>

* gcc.target/arm/pr40457-1.c: Adjust expected output.
* gcc.target/arm/pr40457-2.c: Likewise.
* gcc.target/arm/pr40457-3.c: Likewise.

From-SVN: r192681

12 years agoarm.c (thumb2_emit_ldrd_pop): New function.
Sameera Deshpande [Mon, 22 Oct 2012 09:54:31 +0000 (15:24 +0530)]
arm.c (thumb2_emit_ldrd_pop): New function.

2012-10-22  Sameera Deshpande  <sameera.deshpande@arm.com>
    Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/arm.c (thumb2_emit_ldrd_pop): New function.
(arm_expand_epilogue): Use the new function.

Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
From-SVN: r192680

12 years agoarm.c (thumb2_emit_strd_push): New function.
Sameera Deshpande [Mon, 22 Oct 2012 09:50:47 +0000 (15:20 +0530)]
arm.c (thumb2_emit_strd_push): New function.

2012-10-22  Sameera Deshpande  <sameera.deshpande@arm.com>
    Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/arm.c (thumb2_emit_strd_push): New function.
       (arm_expand_prologue): Use the new function.

Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
From-SVN: r192679

12 years agoarm-protos.h (offset_ok_for_ldrd_strd): New declaration.
Sameera Deshpande [Mon, 22 Oct 2012 09:46:25 +0000 (15:16 +0530)]
arm-protos.h (offset_ok_for_ldrd_strd): New declaration.

2012-10-22  Sameera Deshpande  <sameera.deshpande@arm.com>
    Greta Yorsh  <Greta.Yorsh@arm.com>

        * config/arm/arm-protos.h (offset_ok_for_ldrd_strd): New
        declaration.
        (operands_ok_ldrd_strd): Likewise.
        * config/arm/arm.c (offset_ok_for_ldrd_strd): New function.
        (operands_ok_ldrd_strd): Likewise.
        * config/arm/arm.md (thumb2_ldrd, thumb2_ldrd_base): New patterns.
        (thumb2_ldrd_base_neg): Likewise.
        (thumb2_strd, thumb2_strd_base, thumb_strd_base_neg): Likewise.
        * predicates.md (ldrd_strd_offset_operand): New predicate.
        * config/arm/constraints.md (Do): New constraint.

Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
From-SVN: r192678

12 years agommix.md ("nonlocal_goto_receiver"): Refer to the frame-pointer as an operand.
Hans-Peter Nilsson [Mon, 22 Oct 2012 09:25:02 +0000 (09:25 +0000)]
mmix.md ("nonlocal_goto_receiver"): Refer to the frame-pointer as an operand.

* config/mmix/mmix.md ("nonlocal_goto_receiver"): Refer to the
frame-pointer as an operand.
("*nonlocal_goto_receiver_expanded"): Ditto.  Use
mmix_output_register_setting instead of naked output_asm_insn for
the offset from the frame-pointer to the saved rO.
* config/mmix/mmix.c (mmix_output_register_setting): Emit NEGU for
values -255..0.
* config/mmix/predicates.md ("frame_pointer_operand"): New.
* config/mmix/constraints.md ("Yf"): New.

From-SVN: r192677

12 years agostmt.c (expand_nl_goto_receiver): Remove almost-copy of expand_builtin_setjmp_receiver.
Hans-Peter Nilsson [Mon, 22 Oct 2012 09:22:11 +0000 (09:22 +0000)]
stmt.c (expand_nl_goto_receiver): Remove almost-copy of expand_builtin_setjmp_receiver.

* stmt.c (expand_nl_goto_receiver): Remove almost-copy of
expand_builtin_setjmp_receiver.
(expand_label): Adjust, call expand_builtin_setjmp_receiver
with NULL for the label parameter.
* builtins.c (expand_builtin_setjmp_receiver): Don't clobber
the frame-pointer.  Adjust comments.
[HAVE_builtin_setjmp_receiver]: Emit builtin_setjmp_receiver
only if LABEL is non-NULL.

From-SVN: r192676

12 years ago* gcc-interface/Makefile.in: Remove outdated comment.
Eric Botcazou [Mon, 22 Oct 2012 09:21:38 +0000 (09:21 +0000)]
* gcc-interface/Makefile.in: Remove outdated comment.

From-SVN: r192675

12 years agodecl.c (gnat_to_gnu_entity): Force BLKmode on the type if it is passed by reference.
Eric Botcazou [Mon, 22 Oct 2012 08:59:10 +0000 (08:59 +0000)]
decl.c (gnat_to_gnu_entity): Force BLKmode on the type if it is passed by reference.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Force
BLKmode on the type if it is passed by reference.
<E_Array_Subtype>: Likewise.
<E_Record_Type>: Guard the call to Is_By_Reference_Type predicate.
<E_Record_Subtype>: Likewise.

From-SVN: r192673

12 years agoutils.c (rest_of_record_type_compilation): Simplify and robustify pattern machine...
Eric Botcazou [Mon, 22 Oct 2012 08:50:00 +0000 (08:50 +0000)]
utils.c (rest_of_record_type_compilation): Simplify and robustify pattern machine code for masking operations.

* gcc-interface/utils.c (rest_of_record_type_compilation): Simplify and
robustify pattern machine code for masking operations.

From-SVN: r192672

12 years agodecl.c (gnat_to_gnu_entity): In type annotation mode, break circularities introduced...
Eric Botcazou [Mon, 22 Oct 2012 08:42:34 +0000 (08:42 +0000)]
decl.c (gnat_to_gnu_entity): In type annotation mode, break circularities introduced by AI05-0151.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: In
type annotation mode, break circularities introduced by AI05-0151.

From-SVN: r192671

12 years agotrans.c (Loop_Statement_to_gnu): Use gnat_type_for_size directly to obtain an unsigne...
Eric Botcazou [Mon, 22 Oct 2012 08:19:58 +0000 (08:19 +0000)]
trans.c (Loop_Statement_to_gnu): Use gnat_type_for_size directly to obtain an unsigned version of the base type.

* gcc-interface/trans.c (Loop_Statement_to_gnu): Use gnat_type_for_size
directly to obtain an unsigned version of the base type.

From-SVN: r192669

12 years agodecl.c (gnat_to_gnu_entity): Do not generate the special PARM_DECL for an Out paramet...
Eric Botcazou [Mon, 22 Oct 2012 08:04:48 +0000 (08:04 +0000)]
decl.c (gnat_to_gnu_entity): Do not generate the special PARM_DECL for an Out parameter in LTO mode.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: Do not
generate the special PARM_DECL for an Out parameter in LTO mode.

From-SVN: r192667

12 years agore PR bootstrap/54820 (ada: cannot find -lstdc++ since 4.8.0 20121002)
Eric Botcazou [Mon, 22 Oct 2012 07:27:21 +0000 (07:27 +0000)]
re PR bootstrap/54820 (ada: cannot find -lstdc++ since 4.8.0 20121002)

PR bootstrap/54820
* Makefile.tpl (STAGE1_FLAGS_TO_PASS): New variable.
(all-[+prefix+][+module+]): Pass stage1_args to sub-makes.
(all-stage[+id+]-[+prefix+][+module+]): Likewise, if prev is false.
(clean-stage[+id+]-[+prefix+][+module+]): Likewise, if prev is false.
(host_modules): Set stage1_args to STAGE1_FLAGS_TO_PASS.
* Makefile.in: Regenerate.
* configure.ac (have_static_libs): New variable and associated check.
(stage1-ldflags): Move to after stage1_libs and set to -static-libstdc++
-static-libgcc if stage1_libs is empty and have_static_libs is yes.
* configure: Regenerate.
ada/
* gcc-interface/Make-lang.in (GCC_LINK): Remove hardcoded options.

From-SVN: r192666

12 years agoDaily bump.
GCC Administrator [Mon, 22 Oct 2012 00:18:01 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192664

12 years agoconfigure.xml (--enable-clocale): Document the 'newlib' and 'darwin' options.
Yufeng Zhang [Sun, 21 Oct 2012 23:42:17 +0000 (23:42 +0000)]
configure.xml (--enable-clocale): Document the 'newlib' and 'darwin' options.

2012-10-22  Yufeng Zhang  <yufeng.zhang@arm.com>
    Jonathan Wakely  <jwakely.gcc@gmail.com>

* doc/xml/manual/configure.xml (--enable-clocale): Document the
'newlib' and 'darwin' options. Minor stylistic improvements.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r192661

12 years agoi386-protos.h (memory_address_length): Add new bool argument.
Uros Bizjak [Sun, 21 Oct 2012 22:12:46 +0000 (00:12 +0200)]
i386-protos.h (memory_address_length): Add new bool argument.

* config/i386/i386-protos.h (memory_address_length): Add new bool
argument.  Update all uses.
* config/i386/i386.c (memory_address_length): If not LEA insn, then
add length of addr32 prefix based on mode of base or index register.
(ix86_attr_length_address_default) <TYPE_LEA>: Do not handle SImode
addresses here.  Update call to memory_address_length.
(ix86_print_address_operand): Use SImode_address_operand predicate.
* config/i386/predicates.md (SImode_address_operand): New.
* config/i386/i386.md (lea<mode>): Use SImode_address_operand
to calculate "mode" attribute.  Use SImode_address_operand predicate
instead of open-coding accepted RTX codes.

From-SVN: r192660

12 years agoatomic1.ads: XFAIL on MIPS.
Eric Botcazou [Sun, 21 Oct 2012 20:29:17 +0000 (20:29 +0000)]
atomic1.ads: XFAIL on MIPS.

* gnat.dg/specs/atomic1.ads: XFAIL on MIPS.
* gnat.dg/specs/addr1.ads: Likewise.

From-SVN: r192658

12 years agomap.h (map::emplace_hint): Remove invalid parenthesis.
François Dumont [Sun, 21 Oct 2012 19:06:47 +0000 (19:06 +0000)]
map.h (map::emplace_hint): Remove invalid parenthesis.

2012-10-21  François Dumont  <fdumont@gcc.gnu.org>

* include/profile/map.h (map::emplace_hint): Remove invalid
parenthesis.

From-SVN: r192656

12 years ago* rtl.def (ADDR_DIFF_VEC): Fix comment typo.
Joern Rennecke [Sun, 21 Oct 2012 14:15:29 +0000 (14:15 +0000)]
* rtl.def (ADDR_DIFF_VEC): Fix comment typo.

From-SVN: r192654

12 years ago* gcc.dg/webizer.c (main): Add missing exit call.
Hans-Peter Nilsson [Sun, 21 Oct 2012 13:00:03 +0000 (13:00 +0000)]
* gcc.dg/webizer.c (main): Add missing exit call.

From-SVN: r192652

12 years agore PR rtl-optimization/44194 (struct returned by value generates useless stores)
Eric Botcazou [Sun, 21 Oct 2012 12:36:16 +0000 (12:36 +0000)]
re PR rtl-optimization/44194 (struct returned by value generates useless stores)

PR rtl-optimization/44194
* calls.c (expand_call): Allow sibling calls in the PARALLEL case.

From-SVN: r192651

12 years agore PR fortran/54725 (cross gfortran always searches host paths (e.g. /usr/include))
Tobias Burnus [Sun, 21 Oct 2012 10:51:26 +0000 (12:51 +0200)]
re PR fortran/54725 (cross gfortran always searches host paths (e.g. /usr/include))

gcc/
2012-10-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54725
        * Makefile.in (TARGET_SYSTEM_ROOT_DEFINE): New.

gcc/fortran
2012-10-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54725
        * Make-lang.in (CFLAGS-cpp.o): Use TARGET_SYSTEM_ROOT_DEFINE.
        * cpp.o (gfc_cpp_init_options): Use it for
        setting gfc_cpp_option.sysroot.

From-SVN: r192650

12 years agore PR fortran/54465 (Implement -Wextra for Fortran)
Thomas Koenig [Sun, 21 Oct 2012 10:32:02 +0000 (10:32 +0000)]
re PR fortran/54465 (Implement -Wextra for Fortran)

2012-10-21  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/54465
* lang.opt (Wextra):  Add.
* invoke.texi:  Document that -Wc-binding-type, -Wconversion
and -Wline-truncation are implied by -Wall.  Document that
-Wcompare-reals is implied by -Wextra.  Document -Wextra.
* options.c (set_Wextra):  New function.
(gfc_handle_option):  Handle -Wextra.

2012-10-21  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/54465
* gfortran.dg/wextra_1.f:  New test.

From-SVN: r192649

12 years agoxtensa.c (xtensa_expand_builtin): Remove unused 'arg' variable.
Chung-Lin Tang [Sun, 21 Oct 2012 06:08:23 +0000 (06:08 +0000)]
xtensa.c (xtensa_expand_builtin): Remove unused 'arg' variable.

2012-10-21  Chung-Lin Tang  <cltang@codesourcery.com>

* config/xtensa/xtensa.c (xtensa_expand_builtin): Remove unused 'arg'
variable.

From-SVN: r192648

12 years ago45713.cc: Skip for mmix-*-*.
Hans-Peter Nilsson [Sun, 21 Oct 2012 04:52:54 +0000 (04:52 +0000)]
45713.cc: Skip for mmix-*-*.

* testsuite/23_containers/bitset/45713.cc: Skip for mmix-*-*.
Tweak sizetype-related comment.

From-SVN: r192647

12 years agocrti.S: Mark program and data addresses using PRELD.
Hans-Peter Nilsson [Sun, 21 Oct 2012 03:16:47 +0000 (03:16 +0000)]
crti.S: Mark program and data addresses using PRELD.

* config/mmix/crti.S: Mark program and data addresses using PRELD.
Remove typo'd and unnecessary alignment-LOC for .data.  Remove
no-longer-needed LDBU insns.

From-SVN: r192646

12 years agoDaily bump.
GCC Administrator [Sun, 21 Oct 2012 00:17:53 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r192644

12 years agore PR middle-end/54315 (unnecessary copy of return value for union)
Eric Botcazou [Sat, 20 Oct 2012 21:00:23 +0000 (21:00 +0000)]
re PR middle-end/54315 (unnecessary copy of return value for union)

PR rtl-optimization/54315
* calls.c (expand_call): Don't deal specifically with BLKmode values
returned in naked registers.
* expr.h (copy_blkmode_from_reg): Adjust prototype.
* expr.c (copy_blkmode_from_reg): Rename first parameter into TARGET and
make it required.  Assert that SRCREG hasn't BLKmode.  Add a couple of
short-circuits for common cases and be prepared for sub-word registers.
(expand_assignment): Call copy_blkmode_from_reg for BLKmode values
returned in naked registers.
(store_expr): Likewise.
(store_field): Likewise.

From-SVN: r192641

12 years agounroll-1.c: New testcase.
Jan Hubicka [Sat, 20 Oct 2012 15:51:16 +0000 (17:51 +0200)]
unroll-1.c: New testcase.

* gcc.dg/tree-prof/unroll-1.c: New testcase.

* loop-unroll.c (decide_unroll_constant_iterations): Don't
perform unrolling for loops with low iterations bounds or estimates.

From-SVN: r192638

12 years agoloop-iv.c (iv_number_of_iterations): Record the upper bound only if there are no...
Jan Hubicka [Sat, 20 Oct 2012 14:19:12 +0000 (16:19 +0200)]
loop-iv.c (iv_number_of_iterations): Record the upper bound only if there are no further conditions on it.

* loop-iv.c (iv_number_of_iterations): Record the upper bound
only if there are no further conditions on it.

From-SVN: r192636

12 years agore PR c/53063 (encode group options in the .opt files)
Manuel López-Ibáñez [Sat, 20 Oct 2012 14:17:08 +0000 (14:17 +0000)]
re PR c/53063 (encode group options in the .opt files)

2012-10-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/53063
PR c/40989
c-family/
* c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
* c-opts.c (c_common_handle_option): Remove explicit handling from
here.
(c_common_post_options): Likewise.
gcc/
* opts.c (finish_options): Remove explicit handling from here.

From-SVN: r192635

12 years agofinal.c (shorten_branches): When optimizing...
Joern Rennecke [Sat, 20 Oct 2012 13:46:07 +0000 (13:46 +0000)]
final.c (shorten_branches): When optimizing...

        * final.c (shorten_branches): When optimizing, start with small
        length and increase from there, and don't decrease lengths.

Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>
From-SVN: r192634

12 years agoemit-rtl.c (copy_delay_slot_insn): New function.
Joern Rennecke [Sat, 20 Oct 2012 11:37:27 +0000 (11:37 +0000)]
emit-rtl.c (copy_delay_slot_insn): New function.

2012-10-20  Joern Rennecke  <joern.rennecke@embecosm.com>
            Richard Sandiford  <rdsandiford@googlemail.com>

        * emit-rtl.c (copy_delay_slot_insn): New function.
        * emit-rtl.h (copy_delay_slot_insn): Declare.
        * reorg.c: Include "emit-rtl.h".
        (steal_delay_list_from_target): Use copy_delay_slot_insn.
        (fill_slots_from_thread, fill_simple_delay_slots): Likewise.

Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>
From-SVN: r192633

12 years agobuiltins.def (BUILT_IN_UNREACHABLE): Make ATTR_CONST_NORETURN_NOTHROW_LEAF_LIST.
Jan Hubicka [Sat, 20 Oct 2012 10:12:36 +0000 (12:12 +0200)]
builtins.def (BUILT_IN_UNREACHABLE): Make ATTR_CONST_NORETURN_NOTHROW_LEAF_LIST.

* builtins.def (BUILT_IN_UNREACHABLE): Make ATTR_CONST_NORETURN_NOTHROW_LEAF_LIST.
* builtin-attrs.def (ATTR_CONST_NORETURN_NOTHROW_LEAF_LIST): Define.

From-SVN: r192632

12 years ago* include/std/scoped_allocator: Avoid badname.
Jonathan Wakely [Sat, 20 Oct 2012 02:08:37 +0000 (02:08 +0000)]
* include/std/scoped_allocator: Avoid badname.

From-SVN: r192629

12 years agoDaily bump.
GCC Administrator [Sat, 20 Oct 2012 00:18:42 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192628

12 years agors6000-cpus.def (POWERPC_MASKS): Don't assume OPTION_MASK_STRICT_ALIGN is defined.
Michael Meissner [Fri, 19 Oct 2012 19:10:03 +0000 (19:10 +0000)]
rs6000-cpus.def (POWERPC_MASKS): Don't assume OPTION_MASK_STRICT_ALIGN is defined.

[gcc]
2012-10-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
    Dominique Dhumieres  <dominiq@lps.ens.fr>

* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Don't assume
OPTION_MASK_STRICT_ALIGN is defined.
(MASK_STRICT_ALIGN): If OPTION_MASK_STRICT_ALIGN is not defined,
define this to 0 for the 3 ports that use it.

* config/rs6000/rs6000.c (OPTION_MASK_STRICT_ALIGN): Don't do
check for ports not having -mstrict-align here, move test to
rs6000-cpus.def.
(MASK_STRICT_ALIGN): Likewise.
(rs6000_debug_reg_global): Print out correct target flag words if
-mdebug=reg.

[libobjc]
2012-10-19  Michael Meissner  <meissner@linux.vnet.ibm.com>

* encoding.c (TARGET_VSX): Provide definitions based on the
current compilation options, and not based off the target options
structure.
(TARGET_ALTIVEC): Likewise.
(TARGET_64BIT): Likewise.

Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
From-SVN: r192623

12 years agore PR fortran/54224 (Warn for unused internal procedures)
Janus Weil [Fri, 19 Oct 2012 17:14:46 +0000 (19:14 +0200)]
re PR fortran/54224 (Warn for unused internal procedures)

2012-10-19  Janus Weil  <janus@gcc.gnu.org>

PR fortran/54224
* trans-expr.c (conv_function_val): Set TREE_USED.

2012-10-19  Janus Weil  <janus@gcc.gnu.org>

PR fortran/54224
* gfortran.dg/warn_unused_function.f90: New.

From-SVN: r192620

12 years agore PR middle-end/54945 (Too strong non-aliasing analysis?)
Marek Polacek [Fri, 19 Oct 2012 16:53:39 +0000 (16:53 +0000)]
re PR middle-end/54945 (Too strong non-aliasing analysis?)

PR54945

From-SVN: r192617

12 years ago* doc/xml/manual/status_cxx2011.xml: Update.
Jonathan Wakely [Fri, 19 Oct 2012 16:53:32 +0000 (16:53 +0000)]
* doc/xml/manual/status_cxx2011.xml: Update.

From-SVN: r192616

12 years agotarget-supports.exp (check_effective_target_arm_prefer_ldrd_strd): New procedure.
Greta Yorsh [Fri, 19 Oct 2012 16:33:28 +0000 (17:33 +0100)]
target-supports.exp (check_effective_target_arm_prefer_ldrd_strd): New procedure.

2012-10-19  Greta Yorsh  <Greta.Yorsh@arm.com>

gcc/testsuite/

        * gcc.target/arm/target-supports.exp (check_effective_target_arm_prefer_ldrd_strd):
        New procedure.

gcc/

* doc/sourcebuild.texi (Effective-Target Keywords): Document
new effective target keyword arm_prefer_ldrd_strd.

From-SVN: r192615

12 years agoscoped_allocator (__outermost_alloc_traits): Define.
Jonathan Wakely [Fri, 19 Oct 2012 16:16:11 +0000 (16:16 +0000)]
scoped_allocator (__outermost_alloc_traits): Define.

* include/std/scoped_allocator (__outermost_alloc_traits): Define.
(scoped_allocator_adaptor::destroy): Use it.
(scoped_allocator_adaptor::construct): Likewise. Overload for
piecewise construction of std::pair objects.
* testsuite/20_util/scoped_allocator/2.cc: New.
* doc/xml/manual/status_cxx2011.xml: Update.

From-SVN: r192613

12 years agore PR tree-optimization/54981 (Different code generated with / without `-g')
Richard Guenther [Fri, 19 Oct 2012 13:05:40 +0000 (13:05 +0000)]
re PR tree-optimization/54981 (Different code generated with / without `-g')

2012-10-19  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/54981
* tree-loop-distribution.c (ssa_name_has_uses_outside_loop_p):
Do not consider debug stmts as uses.

* gcc.dg/pr54981.c: New testcase.

From-SVN: r192612

12 years agore PR tree-optimization/54976 (FAIL: gcc.dg/torture/pr47975.c (internal compiler...
Richard Biener [Fri, 19 Oct 2012 10:32:29 +0000 (10:32 +0000)]
re PR tree-optimization/54976 (FAIL: gcc.dg/torture/pr47975.c (internal compiler error))

2012-10-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/54976
* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
Robustify against odd inner_mode inputs.

From-SVN: r192611

12 years agore PR target/54892 (, ICE in extract_insn, at recog.c:2123)
Zhenqiang Chen [Fri, 19 Oct 2012 09:24:39 +0000 (09:24 +0000)]
re PR target/54892 (, ICE in extract_insn, at recog.c:2123)

gcc/ChangeLog
PR target/54892
* config/arm/arm.c (arm_expand_compare_and_swap): Use SImode to make
sure the mode is correct when falling through from above cases.

gcc/testsuite/ChangeLog
PR target/54892
* gcc.target/arm/pr54892.c: New.

From-SVN: r192609

12 years agocunroll-1.c: New testcase.
Jan Hubicka [Fri, 19 Oct 2012 09:17:06 +0000 (09:17 +0000)]
cunroll-1.c: New testcase.

* gcc.dg/tree-ssa/cunroll-1.c: New testcase.
* gcc.dg/tree-ssa/cunroll-2.c: New testcase.
* gcc.dg/tree-ssa/cunroll-3.c: New testcase.
* gcc.dg/tree-ssa/cunroll-4.c: New testcase.
* gcc.dg/tree-ssa/cunroll-5.c: New testcase.

From-SVN: r192608

12 years agocommon.opt (flag_ira_hoist_pressure): New.
Bin Cheng [Fri, 19 Oct 2012 05:42:24 +0000 (05:42 +0000)]
common.opt (flag_ira_hoist_pressure): New.

gcc/ChangeLog
* common.opt (flag_ira_hoist_pressure): New.
* doc/invoke.texi (-fira-hoist-pressure): Describe.
* ira-costs.c (ira_set_pseudo_classes): New parameter.
* ira.h: Update copyright dates.
(ira_set_pseudo_classes): Update prototype.
* haifa-sched.c (sched_init): Update call.
* ira.c (ira): Update call.
* regmove.c: Update copyright dates.
(regmove_optimize): Update call.
* loop-invariant.c: Update copyright dates.
(move_loop_invariants): Update call.
* gcse.c: (struct bb_data): New structure.
(BB_DATA): New macro.
(curr_bb, curr_reg_pressure): New static variables.
(should_hoist_expr_to_dom): Rename from hoist_expr_reaches_here_p.
Change parameter expr_index to expr.
New parameters pressure_class, nregs and hoisted_bbs.
Use reg pressure to determine the distance expr can be hoisted.
(hoist_code): Use reg pressure to direct the hoist process.
(get_regno_pressure_class, get_pressure_class_and_nregs)
(change_pressure, calculate_bb_reg_pressure): New.
(one_code_hoisting_pass): Calculate register pressure. Allocate
and free data.

gcc/testsuite/ChangeLog
* testsuite/gcc.dg/hoist-register-pressure.c: New test.

From-SVN: r192604

12 years agogcse.c: Update copyright dates.
Bin Cheng [Fri, 19 Oct 2012 05:34:44 +0000 (05:34 +0000)]
gcse.c: Update copyright dates.

* gcse.c: Update copyright dates.
(hoist_expr_reaches_here_p): Change parameter type from char *
to sbitmap.

From-SVN: r192603

12 years agoconfig.host (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename "arm...
Sebastian Huber [Fri, 19 Oct 2012 01:18:36 +0000 (01:18 +0000)]
config.host (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename "arm*-*-rtemseabi*" to "arm*-*-rtems*".

2012-10-18  Sebastian Huber <sebastian.huber@embedded-brains.de>

* config.host
(arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename
"arm*-*-rtemseabi*" to "arm*-*-rtems*".

From-SVN: r192600

12 years agoconfig.host (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename "arm...
Sebastian Huber [Fri, 19 Oct 2012 01:17:53 +0000 (01:17 +0000)]
config.host (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename "arm*-*-rtemseabi*" to "arm*-*-rtems*".

2012-10-18  Sebastian Huber <sebastian.huber@embedded-brains.de>

* config.host
(arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename
"arm*-*-rtemseabi*" to "arm*-*-rtems*".

From-SVN: r192599

12 years agoDaily bump.
GCC Administrator [Fri, 19 Oct 2012 00:18:48 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192598

12 years agoconfigure.ac (HAVE_LD_NO_DOT_SYMS): Set if using gold.
Alan Modra [Thu, 18 Oct 2012 23:02:25 +0000 (09:32 +1030)]
configure.ac (HAVE_LD_NO_DOT_SYMS): Set if using gold.

* configure.ac (HAVE_LD_NO_DOT_SYMS): Set if using gold.
(HAVE_LD_LARGE_TOC): Likewise.
* configure: Regenerate.

From-SVN: r192593

12 years agore PR c++/54501 (infinite recursion on illegal code)
Paolo Carlini [Thu, 18 Oct 2012 22:48:35 +0000 (22:48 +0000)]
re PR c++/54501 (infinite recursion on illegal code)

/cp
2012-10-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54501
* decl.c (reshape_init_array_1): Avoid infinite loops.

/testsuite
2012-10-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54501
* g++.dg/init/array30.C: New.
* g++.dg/init/array31.C: Likewise.

From-SVN: r192592

12 years agopredicates.md (splat_input_operand): Don't call input_operand for MEMs.
Alan Modra [Thu, 18 Oct 2012 22:33:15 +0000 (09:03 +1030)]
predicates.md (splat_input_operand): Don't call input_operand for MEMs.

* config/rs6000/predicates.md (splat_input_operand): Don't call
input_operand for MEMs.  Instead check for volatile and call
memory_address_addr_space_p with modified mode.

From-SVN: r192590

12 years agoi386.md (rdpmc): Remove expander.
Uros Bizjak [Thu, 18 Oct 2012 21:46:52 +0000 (23:46 +0200)]
i386.md (rdpmc): Remove expander.

* config/i386/i386.md (rdpmc): Remove expander.
(rdtsc): Ditto.
(rdtscp): Ditto.
(rdpmc): Rename from *rdpmc.
(rdpmc_rex64): Rename from *rdpmc_rex64.
(rdtsc): Rename from *rdtsc.
(rdtsc_rex64): Rename from *rdtsc_rex64.
(rdtscp): Rename from *rdtscp.
(rdtscp_rex64): Rename from *rdtscp_rex64.

* config/i386/i386.c (struct builtin_description bdesc_special_args)
<IX86_BUILTIN_RDTSC>: Use CODE_FOR_NOTHING.
<IX86_BUILTIN_RDTSCP>: Ditto.
(struct builtin_description bdesc__args) <IX86_BUILTIN_RDPMC>: Ditto.
(ix86_expand_builtin) <IX86_BUILTIN_{RDPMC,RDTSC,RDTSCP}>: Handle here.

From-SVN: r192589

12 years agoforward_list.h: Add C++11 allocator support.
Jonathan Wakely [Thu, 18 Oct 2012 21:06:21 +0000 (21:06 +0000)]
forward_list.h: Add C++11 allocator support.

* include/bits/forward_list.h: Add C++11 allocator support.
* include/bits/forward_list.tcc: Likewise.
* doc/xml/manual/status_cxx2011.xml: Update.
* testsuite/23_containers/forward_list/allocator/copy.cc: New.
* testsuite/23_containers/forward_list/allocator/copy_assign.cc: New.
* testsuite/23_containers/forward_list/allocator/minimal.cc: New.
* testsuite/23_containers/forward_list/allocator/move_assign.cc: New.
* testsuite/23_containers/forward_list/allocator/noexcept.cc: New.
* testsuite/23_containers/forward_list/allocator/swap.cc: New.

From-SVN: r192588

12 years agoformatter.h (_Debug_msg_id): Add __msg_valid_load_factor.
François Dumont [Thu, 18 Oct 2012 19:50:37 +0000 (19:50 +0000)]
formatter.h (_Debug_msg_id): Add __msg_valid_load_factor.

2012-10-18  François Dumont  <fdumont@gcc.gnu.org>

* include/debug/formatter.h (_Debug_msg_id): Add
__msg_valid_load_factor.
* include/debug/macros.h (__glibcxx_check_max_load_factor): New.
* include/debug/unordered_set
(unordered_set<>::max_load_factor(float)): Check max load factor
is positive.
(unordered_multiset<>::max_load_factor(float)): Likewise.
* include/debug/unordered_map
(unordered_map<>::max_load_factor(float)): Likewise.
(unordered_multimap<>::max_load_factor(float)): Likewise.
* testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
New.
* testsuite/23_containers/unordered_multimap/debug/
max_load_factor_neg.cc: New.
* testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc:
New.
* testsuite/23_containers/unordered_multiset/debug/
max_load_factor_neg.cc: New.

From-SVN: r192575

12 years agoc-ada-spec.c (LOCATION_COL): Delete.
Eric Botcazou [Thu, 18 Oct 2012 18:47:23 +0000 (18:47 +0000)]
c-ada-spec.c (LOCATION_COL): Delete.

* c-ada-spec.c (LOCATION_COL): Delete.
(compare_location): New function.
(compare_node): Use it.
(compare_comment): Likewise.

From-SVN: r192574

12 years agoChangelog: Fix whitespace.
Jan-Benedict Glaw [Thu, 18 Oct 2012 18:07:17 +0000 (18:07 +0000)]
Changelog: Fix whitespace.

2012-10-18  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

gcc/
* Changelog: Fix whitespace.

From-SVN: r192573

12 years agosh.c: Fix comment to silence warning.
Jan-Benedict Glaw [Thu, 18 Oct 2012 17:59:37 +0000 (17:59 +0000)]
sh.c: Fix comment to silence warning.

2012-10-18  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

gcc/
* config/sh/sh.c: Fix comment to silence warning.

From-SVN: r192572

12 years agore PR fortran/54884 (Externally used PRIVATE module procedure wrongly marked as TREE_...
Tobias Burnus [Thu, 18 Oct 2012 17:09:13 +0000 (19:09 +0200)]
re PR fortran/54884 (Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0)

2012-10-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54884
        * resolve.c (specification_expr): Change to bool.
        (resolve_formal_arglist, resolve_symbol): Set
        specification_expr to true before resolving the array spec.
        (resolve_variable, resolve_charlen, resolve_fl_variable):
        Properly reset specification_expr.
        (resolve_function): Set public_use when used in
        a specification expr.

2012-10-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54884
        * gfortran.dg/public_private_module_7.f90: New.

From-SVN: r192571

12 years agore PR c++/29633 (syntax error in do/while condition with templates reports incorrect...
Paolo Carlini [Thu, 18 Oct 2012 17:02:10 +0000 (17:02 +0000)]
re PR c++/29633 (syntax error in do/while condition with templates reports incorrect line number)

2012-10-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/29633
* g++.dg/template/pr29633.C: New.

From-SVN: r192570

12 years agoA15 neon description.
Matthew Gretton-Dann [Thu, 18 Oct 2012 16:43:15 +0000 (16:43 +0000)]
A15 neon description.

2012-10-18  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
            Sameera Deshpande  <sameera.deshpande@arm.com>

           * config/arm/cortex-a15-neon.md: New file.
           * config/arm/cortex-a15.md (cortex_a15_call): Adjust reservation.
           (cortex_a15_load1): Likewise.
           (cortex_a15_load3): Likewise.
           (cortex_a15_store1): Likewise.
           (cortex_a15_store3): Likewise.
           (cortex-a15-neon.md): Include.

Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Co-Authored-By: Sameera Deshpande <sameera.deshpande@arm.com>
From-SVN: r192569

12 years agoaltivec.md (altivec_lvsl, [...]): Add mode.
Segher Boessenkool [Thu, 18 Oct 2012 16:35:07 +0000 (18:35 +0200)]
altivec.md (altivec_lvsl, [...]): Add mode.

gcc/
* config/rs6000/altivec.md (altivec_lvsl, altivec_lvsr): Add mode.
(altivec_vsumsws_nomode): Delete.
(reduc_splus_<mode>, reduc_uplus_<mode>): Call gen_altivec_vsumsws
instead of gen_altivec_vsumsws_nomode.
(altivec_lvlx, altivec_lvlxl, altivec_lvrx, altivec_lvrxl):
Add mode.
* config/rs6000/rs6000.md (probe_stack): Rename to...
(probe_stack_<mode>): ... this.  Add mode.  Change pattern to
use std instead of stw when appropriate.
(probe_stack): New expander.
(move_from_CR_ov_bit): Add mode.
(splitter for compare_plus_ne0_<mode>, splitter for
compare_plus_ne0_<mode>_1): Remove constraints.
* config/rs6000/sync.md (loadsync): Rename to...
(loadsync_<mode>): ... this.  Add mode.
(atomic_load<mode>): Adjust.

From-SVN: r192568

12 years agoloop-invariant.c: Include target.h.
Eric Botcazou [Thu, 18 Oct 2012 15:46:04 +0000 (15:46 +0000)]
loop-invariant.c: Include target.h.

* loop-invariant.c: Include target.h.
(check_dependency): Return false for an uninitialized argument register
that is likely to be spilled.
* Makefile.in (loop-invariant.o): Add $(TARGET_H).

From-SVN: r192566

12 years ago* except.c (sjlj_emit_function_enter): Remove unused variable.
Eric Botcazou [Thu, 18 Oct 2012 15:38:26 +0000 (15:38 +0000)]
* except.c (sjlj_emit_function_enter): Remove unused variable.

From-SVN: r192565

12 years agoAdd support for fma intrinsics for ARM.
Matthew Gretton-Dann [Thu, 18 Oct 2012 12:02:01 +0000 (12:02 +0000)]
Add support for fma intrinsics for ARM.

Correct dates in changelog from earlier commit.

2012-10-18  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

        * config/arm/arm.c (neon_builtin_data): Add vfma and vfms
       builtins.
        * config/arm/neon-docgen.ml (intrinsic_groups): Add
        fused-multiply-* groups.
        * config/neon-gen.ml (print_feature_test_start): New function.
        (print_feature_test_end): Likewise.
        (print_variant): Print feature test macros.
        * config/arm/neon-testgen.ml (emit_prologue): Allow different
        tests to require different effective targets.
        (effective_target): New function.
        (test_intrinsic): Specify correct effective targets.
        * gcc/config/arm/neon.md (fma<VCVTF:mode>4_intrinsic): New pattern.
        (fmsub<VCVTF:mode>4_intrinsic): Likewise.
        (neon_vfma<VCVFT:mode>): New expand.
        (neon_vfms<VCVFT:mode>): Likewise.
        * config/neon.ml (opcode): Add Vfma and Vfms.
        (features): Add Requires_feature.
        (ops): Add VFMA and VFMS intrinsics.
        * config/arm/arm_neon.h: Regenerate.
        * doc/arm-neon-intrinsics.texi: Likewise.

2012-10-18  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

        * gcc.target/arm/neon/vfmaQf32.c: New testcase.
        * gcc.target/arm/neon/vfmaf32.c: Likewise.
        * gcc.target/arm/neon/vfmsQf32.c: Likewise.
        * gcc.target/arm/neon/vfmsf32.c: Likewise.

Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
From-SVN: r192560

12 years agolto-streamer.h (enum LTO_tags): Add LTO_integer_cst.
Richard Guenther [Thu, 18 Oct 2012 10:59:55 +0000 (10:59 +0000)]
lto-streamer.h (enum LTO_tags): Add LTO_integer_cst.

2012-10-18  Richard Guenther  <rguenther@suse.de>

* lto-streamer.h (enum LTO_tags): Add LTO_integer_cst.
* lto-streamer-in.c (lto_input_tree): Use it.
* lto-streamer-out.c (lto_output_tree): Likewise, for
!TREE_OVERFLOW integer constants only.
* tree-streamer-in.c (unpack_ts_int_cst_value_fields): New function.
(unpack_value_fields): Call it.
(streamer_read_integer_cst): Simplify.
* tree-streamer-out.c (pack_ts_int_cst_value_fields): New function.
(streamer_pack_tree_bitfields): Call it.
(streamer_write_integer_cst): Adjust.

From-SVN: r192559