OSDN Git Service

pf3gnuchains/gcc-fork.git
11 years ago2012-10-18 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 18 Oct 2012 17:09:13 +0000 (17:09 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192571 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-18 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 18 Oct 2012 17:02:10 +0000 (17:02 +0000)]
2012-10-18  Paolo Carlini  <paolo.carlini@oracle.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192570 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoA15 neon description.
ramana [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192569 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
segher [Thu, 18 Oct 2012 16:35:07 +0000 (16:35 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192568 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * loop-invariant.c: Include target.h.
ebotcazou [Thu, 18 Oct 2012 15:46:04 +0000 (15:46 +0000)]
* 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).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192566 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192565 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoAdd support for fma intrinsics for ARM.
ramana [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192560 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-18 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 18 Oct 2012 10:59:55 +0000 (10:59 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192559 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoAdd basic armv8-a support
ramana [Thu, 18 Oct 2012 10:49:23 +0000 (10:49 +0000)]
Add basic armv8-a support

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

* config/arm/lib1funcs.S (__ARM_ARCH__): Define for ARMv8-A.

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

        * gcc.target/arm/ftest-armv8a-arm.c: New testcase.
        * gcc.target/arm/ftest-armv8a-thumb.c: Likewise.
        * gcc.target/arm/ftest-support-arm.h (feature_matrix): Add
        ARMv8-A row.
        * gcc.target/arm/ftest-support-thumb.h (feature_matrix):
        Likewise.
        * gcc.target/arm/ftest-support.h (architecture): Add ARMv8-A.
        * lib/target-supports.exp: Add ARMv8-A architecture expectation.

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

        * config.gcc: Add support for ARMv8 for arm*-*-* targets.
        * config/arm/arm-arches.def: Add armv8-a
        * config/arm/arm-fpus.def: Add fp-armv8, neon-fp-armv8,
        crypto-neon-fp-armv8.  Add crypto field.
        * config/arm/arm-tables.opt: Regenerate.
        * config/arm/arm.c (FL_FOR_ARCH8A): Likewise.
        (arm_arch8): New global variable.
        (ARM_FPU): Add crypto parameter.
        (arm_option_override): Set arm_arch8, update comments.
        * config/arm/arm.h (TARGET_CRYPTO): New macro.
        (arm_fpu_desc): Add crypto field.
        (base_architecture): Add ARMv8 entry.
        (arm_arch8): New variable declaration.
        * config/arm/bpabi.h: ARMv8 supports BE8.
        * doc/invoke.texi: Document ARMv8 options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192558 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-17 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Thu, 18 Oct 2012 08:36:06 +0000 (08:36 +0000)]
2012-10-17  Benjamin Kosnik  <bkoz@redhat.com>

* include/bits/move.h (move_if_noexcept): Mark constexpr.
* include/std/array (front, back): Same.
* include/std/chrono: Add comment.
* include/std/tuple (__tuple_compare): Mark __eq, __less constexpr.
(operator ==, <, >, !=, <=, >=): Same.
* testsuite/20_util/forward/c_neg.cc: Adjust line numbers.
* testsuite/20_util/forward/f_neg.cc: Same.
* testsuite/20_util/move_if_noexcept/constexpr.cc: New.
* testsuite/20_util/tuple/comparison_operators/constexpr.cc: New.
* testsuite/20_util/tuple/creation_functions/constexpr.cc: Add.
* testsuite/23_containers/array/element_access/
constexpr_element_access.cc: Same.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
line numbers.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Same.

* testsuite/20_util/tuple/comparison_operators/35480_neg.cc:
          Temporarily add dg-excess-errors.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192556 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Thu, 18 Oct 2012 00:18:37 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192552 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR middle-end/54893
aldyh [Wed, 17 Oct 2012 21:18:16 +0000 (21:18 +0000)]
PR middle-end/54893
        * trans-mem.c (diagnose_tm_1_op): Allow volatiles inside relaxed
        transactions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192549 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR rtl-optimization/54900
aldyh [Wed, 17 Oct 2012 20:59:40 +0000 (20:59 +0000)]
PR rtl-optimization/54900
* ifcvt.c (noce_can_store_speculate_p): Call
memory_must_be_modified_in_insn_p.
* alias.c (memory_must_be_modified_in_insn_p): New.
(set_dest_equal_p): New.
* rtl.h (memory_must_be_modified_in_p): Protoize.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192548 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-17 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Wed, 17 Oct 2012 20:12:38 +0000 (20:12 +0000)]
2012-10-17  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000.opt (rs6000_isa_flags): New flag word to
replace target_flags that gives us 63 possible switches.
(x_rs6000_isa_flags): Save area for rs6000_isa_flags.
(x_rs6000_isa_flags_explicit): Save area for
rs6000_isa_flags_explicit.
(rs6000_target_flags_explicit): Delete in favor of
x_rs6000_isa_flags_explicit.
(-mpowerpc64): Change all switches that used to be in target_flags
to now be in rs6000_isa_flags.  In using rs6000_isa_flags, the
options machinary will generate names of the form OPITON_<xxx>
instead of TARGET_<xxx> and OPTION_MASK_<xxx> instead of
MASK_<xxx>.
(-mpowerpc-gpopt): Likewise.
(-mpowerpc-gfxopt): Likewise.
(-mmfcrf): Likewise.
(-mpopcntb): Likewise.
(-mfprnd): Likewise.
(-mcmpb): Likewise.
(-mmfpgpr): Likewise.
(-maltivec): Likewise.
(-mhard-dfp): Likewise.
(-mmulhw): Likewise.
(-mdlmzb): Likewise.
(-mmultiple): Likewise.
(-mstring): Likewise.
(-msoft-float): Likewise.
(-mhard-float): Likewise.
(-mpopcntd): Likewise.
(-mvsx): Likewise.
(-mno-update): Likewise.
(-mupdate): Likewise.
(-mrecip-precision): Likewise.
(-mminimal-toc): Likewise.
(-misel): Likewise.
* config/rs6000/aix64.opt (-maix64): Likewise.
(-maix32): Likewise.
* config/rs6000/sysv4.opt (-mstrict-align): Likewise.
(-mrelocatable): Likewise.
(-mlittle-endian): Likewise.
(-mlittle): Likewise.
(-mbig-endian): LIkewise.
(-mbig): Likewise.
(-meabi): Likewise.
(-m64): Likewise.
(-m32): Likewise.
* config/rs6000/darwin.opt (-m64): Likewise.
(-m32): Likewise.

* config/rs6000/rs6000-cpus.def (ISA_2_1_MASKS): Move the various
masks used in rs6000.c here, since they are more logically in this
file.  Convert from being enums to just #defines, since the types
of these masks is now HOST_WIDE_INT instead of int.  For
POWERPC_MASKS, add MASK_SOFT_FLOAT, since the only use case or'ed
in the mask.  Change the use in rs6000.c not to do the OR of
MASK_SOFT_FLOAT.
(ISA_2_1_MASKS): Likewise.
(ISA_2_2_MASKS): Likewise.
(ISA_2_4_MASKS): Likewise.
(ISA_2_5_MASKS_EMBEDDED): Likewise.
(ISA_2_5_MASKS_SERVER): Likewise.
(POWERPC_7400_MASK): Likewise.
(POWERPC_MASKS): Likewise.
* config/rs6000/rs6000.c (ISA_2_1_MASKS): Likewise.
(ISA_2_1_MASKS): Likewise.
(ISA_2_2_MASKS): Likewise.
(ISA_2_4_MASKS): Likewise.
(ISA_2_5_MASKS_EMBEDDED): Likewise.
(ISA_2_5_MASKS_SERVER): Likewise.
(POWERPC_7400_MASK): Likewise.
(POWERPC_MASKS): Likewise.
(rs6000_option_override_internal): Likewise.

* config/rs6000/rs6000.c (darwin_rs6000_override_options): Change
all uses of target_flags to rs6000_isa_flags.  Change all uses of
target_flags_explicit to rs6000_isa_flags_explicit.  Change the
use of MASK_<xxx> to OPTION_MASK_<xxx> that options.h defines when
we use a secondary flags word.  Save/restore/print the new flags
word when switching contexts with different target attributes.
(rs6000_option_override_internal): Likewise.
(rs6000_darwin_file_start): Likewise.
(rs6000_opt_masks): Likewise.
(rs6000_inner_target_options): Likewise.
(rs6000_pragma_target_parse): Likewise.
(rs6000_set_current_function): Likewise.
(rs6000_function_specific_save): Likewise.
(rs6000_function_specific_restore): Likewise.
(rs6000_function_specific_print): Likewise.
(rs6000_can_inline_p): Likewise.
* config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
Likewise.
(rs6000_cpu_cpp_builtins): Likewise.
* common/config/rs6000/rs6000-driver.c (rs6000_handle_option):
Likewise.

* config/rs6000/rs6000.h (MASK_ALTIVEC): In moving to using
Var(...) for all of the isa switches, the options machinery now
uses OPTION_MASK_<xxx> instead of MASK_<xxx> for the mask name.
Use #define to map the old name into the new name.  For switches
that are defined in aix64.opt, sysv4.opt, and darwin.opt, only do
the definition if those switches were defined.
(MASK_ALTIVEC): Likewise.
(MASK_CMPB): Likewise.
(MASK_DFP): Likewise.
(MASK_DLMZB): Likewise.
(MASK_EABI): Likewise.
(MASK_FPRND): Likewise.
(MASK_HARD_FLOAT): Likewise.
(MASK_ISEL): Likewise.
(MASK_MFCRF): Likewise.
(MASK_MFPGPR): Likewise.
(MASK_MULHW): Likewise.
(MASK_MULTIPLE): Likewise.
(MASK_NO_UPDATE): Likewise.
(MASK_POPCNTB): Likewise.
(MASK_POPCNTD): Likewise.
(MASK_PPC_GFXOPT): Likewise.
(MASK_PPC_GPOPT): Likewise.
(MASK_RECIP_PRECISION): Likewise.
(MASK_SOFT_FLOAT): Likewise.
(MASK_STRICT_ALIGN): Likewise.
(MASK_STRING): Likewise.
(MASK_UPDATE): Likewise.
(MASK_VSX): Likewise.
(MASK_POWERPC64): Likewise.
(MASK_64BIT): Likewise.
(MASK_RELOCATABLE): Likewise.
(MASK_LITTLE_ENDIAN): Likewise.
(MASK_MINIMAL_TOC): Likewise.
(MASK_REGNAMES): Likewise.
(MASK_PROTOTYPE): Likewise.
(rs6000_isa_flags_explicit): Define in terms of the
global_options_set structure.

* gcc/config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS):
Change use of target_flags to rs6000_isa_flags,
target_flags_explicit to rs6000_isa_flags_explicit, and MASK_<xxx>
to OPTION_MASK_<xxx>.
* gcc/config/rs6000/aix51.h (SUBTARGET_OVERRIDE_OPTIONS):
Likewise.
* gcc/config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS):
Likewise.
* gcc/config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS):
Likewise.
* gcc/config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS):
Likewise.
* gcc/config/rs6000/freebsd64.h (RELOCATABLE_NEEDS_FIXUP):
Likewise.
(SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
* gcc/config/rs6000/freebsd.h (RELOCATABLE_NEEDS_FIXUP):
Likewise.
* gcc/config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP):
Likewise.
(SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
(OPTION_LITTLE_ENDIAN): Likewise.
(OPTION_RELOCATABLE): Likewise.
(OPTION_EABI): Likewise.
(OPTION_PROTOTYPE): Likewise.
* gcc/config/rs6000/linux.h (RELOCATABLE_NEEDS_FIXUP): Likewise.
* gcc/config/rs6000/option-defaults.h (OPTION_MASK_64BIT):
Likewise.
(OPT_ARCH32): Likewise.
(OPT_ARCH64): Likewise.
* gcc/config/rs6000/sysv4.h (TARGET_TOC): Likewise.
(SUBTARGET_OVERRIDE_OPTIONS): Likewise.
(SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
(TARGET_OS_SYSV_CPP_BUILTINS): Likewise.

* config/rs6000/t-rs6000 (rs6000.o): Add rs6000-cpus.def as a
dependency.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192545 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * cfgloopmanip.c (copy_loop_info): New function.
hubicka [Wed, 17 Oct 2012 19:50:16 +0000 (19:50 +0000)]
* cfgloopmanip.c (copy_loop_info): New function.
(duplicate_loop): Use it.
(loop_version): Use it.
* loop-unswitch.c (unswitch_loop): Use it.
* cfgloop.h (copy_loop_info): Declare.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192543 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Add edge_to_cancel
hubicka [Wed, 17 Oct 2012 17:12:05 +0000 (17:12 +0000)]
* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Add edge_to_cancel
parameter and use it to estimate code optimized out in the final iteration.
(loop_edge_to_cancel): New function.
(try_unroll_loop_completely): New IRRED_IVALIDATED parameter;
handle unrolling loops with bounds given via max_loop_iteratins;
handle unrolling non-inner loops when code size shrinks;
tidy dump output; when the last iteration loop still stays
as loop in the CFG forcongly redirect the latch to
__builtin_unreachable.
(canonicalize_loop_induction_variables): Add irred_invlaidated
parameter; record niter bound derrived; dump
max_loop_iterations bounds; call try_unroll_loop_completely
even if no niter bound is given.
(canonicalize_induction_variables): Handle irred_invalidated.
(tree_unroll_loops_completely): Handle non-innermost loops;
handle irred_invalidated.
* cfgloop.h (unlop): Declare.
* cfgloopmanip.c (unloop): Export.
* tree.c (build_common_builtin_nodes): Build BULTIN_UNREACHABLE.

* gcc.target/i386/l_fma_float_?.c: Update.
* gcc.target/i386/l_fma_double_?.c: Update.
* gfortran.dg/do_1.f90: XFAIL
* 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.
* gcc.dg/tree-ssa/ldist-17.c: Block cunroll to make testcase still
valid.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192538 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-17 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Wed, 17 Oct 2012 16:49:26 +0000 (16:49 +0000)]
2012-10-17  Michael Meissner  <meissner@linux.vnet.ibm.com>

* opth-gen.awk (TARGET_* generation): Always generate TARGET_<xxx>
for Mask options, whether they use Var(...) or not.

* config/linux-android.h (ANDROID_TARGET_OS_CPP_BUILTINS): Use
TARGET_<xxx> instead of OPTION_<xxx>.
* config/i386/i386.h (TARGET_64BIT): Likewise.
(TARGET_MMX): Likewise.
(TARGET_3DNOW): Likewise.
(TARGET_3DNOW_A): Likewise.
(TARGET_SSE): Likewise.
(TARGET_SSE2): Likewise.
(TARGET_SSE3): Likewise.
(TARGET_SSSE3): Likewise.
(TARGET_SSE4_1): Likewise.
(TARGET_SSE4_2): Likewise.
(TARGET_AVX): Likewise.
(TARGET_AVX2): Likewise.
(TARGET_FMA): Likewise.
(TARGET_SSE4A): Likewise.
(TARGET_FMA4): Likewise.
(TARGET_XOP): Likewise.
(TARGET_LWP): Likewise.
(TARGET_ROUND): Likewise.
(TARGET_ABM): Likewise.
(TARGET_BMI): Likewise.
(TARGET_BMI2): Likewise.
(TARGET_LZCNT): Likewise.
(TARGET_TBM): Likewise.
(TARGET_POPCNT): Likewise.
(TARGET_SAHF): Likewise.
(TARGET_MOVBE): Likewise.
(TARGET_CRC32): Likewise.
(TARGET_AES): Likewise.
(TARGET_PCLMUL): Likewise.
(TARGET_CMPXCHG16B): Likewise.
(TARGET_FSGSBASE): Likewise.
(TARGET_RDRND): Likewise.
(TARGET_F16C): Likewise.
(TARGET_RTM     ): Likewise.
(TARGET_HLE): Likewise.
(TARGET_RDSEED): Likewise.
(TARGET_PRFCHW): Likewise.
(TARGET_ADX): Likewise.
(TARGET_64BIT): Likewise.
(TARGET_MMX): Likewise.
(TARGET_3DNOW): Likewise.
(TARGET_3DNOW_A): Likewise.
(TARGET_SSE): Likewise.
(TARGET_SSE2): Likewise.
(TARGET_SSE3): Likewise.
(TARGET_SSSE3): Likewise.
(TARGET_SSE4_1): Likewise.
(TARGET_SSE4_2): Likewise.
(TARGET_AVX): Likewise.
(TARGET_AVX2): Likewise.
(TARGET_FMA): Likewise.
(TARGET_SSE4A): Likewise.
(TARGET_FMA4): Likewise.
(TARGET_XOP): Likewise.
(TARGET_LWP): Likewise.
(TARGET_ROUND): Likewise.
(TARGET_ABM): Likewise.
(TARGET_BMI): Likewise.
(TARGET_BMI2): Likewise.
(TARGET_LZCNT): Likewise.
(TARGET_TBM): Likewise.
(TARGET_POPCNT): Likewise.
(TARGET_SAHF): Likewise.
(TARGET_MOVBE): Likewise.
(TARGET_CRC32): Likewise.
(TARGET_AES): Likewise.
(TARGET_PCLMUL): Likewise.
(TARGET_CMPXCHG16B): Likewise.
(TARGET_FSGSBASE): Likewise.
(TARGET_RDRND): Likewise.
(TARGET_F16C): Likewise.
(TARGET_RTM): Likewise.
(TARGET_HLE): Likewise.
(TARGET_RDSEED): Likewise.
(TARGET_PRFCHW): Likewise.
(TARGET_ADX): Likewise.
(TARGET_LP64): Likewise.
(TARGET_X32): Likewise.
(TARGET_ISA_ROUND): Likewise.
* config/i386/darwin.h (TARGET_64BIT): Likewise.

* doc/options.texi (Mask): Update documentation to specify only
TARGET_<xxx> is generated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192537 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/arm/arm.md (UNSPEC_PROLOGUE_USE): Rename this...
gretay [Wed, 17 Oct 2012 13:17:30 +0000 (13:17 +0000)]
    * config/arm/arm.md (UNSPEC_PROLOGUE_USE): Rename this...
        (UNSPEC_REGISTER_USE): ... to this.
        (prologue_use): Rename this...
  (force_register_use): ... to this and update output assembly.
        (epilogue) Rename gen_prologue_use to gen_force_register_use.
        * config/arm/arm.c (arm_expand_prologue): Likewise.
        (thumb1_expand_epilogue): Likewise.
        (arm_expand_epilogue): Likewise.
        (arm_expand_epilogue): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192533 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/avr/avr-arch.h (avr_extra_arch_macro): Remove prototype.
gjl [Wed, 17 Oct 2012 12:53:22 +0000 (12:53 +0000)]
* config/avr/avr-arch.h (avr_extra_arch_macro): Remove prototype.
* config/avr/avr.c (avr_extra_arch_macro): Remove variable.
(avr_option_override): Remove setting of avr_extra_arch_macro.
* config/avr/avr-c.c (avr_extra_arch_macro): Replace with
avr_current_device->macro.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192532 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-17 Richard Biener <rguenther@suse.de>
rguenth [Wed, 17 Oct 2012 10:25:56 +0000 (10:25 +0000)]
2012-10-17  Richard Biener  <rguenther@suse.de>

* tree-streamer-out.c (write_ts_decl_common_tree_pointers):
Do not write TREE_CHAIN of PARM_DECLs.
(write_ts_decl_non_common_tree_pointers): Instead stream
the DECL_ARGUMENTS chain.
* tree-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
Do not read TREE_CHAIN of PARM_DECLs.
(lto_input_ts_decl_non_common_tree_pointes): Instead read
the DECL_ARGUMENTS as chain.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192529 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/iq2000/iq2000.h (call_used_regs): Remove definition.
steven [Wed, 17 Oct 2012 09:51:02 +0000 (09:51 +0000)]
* config/iq2000/iq2000.h (call_used_regs): Remove definition.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192528 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoAdd missing entry.
ebotcazou [Wed, 17 Oct 2012 07:03:35 +0000 (07:03 +0000)]
Add missing entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192527 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * df-problems.c (df_kill_notes): Split up in two functions.
steven [Wed, 17 Oct 2012 06:15:38 +0000 (06:15 +0000)]
* df-problems.c (df_kill_notes): Split up in two functions.
(df_remove_dead_and_unused_notes): New function, first half of
df_kill notes to remove all REG_DEAD and REG_UNUSED notes.
(df_remove_dead_eq_notes): New function, second half of df_kill_notes
to remove REG_EQUAL and REG_EQUIV notes referring to dead registers.
(df_note_bb_compute): Call df_remove_dead_and_unused_notes instead
of df_kill_notes.  Call df_remove_dead_eq_notes after processing insn.

* web.c (web): Re-add DF_RD_PRUNE_DEAD_DEFS;

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192526 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * doc/extend.texi (Return Address): Change
ian [Wed, 17 Oct 2012 05:18:02 +0000 (05:18 +0000)]
* doc/extend.texi (Return Address): Change
__builtin_extract_return_address to
__builtin_extract_return_addr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192525 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Wed, 17 Oct 2012 00:17:59 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192522 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoRemove debug code accidentially checked in with last commit.
amylaar [Tue, 16 Oct 2012 23:38:24 +0000 (23:38 +0000)]
Remove debug code accidentially checked in with last commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192519 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR rtl-optimization/54870
ebotcazou [Tue, 16 Oct 2012 22:49:07 +0000 (22:49 +0000)]
PR rtl-optimization/54870
* tree.h (TREE_ADDRESSABLE): Document special usage on SSA_NAME.
* cfgexpand.c (update_alias_info_with_stack_vars ): Set it on the
SSA_NAME pointer that points to a partition if there is at least
one variable with it set in the partition.
* dse.c (local_variable_can_escape): New predicate.
(can_escape): Call it.
* gimplify.c (mark_addressable): If this is a partitioned decl, also
mark the SSA_NAME pointer that points to a partition.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192517 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * rtl.h (get_call_rtx_from): New prototype.
steven [Tue, 16 Oct 2012 22:05:17 +0000 (22:05 +0000)]
* rtl.h (get_call_rtx_from): New prototype.
* rtlanal.c (get_call_rtx_from): New function.
* calls.c (emit_call_1): Use it.
* dse.c (scan_insn): Likewise
* dwarf2out.c (dwarf2out_var_location): Likewise.
* sched-deps.c (call_may_noreturn_p): Likewise.
* var-tracking.c (prepare_call_arguments): Likewise.
* config/sh/sh.c (sh_adjust_cost): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192516 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-16 Tom de Vries <tom@codesourcery.com>
vries [Tue, 16 Oct 2012 20:32:45 +0000 (20:32 +0000)]
2012-10-16  Tom de Vries  <tom@codesourcery.com>

* expr.c (move_by_pieces, move_by_pieces_ninsns, can_store_by_pieces)
(store_by_pieces_1): Don't enter loop when no more data is left.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192514 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-16 François Dumont <fdumont@gcc.gnu.org>
fdumont [Tue, 16 Oct 2012 19:57:03 +0000 (19:57 +0000)]
2012-10-16  François Dumont  <fdumont@gcc.gnu.org>

* include/debug/formatter.h (_Debug_msg_id): Add
__msg_bucket_index_oob.
* include/debug/macros.h (__glibcxx_check_bucket_index): New.
* include/debug/unordered_set (unordered_set<>::begin(size_type)):
Add check on bucket index.
(unordered_set<>::begin(size_type) const): Likewise.
(unordered_set<>::cbegin(size_type) const): Likewise.
(unordered_set<>::end(size_type)): Likewise.
(unordered_set<>::end(size_type) const): Likewise.
(unordered_set<>::cend(size_type) const): Likewise.
(unordered_set<>::bucket_size(size_type)): Likewise.
(unordered_multiset<>::begin(size_type)): Likewise.
(unordered_multiset<>::begin(size_type) const): Likewise.
(unordered_multiset<>::cbegin(size_type) const): Likewise.
(unordered_multiset<>::end(size_type)): Likewise.
(unordered_multiset<>::end(size_type) const): Likewise.
(unordered_multiset<>::cend(size_type) const): Likewise.
(unordered_multiset<>::bucket_size(size_type)): Likewise.
* include/debug/unordered_map (unordered_map<>::begin(size_type)):
Likewise.
(unordered_map<>::begin(size_type) const): Likewise.
(unordered_map<>::cbegin(size_type) const): Likewise.
(unordered_map<>::end(size_type)): Likewise.
(unordered_map<>::end(size_type) const): Likewise.
(unordered_map<>::cend(size_type) const): Likewise.
(unordered_map<>::bucket_size(size_type)): Likewise.
(unordered_multimap<>::begin(size_type)): Likewise.
(unordered_multimap<>::begin(size_type) const): Likewise.
(unordered_multimap<>::cbegin(size_type) const): Likewise.
(unordered_multimap<>::end(size_type)): Likewise.
(unordered_multimap<>::end(size_type) const): Likewise.
(unordered_multimap<>::cend(size_type) const): Likewise.
(unordered_multimap<>::bucket_size(size_type)): Likewise.
* testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
New.
* testsuite/23_containers/unordered_map/debug/begin1_neg.cc: New.
* testsuite/23_containers/unordered_map/debug/begin2_neg.cc: New.
* testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: New.
* testsuite/23_containers/unordered_map/debug/end1_neg.cc: New.
* testsuite/23_containers/unordered_map/debug/end2_neg.cc: New.
* testsuite/23_containers/unordered_map/debug/cend_neg.cc: New.
* testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
New.
* testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc: New.
* testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc: New.
* testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc: New.
* testsuite/23_containers/unordered_multimap/debug/end1_neg.cc: New.
* testsuite/23_containers/unordered_multimap/debug/end2_neg.cc: New.
* testsuite/23_containers/unordered_multimap/debug/cend_neg.cc: New.
* testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
New.
* testsuite/23_containers/unordered_set/debug/begin1_neg.cc: New.
* testsuite/23_containers/unordered_set/debug/begin2_neg.cc: New.
* testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: New.
* testsuite/23_containers/unordered_set/debug/end1_neg.cc: New.
* testsuite/23_containers/unordered_set/debug/end2_neg.cc: New.
* testsuite/23_containers/unordered_set/debug/cend_neg.cc: New.
* testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
New.
* testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc: New.
* testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc: New.
* testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc: New.
* testsuite/23_containers/unordered_multiset/debug/end1_neg.cc: New.
* testsuite/23_containers/unordered_multiset/debug/end2_neg.cc: New.
* testsuite/23_containers/unordered_multiset/debug/cend_neg.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192512 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * loop-doloop.c (doloop_modify): Pass doloop_end pattern to
amylaar [Tue, 16 Oct 2012 16:11:00 +0000 (16:11 +0000)]
    * loop-doloop.c (doloop_modify): Pass doloop_end pattern to
        gen_doloop_begin.
        (doloop_optimize): Pass flag to indicate if loop is entered at top
        to gen_doloop_end.
        * config/arm/thumb2.md (doloop_end): Accept extra operand.
        * config/bfin/bfin.md (doloop_end): Likewise.
        * config/c6x/c6x.md (doloop_end): Likewise.
        * config/ia64/ia64.md (doloop_end): Likewise.
        * config/mep/mep.md (doloop_begin, doloop_end): Likewise.
        * config/rs6000/rs6000.md (doloop_end): Likewise.
        * config/s390/s390.md (doloop_end): Likewise.
        * config/sh/sh.md (doloop_end): Likewise.
        * config/spu/spu.md (doloop_end): Likewise.
        * config/tilegx/tilegx.md (doloop_end): Likewise.
        * config/tilepro/tilepro.md (doloop_end): Likewise.
        * doc/md.texi (doloop_end): Document new operand.
        * basic-block.h (contains_no_active_insn_p): Declare.
        * cfgrtl.c (contains_no_active_insn_p): New function, factored
        out of ...
        (forwarder_block_p): ... here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192505 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Tue, 16 Oct 2012 15:38:58 +0000 (15:38 +0000)]
2012-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/53063
PR c/40989
* doc/options.texi (EnabledBy): Document new form.
* optc-gen.awk: Handle new form of EnabledBy.
* common.opt (Wunused-but-set-parameter): Use EnabledBy.
(Wunused-parameter): Likewise.
* opts.c (finish_options): Do not handle them explicitly.
* opt-functions.awk (search_var_name): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192503 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Tue, 16 Oct 2012 15:31:46 +0000 (15:31 +0000)]
2012-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/53063
PR c/40989
gcc/
* optc-gen.awk: Handle new form of LangEnabledBy.
* opts.c (set_Wstrict_aliasing): Declare here. Make static.
* common.opt (Wstrict-aliasing=,Wstrict-overflow=): Do not use Init.
* doc/options.texi (LangEnabledBy): Document new form.
* flags.h (set_Wstrict_aliasing): Do not declare.
c-family/
* c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
* c-opts.c (c_common_handle_option): Do not set them here. Add
comment.
(c_common_post_options): Likewise.
testsuite/
* gcc.dg/Wstrict-overflow-24.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192502 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * reload.c (find_reloads_subreg_address): Remove FORCE_REPLACE
uweigand [Tue, 16 Oct 2012 13:26:31 +0000 (13:26 +0000)]
* reload.c (find_reloads_subreg_address): Remove FORCE_REPLACE
parameter.  Always replace normal subreg with memory reference
whenever possible.  Return NULL otherwise.
(find_reloads_toplev): Always call find_reloads_subreg_address
for subregs of registers equivalent to a memory location.
Only recurse further if find_reloads_subreg_address fails.
(find_reloads_address_1): Only call find_reloads_subreg_address
for subregs of registers equivalent to a memory location.
Properly handle failure of find_reloads_subreg_address.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192499 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-16 Tobias Burnus <burnus@net-b.de>
burnus [Tue, 16 Oct 2012 13:02:02 +0000 (13:02 +0000)]
2012-10-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50981
        PR fortran/54618
        * trans.h (gfc_conv_derived_to_class, gfc_conv_class_to_class):
        Update prototype.
        * trans-stmt.c (trans_associate_var,gfc_trans_allocate): Update
        calls to those functions.
        * trans-expr.c (gfc_conv_derived_to_class,
        * gfc_conv_class_to_class,
        gfc_conv_expr_present): Handle absent polymorphic arguments.
        (class_scalar_coarray_to_class): New function.
        (gfc_conv_procedure_call): Update calls.

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

        PR fortran/50981
        PR fortran/54618
        * gfortran.dg/class_optional_1.f90: New.
        * gfortran.dg/class_optional_2.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192495 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR debug/54796
jakub [Tue, 16 Oct 2012 11:21:20 +0000 (11:21 +0000)]
PR debug/54796
* rtl.h: Document jump flag on VALUE.
* cselib.h (cselib_set_value_sp_based,
cselib_sp_based_value_p): New prototypes.
* alias.c (find_base_term): For cselib_sp_based_value_p
return static_reg_base_value[STACK_POINTER_REGNUM].
* cselib.c (SP_BASED_VALUE_P): Define.
(cselib_set_value_sp_based, cselib_sp_based_value_p): New functions.
* var-tracking.c (add_stores): Call cselib_set_value_sp_based
for not yet preserved VALUEs of sp on sp assignments if
hard_frame_pointer_adjustment != -1.
(vt_initialize): When setting hard_frame_pointer_adjustment,
disassociate sp from its previous value and call
cselib_set_value_sp_based on a new VALUE created for sp.

* gcc.dg/guality/pr54796.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192494 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR tree-optimization/54889
jakub [Tue, 16 Oct 2012 11:19:37 +0000 (11:19 +0000)]
PR tree-optimization/54889
* tree-vect-stmts.c (vectorizable_load): Add VIEW_CONVERT_EXPR if
ARRAY_REF newref doesn't have compatible type with vectype element
type, use vectype element type for MEM_REF.

* gfortran.dg/pr54889.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192493 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * combine.c (record_dead_and_set_regs): Iterate over hard register set
steven [Tue, 16 Oct 2012 07:46:11 +0000 (07:46 +0000)]
* combine.c (record_dead_and_set_regs): Iterate over hard register set
with a hard_reg_set_iterator.
* cse.c (invalidate_for_call): Likewise.
* gcse.c (compute_hash_table_work): Likewise.
* loop-iv.c (simplify_using_initial_values): Likewise.
* postreload-gcse.c (record_opr_changes): Likewise.
* regcprop.c (copyprop_hardreg_forward_1): Likewise.
* var-tracking.c (dataflow_set_clear_at_call): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192490 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
ebotcazou [Tue, 16 Oct 2012 07:13:37 +0000 (07:13 +0000)]
* c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
(dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
Remove POINTER_TYPE handling, add large unsigned handling and use
ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192489 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-15 Easwaran Raman <eraman@google.com>
eraman [Tue, 16 Oct 2012 05:28:08 +0000 (05:28 +0000)]
2012-10-15   Easwaran Raman  <eraman@google.com>

        * optabs.c (emit_cmp_and_jump_insn_1): Add a new parameter to
        specificy the probability of taking the jump.
        (emit_cmp_and_jump_insns): Likewise.
        (expand_compare_and_swap_loop): Make the jump predicted not taken.
        * dojump.c (do_compare_rtx_and_jump): Remove the code attaching
        REG_BR_PROB note and pass probability to emit_cmp_and_jump_insns.
        * cfgbuild.c (compute_outgoing_frequencies): Do not guess outgoing
        probabilities for branches with more than two successors.
        * expr.c (emit_block_move_via_loop): Predict the loop backedge loop
        to be highly taken.
        (try_casesi): Pass the probability of jumping to the default label.
        (try_tablejump): Likewise.
        (do_tablejump): Likewise.
        * expr.h (try_tablejump): Add a new parameter.
        (try_casesi): Likewise.
        (emit_cmp_and_jump_insns): Add probability as default parameter with a
        default value of -1.
        * except.c (sjlj_emit_function_enter): Pass probability to
        emit_cmp_and_jump_insns.
        * stmt.c (case_node): Add new fields PROB and SUBTREE_PROB.
        (do_jump_if_equal): Pass probability for REG_BR_PROB note.
        (add_case_node): Pass estimated probability of jumping to the case
        label.
        (emit_case_decision_tree): Pass default_prob to emit_case_nodes.
        (get_outgoing_edge_probs): New function.
        (conditional_probability): Likewise.
        (reset_out_edges_aux): Likewise.
        (compute_cases_per_edge): Likewise.
        (emit_case_dispatch_table): Update probabilities of edges coming out
        of the switch statement.
        (expand_case): Compute and propagate default edge probability to
        emit_case_dispatch_table.
        (expand_sjlj_dispatch_table): Update calls to add_case_node and
        emit_case_dispatch_table.
        (balance_case_nodes): Update subtree_prob values.
        (emit_case_nodes): Compute edge probabilities and add pass them to
        emit_cmp_and_jump_insns.

testsuite/ChangeLog:
2012-10-15   Easwaran Raman  <eraman@google.com>
        * gcc.dg/tree-prof/switch-case-1.c: New test case.
        * gcc.dg/tree-prof/switch-case-2.c: New test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192488 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Tue, 16 Oct 2012 00:18:27 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192486 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * gcc.dg/torture/stackalign/builtin-apply-2.c,
hp [Mon, 15 Oct 2012 22:38:37 +0000 (22:38 +0000)]
* gcc.dg/torture/stackalign/builtin-apply-2.c,
gcc.dg/builtin-apply2.c: Correct STACK_ARGUMENTS_SIZE for MMIX.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192483 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/54925
olegendo [Mon, 15 Oct 2012 22:15:18 +0000 (22:15 +0000)]
PR target/54925
* gcc.c-torture/compile/pr54925.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192482 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/51244
olegendo [Mon, 15 Oct 2012 22:08:07 +0000 (22:08 +0000)]
PR target/51244
* config/sh/sh-protos.h (set_of_reg): New struct.
(sh_find_set_of_reg, sh_is_logical_t_store_expr,
sh_try_omit_signzero_extend):  Declare...
* config/sh/sh.c (sh_find_set_of_reg, sh_is_logical_t_store_expr,
sh_try_omit_signzero_extend): ...these new functions.
* config/sh/sh.md (*logical_op_t): New insn_and_split.
(*zero_extend<mode>si2_compact): Use sh_try_omit_signzero_extend
in splitter.
(*extend<mode>si2_compact_reg): Convert to insn_and_split.
Use sh_try_omit_signzero_extend in splitter.
(*mov<mode>_reg_reg): Disallow t_reg_operand as operand 1.
(*cbranch_t): Rewrite combine part in splitter using new
sh_find_set_of_reg function.

PR target/51244
* gcc.target/sh/pr51244-17.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192481 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/54760
olegendo [Mon, 15 Oct 2012 22:04:37 +0000 (22:04 +0000)]
PR target/54760
* config/sh/sh.c (sh_find_base_reg_disp): Stop searching insns when
hitting a call insn if GBR is marked as call used.
* config/sh/iterators.md (QIHISIDI): New mode iterator.
* config/sh/predicates.md (gbr_address_mem): New predicate.
* config/sh/sh.md (*movdi_gbr_load, *movdi_gbr_store): New
insn_and_split.
Use QIHISIDI instead of QIHISI in unnamed GBR addressing splits.

PR target/54760
* gcc.target/sh/pr54760-2.c: Add long long and unsigned long long test
functions.
* gcc.target/sh/pr54760-4.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192480 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/sh/sh.c: Update function attribute comments.
olegendo [Mon, 15 Oct 2012 22:01:26 +0000 (22:01 +0000)]
* config/sh/sh.c: Update function attribute comments.
* doc/extend.texi (function_vector): Rephrase SH2A specific part.
(nosave_low_regs, renesas, trapa_handler): Document SH specific
attributes.
(sp_switch, trap_exit): Add to index.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192479 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/34777
olegendo [Mon, 15 Oct 2012 21:59:21 +0000 (21:59 +0000)]
PR target/34777
* gcc.target/sh/torture/sh-torture.exp: New.
* gcc.target/sh/torture/pr34777.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192478 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
doko [Mon, 15 Oct 2012 21:12:23 +0000 (21:12 +0000)]
gcc/
2012-10-15  Matthias Klose  <doko@ubuntu.com>

        * config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
        * doc/install.texi: Use arm-*-*linux-* instead of arm-*-*linux-gnueabi.

gcc/testsuite/
2012-10-15  Matthias Klose  <doko@ubuntu.com>

        * lib/target-supports.exp (check_profiling_available): Match
        arm*-*-linux-* for ARM Linux/GNU.
        * g++.dg/torture/predcom-1.C: Match arm*-*-linux-* for ARM Linux/GNU.
        * gfortran.dg/enum_10.f90: Likewise.
        * gfortran.dg/enum_9.f90: Likewise.
        * gcc.target/arm/synchronize.c: Likewise.
        * g++.old-deja/g++.jason/enum6.C: Likewise.
        * g++.old-deja/g++.other/enum4.C: Likewise.
        * g++.old-deja/g++.law/enum9.C: Likewise.

gcc/ada/
2012-10-15  Matthias Klose  <doko@ubuntu.com>

        * gcc-interface/Makefile.in: Match arm*-*-linux-*eabi* for
        ARM Linux/GNU.

libgcc/
2012-10-15  Matthias Klose  <doko@ubuntu.com>

        * config.host: Match arm*-*-linux-* for ARM Linux/GNU.

libstdc++-v3/
2012-10-15  Matthias Klose  <doko@ubuntu.com>

        * configure.host: Match arm*-*-linux-* for ARM Linux/GNU.
        * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
        * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.

libjava/
2012-10-15  Matthias Klose  <doko@ubuntu.com>

        * configure.ac: Match arm*-*-linux-* for ARM Linux/GNU.
        * configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192475 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-15 Tobias Burnus <burnus@net-b.de>
burnus [Mon, 15 Oct 2012 20:08:57 +0000 (20:08 +0000)]
2012-10-15  Tobias Burnus  <burnus@net-b.de>

        * files.c (read_file_guts, _cpp_save_file_entries): Free memory
        before returning.
        * lex.c (warn_about_normalization): Ditto.
        * mkdeps.c (deps_save): Ditto.
        * pch.c (cpp_valid_state): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192474 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/testsuite/
rsandifo [Mon, 15 Oct 2012 19:58:03 +0000 (19:58 +0000)]
gcc/testsuite/
* g++.dg/tls/thread_local-cse.C: Move dg-do line.
* g++.dg/tls/thread_local-wrap4.C: Require fpic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192473 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-15 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 15 Oct 2012 19:18:15 +0000 (19:18 +0000)]
2012-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

* Fix typo in ChangeLog entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192472 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago/cp
paolo [Mon, 15 Oct 2012 19:15:48 +0000 (19:15 +0000)]
/cp
2012-10-15  Alexandre Oliva  <aoliva@redhat.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/17805
* call.c (build_new_op): Filter out operator functions that don't
satisfy enum-conversion match requirements.

/testsuite
2012-10-15  Alexandre Oliva  <aoliva@redhat.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/17805
* g++.dg/overload/operator6.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192471 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago/cp
paolo [Mon, 15 Oct 2012 19:13:41 +0000 (19:13 +0000)]
/cp
2012-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50080 (again)
* parser.c (cp_parser_optional_template_keyword): When -pedantic
and C++98 mode restore pre-Core/468 behavior.

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

PR c++/50080 (again)
* g++.dg/parse/tmpl-outside2.C: Tweak, error in C++98.
* g++.dg/parse/tmpl-outside1.C: Likewise.
* g++.dg/template/qualttp18.C: Likewise.
* g++.old-deja/g++.pt/memtemp87.C: Likewise.
* g++.old-deja/g++.pt/overload13.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192470 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * testsuite/ChangeLog: Missing from my previous commit.
uros [Mon, 15 Oct 2012 19:10:52 +0000 (19:10 +0000)]
* testsuite/ChangeLog: Missing from my previous commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192469 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/i386/sse.md (UNSPEC_MOVU): Remove.
uros [Mon, 15 Oct 2012 18:42:03 +0000 (18:42 +0000)]
* config/i386/sse.md (UNSPEC_MOVU): Remove.
(UNSPEC_LOADU): New.
(UNSPEC_STOREU): Ditto.
(<sse>_movu<ssemodesuffix><avxsizesuffix>): Split to ...
(<sse>_loadu<ssemodesuffix><avxsizesuffix>): ... this and ...
(<sse>_storeu<ssemodesuffix><avxsizesuffix>) ... this.
(<sse2>_movdqu<avxsizesuffix>): Split to ...
(<sse2>_loaddqu<avxsizesuffix>): ... this and ...
(<sse2>_storedqu<avxsizesuffix>): ... this.
(*sse4_2_pcmpestr_unaligned): Update.
(*sse4_2_pcmpistr_unaligned): Ditto.

* config/i386/i386.c (ix86_avx256_split_vector_move_misalign): Use
gen_avx_load{dqu,ups,upd}256 to load from unaligned memory and
gen_avx_store{dqu,ups,upd}256 to store to unaligned memory.
(ix86_expand_vector_move_misalign): Use gen_sse_loadups or
gen_sse2_load{dqu,upd} to load from unaligned memory and
gen_sse_loadups or gen_sse2_store{dqu,upd}256 to store to
unaligned memory.
(struct builtin_description bdesc_spec) <IX86_BUILTIN_LOADUPS>:
Use CODE_FOR_sse_loadups.
<IX86_BUILTIN_LOADUPD>: Use CODE_FOR_sse2_loadupd.
<IX86_BUILTIN_LOADDQU>: Use CODE_FOR_sse2_loaddqu.
<IX86_BUILTIN_STOREUPS>: Use CODE_FOR_sse_storeups.
<IX86_BUILTIN_STOREUPD>: Use CODE_FOR_sse2_storeupd.
<IX86_BUILTIN_STOREDQU>: Use CODE_FOR_sse2_storedqu.
<IX86_BUILTIN_LOADUPS256>: Use CODE_FOR_avx_loadups256.
<IX86_BUILTIN_LOADUPD256>: Use CODE_FOR_avx_loadupd256.
<IX86_BUILTIN_LOADDQU256>: Use CODE_FOR_avx_loaddqu256.
<IX86_BUILTIN_STOREUPS256>: Use CODE_FOR_avx_storeups256.
<IX86_BUILTIN_STOREUPD256>: Use CODE_FOR_avx_storeupd256.
<IX86_BUILTIN_STOREDQU256>: Use CODE_FOR_avx_storedqu256.

testsuite/ChangeLog:

* gcc.target/i386/avx256-unaligned-load-1.c: Update asm scan patterns.
* gcc.target/i386/avx256-unaligned-load-2.c: Ditto.
* gcc.target/i386/avx256-unaligned-load-3.c: Ditto.
* gcc.target/i386/avx256-unaligned-load-4.c: Ditto.
* gcc.target/i386/avx256-unaligned-store-1.c: Ditto.
* gcc.target/i386/avx256-unaligned-store-2.c: Ditto.
* gcc.target/i386/avx256-unaligned-store-3.c: Ditto.
* gcc.target/i386/avx256-unaligned-store-4.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192468 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago/cp
paolo [Mon, 15 Oct 2012 16:47:52 +0000 (16:47 +0000)]
/cp
2012-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50080
* parser.c (cp_parser_optional_template_keyword): Implement
Core/468, allow outside template.

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

PR c++/50080
* g++.dg/parse/tmpl-outside2.C: New.
* g++.dg/parse/tmpl-outside1.C: Adjust.
* g++.dg/template/qualttp18.C: Likewise.
* g++.old-deja/g++.pt/memtemp87.C: Likewise.
* g++.old-deja/g++.pt/overload13.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192465 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoCleanup comments in alias.c
dodji [Mon, 15 Oct 2012 16:06:42 +0000 (16:06 +0000)]
Cleanup comments in alias.c

While reading alias.c, it seemed to me that some comments could use
some cleanups.

gcc/

* alias.c: Cleanup comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192463 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-15 Marc Glisse <marc.glisse@inria.fr>
glisse [Mon, 15 Oct 2012 14:38:04 +0000 (14:38 +0000)]
2012-10-15  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/54915

gcc/
* tree-ssa-forwprop.c (simplify_vector_constructor): Check
argument's type.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192461 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-15 Richard Biener <rguenther@suse.de>
rguenth [Mon, 15 Oct 2012 14:22:37 +0000 (14:22 +0000)]
2012-10-15  Richard Biener  <rguenther@suse.de>

* data-streamer.h (bp_pack_string_with_length): New function.
(bp_pack_string): Likewise.
(bp_unpack_indexed_string): Likewise.
(bp_unpack_string): Likewise.
* data-streamer-out.c (bp_pack_string_with_length): Likewise.
(bp_pack_string): Likewise.
* data-streamer-in.c (bp_unpack_indexed_string): Likewise.
(bp_unpack_string): Likewise.
* tree-streamer-out.c (pack_ts_translation_unit_decl_value_fields):
Pack TRANSLATION_UNIT_LANGUAGE here, not ...
(write_ts_translation_unit_decl_tree_pointers): ... here.  Remove.
(streamer_pack_tree_bitfields): Adjust.
(streamer_write_tree_body): Likewise.
* tree-streamer-in.c (unpack_ts_translation_unit_decl_value_fields):
Unpack TRANSLATION_UNIT_LANGUAGE here, not ...
(lto_input_ts_translation_unit_decl_tree_pointers): ... here.  Remove.
(unpack_value_fields): Adjust.
(streamer_read_tree_body): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192460 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/gthr.m4: New. Define GCC_AC_THREAD_HEADER.
kyukhin [Mon, 15 Oct 2012 13:10:30 +0000 (13:10 +0000)]
    * config/gthr.m4: New. Define GCC_AC_THREAD_HEADER.
    * libgcc/configure: Regenerate.
    * libgcc/configure.ac: Replace code with GCC_AC_THREAD_HEADER use.
    * libstdc++-v3/Makefile.in: Regenerate.
    * libstdc++-v3/acinclude.m4: Replace code with GCC_AC_THREAD_HEADER use.
    * libstdc++-v3/configure: Regenerate.
    * libstdc++-v3/doc/Makefile.in: Regenerate.
    * libstdc++-v3/include/Makefile.am: Regenerate.
    * libstdc++-v3/include/Makefile.in: Rename variable.
    * libstdc++-v3/libsupc++/Makefile.in: Regenerate.
    * libstdc++-v3/po/Makefile.in: Regenerate.
    * libstdc++-v3/python/Makefile.in: Regenerate.
    * libstdc++-v3/src/Makefile.in: Regenerate.
    * libstdc++-v3/src/c++11/Makefile.in: Regenerate.
    * libstdc++-v3/src/c++98/Makefile.in: Regenerate.
    * libstdc++-v3/testsuite/Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192458 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * genoutput.c (process_template): Process '*' in '@' alternatives.
amylaar [Mon, 15 Oct 2012 12:44:40 +0000 (12:44 +0000)]
* genoutput.c (process_template): Process '*' in '@' alternatives.
* doc/md.texi (node Output Statement): Provide example for the above.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192457 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoUpdate Copyright years.
amylaar [Mon, 15 Oct 2012 12:38:56 +0000 (12:38 +0000)]
Update Copyright years.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192456 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-15 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 15 Oct 2012 11:22:49 +0000 (11:22 +0000)]
2012-10-15  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/54920
* tree-ssa-pre.c (create_expression_by_pieces): Properly
allocate temporary storage for all NARY elements.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192454 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * web.c (union_match_dups): Properly handle OP_INOUT match_dups.
amylaar [Mon, 15 Oct 2012 11:20:02 +0000 (11:20 +0000)]
* web.c (union_match_dups): Properly handle OP_INOUT match_dups.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192453 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Do not unnecessarily
ebotcazou [Mon, 15 Oct 2012 10:48:17 +0000 (10:48 +0000)]
* expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Do not unnecessarily
copy the object in the MEM_P case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192452 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-15 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 15 Oct 2012 10:39:59 +0000 (10:39 +0000)]
2012-10-15  Richard Guenther  <rguenther@suse.de>

* tree-streamer-out.c (streamer_pack_tree_bitfields): Back
BINFO_BASE_ACCESSES and CONSTRUCTOR lengths here.
(streamer_write_chain): Write TREE_CHAIN as null-terminated list.
(write_ts_exp_tree_pointers): Adjust.
(write_ts_binfo_tree_pointers): Likewise.
(write_ts_constructor_tree_pointers): Likewise.
* tree-streamer-in.c (streamer_read_chain): Read TREE_CHAIN as
null-terminated list.
(unpack_value_fields): Unpack BINFO_BASE_ACCESSES and
CONSTRUCTOR lengths and materialize the arrays.
(lto_input_ts_exp_tree_pointers): Adjust.
(lto_input_ts_binfo_tree_pointers): Likewise.
(lto_input_ts_constructor_tree_pointers): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192451 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/54908
jason [Mon, 15 Oct 2012 07:32:13 +0000 (07:32 +0000)]
PR target/54908
* libsupc++/atexit_thread.cc: Rewrite to keep the cleanup list
with get/setspecific.  Destroy the key on dlclose.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192449 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago Implement C++11 inheriting constructors.
jason [Mon, 15 Oct 2012 07:32:03 +0000 (07:32 +0000)]
Implement C++11 inheriting constructors.
* cp-tree.h (cpp0x_warn_str): Add CPP0X_INHERITING_CTORS.
(DECL_INHERITED_CTOR_BASE, SET_DECL_INHERITED_CTOR_BASE): New.
(special_function_kind): Add sfk_inheriting_constructor.
* class.c (add_method): An inheriting ctor is hidden by a
user-declared one.
(one_inheriting_sig, one_inherited_ctor): New.
(add_implicitly_declared_members): Handle inheriting ctors.
* error.c (maybe_warn_cpp0x): Handle CPP0X_INHERITING_CTORS.
* init.c (emit_mem_initializers): Don't set LOOKUP_DEFAULTED
for an inheriting constructor.
* method.c (type_has_trivial_fn): Handle sfk_inheriting_constructor.
(type_set_nontrivial_flag): Likewise.
(add_one_base_init): Split out from...
(do_build_copy_constructor): ...here.  Handle inheriting constructors.
(locate_fn_flags): Handle a list of arg types.
(synthesized_method_walk): Handle inheriting constructors.
(maybe_explain_implicit_delete): Likewise.
(deduce_inheriting_ctor): New.
(implicitly_declare_fn): Handle inheriting constructors.
* name-lookup.c (push_class_level_binding_1): An inheriting constructor
does not declare the base's name.
(do_class_using_decl): Allow inheriting constructors.
* pt.c (template_parms_to_args): Split from current_template_args.
(add_inherited_template_parms): New.
(tsubst_decl): Handle inheriting constructors.
* tree.c (special_function_p): Handle inheriting constructors.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192448 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Mon, 15 Oct 2012 00:18:17 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192445 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/mmix/mmix.c (mmix_opposite_regno): Handle the
hp [Sun, 14 Oct 2012 20:59:12 +0000 (20:59 +0000)]
* config/mmix/mmix.c (mmix_opposite_regno): Handle the
return-value register too.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192441 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR rtl-optimization/38711
steven [Sun, 14 Oct 2012 19:30:59 +0000 (19:30 +0000)]
PR rtl-optimization/38711
* df.h (df_get_live_out, df_get_live_in): Make static inline functions.
* df-problems.c (df_get_live_out, df_get_live_in): Moved to df.h.
* ira-lives.c (process_bb_node_lives): Use df_get_live_out instead of
DF_LR_OUT.
* ira-build.c (create_bb_allocnos): Likewise.
(create_loop_allocnos): Likewise, and use df_get_live_in instead of
DF_LR_IN.
* ira-emit.c (generate_edge_moves): Likewise.
(add_ranges_and_copies): Likewise.
* ira-color.c (ira_loop_edge_freq): Use df_get_live_out instead of
DF_LR_OUT, and df_get_live_in instead of DF_LR_IN.
* ira.c (mark_elimination): Update DF_LR and DF_LIVE.
(build_insn_chain): Use df_get_live_out instead of DF_LR_OUT.
(do_reload): Remove the DF_LIVE problem for -O1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192440 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
steven [Sun, 14 Oct 2012 19:29:18 +0000 (19:29 +0000)]
gcc/
PR rtl-optimization/54919
* loop-unroll.c (struct var_to_expand): Remove accum_pos field.
(analyze_insn_to_expand_var): Do not record accum_pos.
(expand_var_during_unrolling): Use validate_replace_rtx_group to
perform replacement of all references to SET_DEST (set) with the
new register, including references in REG_EQUAL notes.
(insert_var_expansion_initialization): Insert initializatio insns
at the bottom of the pre-header of the loop.

testsuite/
PR rtl-optimization/54919
* gcc.dg/pr54919.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192439 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-14 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sun, 14 Oct 2012 18:24:32 +0000 (18:24 +0000)]
2012-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53581
* g++.dg/template/crash113.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192438 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not
hubicka [Sun, 14 Oct 2012 16:25:49 +0000 (16:25 +0000)]
* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not
predict loops with multiple exits realistically.
* cfgloopanal.c (single_likely_exit): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192434 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not
hubicka [Sun, 14 Oct 2012 16:18:26 +0000 (16:18 +0000)]
* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not
predict loops with multiple exits realistically.
* cfgloopanal.c (single_likely_exit): New function.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192433 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-14 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sun, 14 Oct 2012 13:40:55 +0000 (13:40 +0000)]
2012-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52643
* g++.dg/opt/pr52643.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192432 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/alpha/alpha.md: Remove empty predicates and/or constraints.
uros [Sun, 14 Oct 2012 12:50:45 +0000 (12:50 +0000)]
* config/alpha/alpha.md: Remove empty predicates and/or constraints.
* config/alpha/sync.md: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192431 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Sun, 14 Oct 2012 00:18:17 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192430 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/alpha/alpha.md (I24MODE): New mode iterator.
uros [Sat, 13 Oct 2012 21:39:29 +0000 (21:39 +0000)]
* config/alpha/alpha.md (I24MODE): New mode iterator.
(any_divmod): New code iterator.
(<code>si3): Macroize expander from {div,mod,udiv,umod}si3 using
any_divmod code iterator.
(<code>si3): Macroize expander from {div,mod,udiv,umod}di3 using
any_divmod code iterator.
(extendqi<mode>2): Macroize insn from extendqi{hi,si}2 using
I24MODE mode iterator.
(unaligned_store<mode>): Macroize expander from unaligned_store{qi,hi}
using I12MODE mode iterator.
(mov<mode>): Macroize expander from mov{qi,hi} using
I12MODE mode iterator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192427 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR rtl-optimization/54871
ebotcazou [Sat, 13 Oct 2012 20:22:07 +0000 (20:22 +0000)]
PR rtl-optimization/54871
* loop-iv.c (simplify_using_initial_values): When scanning previous
basic blocks, prune the recorded conditions if the current insn was
not used to make a replacement.

* loop-unroll.c (decide_unroll_constant_iterations): Clean up message.
(unroll_loop_constant_iterations): Clarify head comment.
(decide_unroll_runtime_iterations): Clean up message.
(unroll_loop_runtime_iterations): Clarify head comment.
(decide_peel_simple): Clean up message.
(peel_loop_simple): Clarify head comment.
(decide_unroll_stupid): Clean up message.
(unroll_loop_stupid): Clarify head comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192426 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoPR gcov-profile/44728
schwab [Sat, 13 Oct 2012 18:41:08 +0000 (18:41 +0000)]
PR gcov-profile/44728
* gcov.c (create_file_names): When stripping extension only look
at base name.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192425 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * loop-iv.c (determine_max_iter): Fix handling of AND.
hubicka [Sat, 13 Oct 2012 16:50:03 +0000 (16:50 +0000)]
* loop-iv.c (determine_max_iter): Fix handling of AND.
(iv_number_of_iterations): Record upper bounds as unsigned
values.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192424 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * ira.c (ira): Set current_loops to &ira_loops before recording
steven [Sat, 13 Oct 2012 13:21:34 +0000 (13:21 +0000)]
* ira.c (ira): Set current_loops to &ira_loops before recording
loop exits.  Release recorded exits and loops early.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192423 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-13 Chung-Lin Tang <cltang@codesourcery.com>
cltang [Sat, 13 Oct 2012 09:28:26 +0000 (09:28 +0000)]
2012-10-13  Chung-Lin Tang  <cltang@codesourcery.com>

* builtins.c (expand_builtin_set_thread_pointer): Use
create_input_operand() instead of create_fixed_operand().

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192422 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/alpha/alpha.md (FMODE): New mode iterator.
uros [Sat, 13 Oct 2012 08:36:21 +0000 (08:36 +0000)]
* config/alpha/alpha.md (FMODE): New mode iterator.
(modesuffix): Handle SF and DF modes.
(opmode): New mode attribute.
(abs<mode>2): Macroize insn from abs{sf,df}2 using FMODE mode iterator.
(*nabs<mode>2): Macroize insn from *nabs{sf,df}2 using
FMODE mode iterator.
(neg<mode>2): Macroize insn from neg{sf,df}2 using FMODE mode iterator.
(copysign<mode>3): Macroize insn from copysign{sf,df}3 using
FMODE mode iterator.
(*ncopysign<mode>3): Macroize insn from *ncopysign{sf,df}3 using
FMODE mode iterator.
(*add<mode>3_ieee): Macroize insn from *add{sf,df}_ieee using
FMODE mode iterator.
(add<mode>3): Macroize insn from add{sf,df}3 using FMODE mode iterator.
(*sub<mode>3_ieee): Macroize insn from *sub{sf,df}3_ieee using
FMODE mode iterator.
(sub<mode>3): Macroize insn from sub{sf,df}3 using FMODE mode iterator.
(*mul<mode>3_ieee): Macroize insn from *mul{sf,df}3_ieee using
FMODE mode iterator.
(mul<mode>3): Macroize insn from mul{sf,df}3 using FMODE mode iterator.
(*div<mode>3_ieee): Macroize insn from *div{sf,df}3_ieee using
FMODE mode iterator.
(div<mode>3): Macroize insn from div{sf,df}3 using FMODE mode iterator.
(*sqrt<mode>2_ieee): Macroize insn from *sqrt{sf,df}2_ieee using
FMODE mode iterator.
(sqrt<mode>2): Macroize insn from sqrt{sf,df}2
using FMODE mode iterator.
(*mov<mode>cc_internal): Macroize insn from *mov{sf,df}cc_internal
using FMODE mode iterator.
(mov<mode>cc): Macroize expander from mov{sf,df}cc
using FMODE mode iterator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192421 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Sat, 13 Oct 2012 00:18:42 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192420 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/54602
olegendo [Fri, 12 Oct 2012 23:22:48 +0000 (23:22 +0000)]
PR target/54602
* config/sh/sh.md: Correct define_delay for return insns.
(*movsi_pop): Delete.

PR target/54602
* gcc.target/sh/pr54602-1.c: New.
* gcc.target/sh/pr54602-2.c: New.
* gcc.target/sh/pr54602-3.c: New.
* gcc.target/sh/pr54602-4.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192417 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/54680
olegendo [Fri, 12 Oct 2012 23:19:27 +0000 (23:19 +0000)]
PR target/54680
* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_int2sf): Fix swapped
comments.
* config/sh/predicates.md (fpul_operand): Add comment.
(fpul_fsca_operand, fsca_scale_factor): New predicates.
* config/sh/sh.md (fsca): Move below sincossf3 expander.  Convert to
insn_and_split.  Use fpul_fsca_operand and fsca_scale_factor predicates.
Simplify fpul operand in splitter.

PR target/54680
* gcc.target/sh/pr54680.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192416 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * tree-ssa-threadupdate.c (def_split_header_continue_p): Do not
hubicka [Fri, 12 Oct 2012 20:38:19 +0000 (20:38 +0000)]
* tree-ssa-threadupdate.c (def_split_header_continue_p): Do not
escape the loop.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192414 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * web.c (web_main): Do not set DF_RD_PRUNE_DEAD_DEFS flag.
hubicka [Fri, 12 Oct 2012 20:36:09 +0000 (20:36 +0000)]
* web.c (web_main): Do not set DF_RD_PRUNE_DEAD_DEFS flag.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192413 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * gcc.dg/vect/pr48765.c: Skip for conflicting options, don't
janis [Fri, 12 Oct 2012 19:45:25 +0000 (19:45 +0000)]
* gcc.dg/vect/pr48765.c: Skip for conflicting options, don't
specify -m64.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192412 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * gcc.target/arm/div64-unwinding.c: Skip, don't xfail, for
janis [Fri, 12 Oct 2012 19:36:45 +0000 (19:36 +0000)]
* gcc.target/arm/div64-unwinding.c: Skip, don't xfail, for
GNU/Linux.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192410 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * lib/target-supports.exp (check_effective_target_arm_hard_vfp_ok):
janis [Fri, 12 Oct 2012 19:33:28 +0000 (19:33 +0000)]
* lib/target-supports.exp (check_effective_target_arm_hard_vfp_ok):
Return 0 if already specifying -mfloat-abi other than hard.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192409 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-12 Joe Seymour <jseymour@codesourcery.com>
janis [Fri, 12 Oct 2012 18:40:54 +0000 (18:40 +0000)]
2012-10-12  Joe Seymour  <jseymour@codesourcery.com>

* gcc.dg/pr53060.c: Prune irrelevant warning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192407 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c/54381
jakub [Fri, 12 Oct 2012 18:23:03 +0000 (18:23 +0000)]
PR c/54381
* c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
* c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
locs and array of 3 trees instead of just single loc and single
sizeof_arg tree.  Handle __builtin___*_chk builtins too, and
also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
For *cmp* builtins that take two sources strings report warnings
about first and second source, not about destination and source.

* c-parser.c (struct c_tree_loc_pair): Removed.
(c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
add location_t * and tree * arguments, fill in array of 3
sizeof_arg trees and corresponding locs.
(c_parser_attributes, c_parser_objc_keywordexpr): Adjust
c_parser_expr_list callers.
(c_parser_postfix_expression_after_primary): Likewise.  Pass
array of 3 sizeof_arg trees and locs (corresponding to first
3 arguments) to sizeof_pointer_memaccess_warning.

* semantics.c (finish_call_expr): Pass array of 3 sizeof_arg
trees and locs (corresponding to first 3 arguments) to
sizeof_pointer_memaccess_warning.

* c-c++-common/Wsizeof-pointer-memaccess1.c: New test.
* c-c++-common/Wsizeof-pointer-memaccess2.c: New test.
* gcc.dg/Wsizeof-pointer-memaccess1.c: New test.
* gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Test also stpncpy.
Adjust expected wording of warnings for *cmp* builtins.
* g++.dg/torture/Wsizeof-pointer-memaccess1.C: Likewise.
* g++.dg/torture/Wsizeof-pointer-memaccess2.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192406 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoAdd more C++ support in gengtype.
dnovillo [Fri, 12 Oct 2012 15:17:17 +0000 (15:17 +0000)]
Add more C++ support in gengtype.

This patch combines the changes from
http://gcc.gnu.org/ml/gcc-patches/2012-08/msg02016.html with other
additions to support C++ inside GTY'd structures.

The main changes wrt Aaron's original patch are:

- Support for function declarations inside classes.

- Support scoping in identifiers.  This does not mean that gengtype
  supports scopes, it just knows that 'Foo::id' is a single entity.

- Explicit non-support for typedef and enum inside class/struct.
  Since gengtype does not really know about scopes, it cannot
  understand these types, but it knows enough to recognize and reject
  them.  GTY'd struct/class that need to typedef their own types
  should use GTY((user)).

- Documentation on what is and is not supported.

There is one check I needed to remove that gave me some trouble.
When a ctor is detected, we have already parsed the name of the
ctor as a type, which is then registered in the list of structures.

We go on to recognize it as a ctor *after* the type has been
registered.  We reject the field in declarator() and it is never
added to the list of fields for the class.

However, when we reach the end of the class, we find that the
type we created while parsing the ctor has line number
information in it (the line where the ctor was) and gengtype
thinks that it is a duplicate structure definition.

I took out this check for two reasons: (a) It is actually
unnecessary because if there were really duplicate definitions of
this structure, the code would not compile, and (b) all the other
alternatives required making the parser much more convoluted and
I'm trying hard not to make gengtype parser too smart.

2012-10-12  Aaron Gray <aaronngray.lists@gmail.com>
    Diego Novillo <dnovillo@google.com>

        * gengtype-lex.l: Support for C++ single line comments.
        Support for classes.
(CXX_KEYWORD): New.  Support C++ keywords inline, public,
protected, private, template, operator, friend, &, ~.
(TYPEDEF): New.  Support typedef.
        * gengtype-parser.c: updated 'token_names[]'
        (direct_declarator): Add support for parsing functions
and ctors.

2012-10-12  Diego Novillo  <dnovillo@google.com>

* doc/gty.texi: Document C++ limitations in gengtype.
* gengtype-lex.l (CID): Rename from ID.
(ID): Include scoping '::' as part of the identifier name.
* gengtype-parse.c (token_names): Update.
(token_value_format): Update.
(consume_until_eos): Rename from consume_until_semi.
Remove unused argument IMMEDIATE.  Update all callers.
Also consider '}' as a finalizer.
(consume_until_comma_or_eos): Rename from
consume_until_comma_or_semi.
Remove unused argument IMMEDIATE.  Update all callers.
Also consider '}' as a finalizer.
(direct_declarator): Add documentation on ctor support.
Add argument IN_STRUCT.
If the token following ID is a '(', consider ID a
function and return NULL.
If the token following '(' is not a '*', and IN_STRUCT is
true, conclude that this is a ctor and return NULL.
If the token is IGNORABLE_CXX_KEYWORD, return NULL.
(inner_declarator): Add argument IN_STRUCT.
Update all callers.
(declarator): Add argument IN_STRUCT with default value
false.  Update all callers.
(type): Document argument NESTED.
Skip over C++ inheritance specifiers.
If a token TYPEDEF is found, emit an error.
If an enum is found inside a class/structure, emit an
error.
(typedefs, structures, param_structs, variables): Initialize.
(new_structure): Do not complain about duplicate
structures if S has a line location set.
* gengtype-state.c (write_state_type): Remove default
handler.  Add handler for TYPE_NONE.
(read_state_scalar_char_type):
* gengtype.c: Fix spacing.
* gengtype.h (enum gty_token): Add name.  Add token
IGNORABLE_CXX_KEYWORD.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192405 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoForgot the CL entry for the Hoyt and arcsine distributions.
emsr [Fri, 12 Oct 2012 15:16:29 +0000 (15:16 +0000)]
Forgot the CL entry for the Hoyt and arcsine distributions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192404 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agodd the Hoyt and the arcsine distributions as extensions.
emsr [Fri, 12 Oct 2012 15:15:21 +0000 (15:15 +0000)]
dd the Hoyt and the arcsine distributions as extensions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192403 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago/cp
paolo [Fri, 12 Oct 2012 14:38:11 +0000 (14:38 +0000)]
/cp
2012-10-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/24449
* decl.c (grokfndecl): When checking for ::main declarations
use PROCESSING_REAL_TEMPLATE_DECL_P().

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

PR c++/24449
* g++.dg/parse/friend-main.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192402 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-10-12 Marc Glisse <marc.glisse@inria.fr>
glisse [Fri, 12 Oct 2012 14:14:37 +0000 (14:14 +0000)]
2012-10-12  Marc Glisse  <marc.glisse@inria.fr>

PR c++/53055

gcc/c-family/
* c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.

gcc/cp/
* call.c (build_new_op_1): Pass RO_ARROW_STAR to cp_build_indirect_ref.
* typeck.c (cp_build_indirect_ref): Handle RO_ARROW_STAR.

gcc/testsuite/
* g++.dg/pr53055.C: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192401 138bc75d-0d04-0410-961f-82ee72b054a4