platform/upstream/gcc.git
11 years agotree.h (host_integerp, [...]): Delete.
Richard Sandiford [Mon, 18 Nov 2013 14:52:42 +0000 (14:52 +0000)]
tree.h (host_integerp, [...]): Delete.

gcc/
* tree.h (host_integerp, tree_low_cst): Delete.
* tree.c (host_integerp, tree_low_cst): Delete.

From-SVN: r204963

11 years agocuintp.c (UI_From_gnu): Use tree_to_shwi rather than tree_low_cst.
Richard Sandiford [Mon, 18 Nov 2013 14:52:29 +0000 (14:52 +0000)]
cuintp.c (UI_From_gnu): Use tree_to_shwi rather than tree_low_cst.

gcc/ada/
* gcc-interface/cuintp.c (UI_From_gnu): Use tree_to_shwi rather than
tree_low_cst.

gcc/c-family/
* c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
tree_low_cst.
(complete_array_type): Update comment to refer to tree_to_[su]hwi
rather than tree_low_cst.

gcc/c/
* c-decl.c (grokdeclarator): Update comment to refer to
tree_to_[su]hwi rather than tree_low_cst.

gcc/cp/
* decl.c (reshape_init_array_1): Use tree_to_uhwi rather than
tree_low_cst.
(grokdeclarator): Update comment to refer to tree_to_[su]hwi rather
than tree_low_cst.

gcc/
* expr.h: Update comments to refer to tree_to_[su]hwi rather
than tree_low_cst.
* fold-const.c (fold_binary_loc): Likewise.
* expr.c (store_constructor): Use tree_to_uhwi rather than
tree_low_cst.
* ipa-utils.h (possible_polymorphic_call_target_p): Likewise.
* stmt.c (emit_case_dispatch_table): Likewise.
* tree-switch-conversion.c (emit_case_bit_tests): Likewise.

From-SVN: r204962

11 years agodecl.c, [...]: Replace tree_low_cst (..., 1) with tree_to_uhwi throughout.
Richard Sandiford [Mon, 18 Nov 2013 14:52:19 +0000 (14:52 +0000)]
decl.c, [...]: Replace tree_low_cst (..., 1) with tree_to_uhwi throughout.

gcc/ada/
* gcc-interface/decl.c, gcc-interface/utils.c, gcc-interface/utils2.c:
Replace tree_low_cst (..., 1) with tree_to_uhwi throughout.

gcc/c-family/
* c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
tree_to_uhwi throughout.

gcc/c/
* c-decl.c, c-typeck.c: Replace tree_low_cst (..., 1) with
tree_to_uhwi throughout.

gcc/cp/
* call.c, class.c, decl.c, error.c: Replace tree_low_cst (..., 1) with
tree_to_uhwi throughout.

gcc/objc/
* objc-encoding.c: Replace tree_low_cst (..., 1) with tree_to_uhwi
throughout.

gcc/
* alias.c, asan.c, builtins.c, cfgexpand.c, cgraph.c,
config/aarch64/aarch64.c, config/alpha/predicates.md,
config/arm/arm.c, config/darwin.c, config/epiphany/epiphany.c,
config/i386/i386.c, config/iq2000/iq2000.c, config/m32c/m32c-pragma.c,
config/mep/mep-pragma.c, config/mips/mips.c,
config/picochip/picochip.c, config/rs6000/rs6000.c, cppbuiltin.c,
dbxout.c, dwarf2out.c, emit-rtl.c, except.c, expr.c, fold-const.c,
function.c, gimple-fold.c, godump.c, ipa-cp.c, ipa-prop.c, omp-low.c,
predict.c, sdbout.c, stor-layout.c, trans-mem.c, tree-object-size.c,
tree-sra.c, tree-ssa-ccp.c, tree-ssa-forwprop.c,
tree-ssa-loop-ivcanon.c, tree-ssa-loop-ivopts.c, tree-ssa-loop-niter.c,
tree-ssa-loop-prefetch.c, tree-ssa-strlen.c, tree-stdarg.c,
tree-switch-conversion.c, tree-vect-generic.c, tree-vect-loop.c,
tree-vect-patterns.c, tree-vrp.c, tree.c, tsan.c, ubsan.c, varasm.c:
Replace tree_low_cst (..., 1) with tree_to_uhwi throughout.

From-SVN: r204961

11 years agoc-common.c, [...]: Replace tree_low_cst (..., 0) with tree_to_shwi throughout.
Richard Sandiford [Mon, 18 Nov 2013 14:52:03 +0000 (14:52 +0000)]
c-common.c, [...]: Replace tree_low_cst (..., 0) with tree_to_shwi throughout.

gcc/c-family/
* c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
tree_low_cst (..., 0) with tree_to_shwi throughout.

gcc/c/
* c-parser.c: Replace tree_low_cst (..., 0) with tree_to_shwi
throughout.

gcc/cp/
* class.c, dump.c, error.c, init.c, method.c, parser.c, semantics.c:
Replace tree_low_cst (..., 0) with tree_to_shwi throughout.

gcc/go/
* gofrontend/expressions.cc: Replace tree_low_cst (..., 0) with
tree_to_shwi throughout.

gcc/java/
* class.c, expr.c: Replace tree_low_cst (..., 0) with tree_to_shwi
throughout.

gcc/objc/
* objc-next-runtime-abi-02.c: Replace tree_low_cst (..., 0) with
tree_to_shwi throughout.

gcc/
* builtins.c, cilk-common.c, config/aarch64/aarch64.c,
config/alpha/alpha.c, config/arm/arm.c, config/c6x/predicates.md,
config/i386/i386.c, config/ia64/predicates.md, config/s390/s390.c,
coverage.c, dbxout.c, dwarf2out.c, except.c, explow.c, expr.c, expr.h,
fold-const.c, gimple-fold.c, godump.c, ipa-prop.c, omp-low.c,
predict.c, rtlanal.c, sdbout.c, stmt.c, stor-layout.c, targhooks.c,
tree-cfg.c, tree-data-ref.c, tree-inline.c, tree-ssa-forwprop.c,
tree-ssa-loop-prefetch.c, tree-ssa-phiopt.c, tree-ssa-sccvn.c,
tree-ssa-strlen.c, tree-stdarg.c, tree-vect-data-refs.c,
tree-vect-patterns.c, tree.c, tree.h, var-tracking.c, varasm.c:
Replace tree_low_cst (..., 0) with tree_to_shwi throughout.

From-SVN: r204959

11 years agotree.h (tree_to_shwi, [...]): Declare, with inline expansions.
Richard Sandiford [Mon, 18 Nov 2013 14:51:45 +0000 (14:51 +0000)]
tree.h (tree_to_shwi, [...]): Declare, with inline expansions.

gcc/
* tree.h (tree_to_shwi, tree_to_uhwi): Declare, with inline expansions.
* tree.c (tree_to_shwi, tree_to_uhwi): New functions.

From-SVN: r204958

11 years agocuintp.c: Update comments to refer to tree_fits_shwi_p rather than host_integerp.
Richard Sandiford [Mon, 18 Nov 2013 14:51:35 +0000 (14:51 +0000)]
cuintp.c: Update comments to refer to tree_fits_shwi_p rather than host_integerp.

gcc/ada/
* gcc-interface/cuintp.c: Update comments to refer to
tree_fits_shwi_p rather than host_integerp.
* gcc-interface/decl.c (gnat_to_gnu_entity): Use tree_fits_uhwi_p
rather than host_integerp.
* gcc-interface/utils.c (rest_of_record_type_compilation): Likewise.

gcc/
* expr.h: Update comments to refer to tree_fits_[su]hwi_p rather
than host_integerp.

From-SVN: r204957

11 years agodecl.c, [...]: Replace host_integerp (..., 1) with tree_fits_uhwi_p throughout.
Richard Sandiford [Mon, 18 Nov 2013 14:51:26 +0000 (14:51 +0000)]
decl.c, [...]: Replace host_integerp (..., 1) with tree_fits_uhwi_p throughout.

gcc/ada/
* gcc-interface/decl.c, gcc-interface/misc.c, gcc-interface/utils.c:
Replace host_integerp (..., 1) with tree_fits_uhwi_p throughout.

gcc/c-family/
* c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
host_integerp (..., 1) with tree_fits_uhwi_p throughout.

gcc/cp/
* decl.c: Replace host_integerp (..., 1) with tree_fits_uhwi_p
throughout.

gcc/
* builtins.c, config/alpha/alpha.c, config/iq2000/iq2000.c,
config/mips/mips.c, dbxout.c, dwarf2out.c, expr.c, fold-const.c,
gimple-fold.c, godump.c, omp-low.c, predict.c, sdbout.c, stor-layout.c,
tree-dfa.c, tree-sra.c, tree-ssa-forwprop.c, tree-ssa-loop-prefetch.c,
tree-ssa-phiopt.c, tree-ssa-sccvn.c, tree-ssa-strlen.c,
tree-ssa-structalias.c, tree-vect-data-refs.c, tree-vect-patterns.c,
tree.c, varasm.c, alias.c, cfgexpand.c, config/aarch64/aarch64.c,
config/arm/arm.c, config/epiphany/epiphany.c, config/i386/i386.c,
config/m32c/m32c-pragma.c, config/mep/mep-pragma.c,
config/rs6000/rs6000.c, config/sparc/sparc.c, emit-rtl.c, function.c,
gimplify.c, ipa-prop.c, stmt.c, trans-mem.c, tree-cfg.c,
tree-object-size.c, tree-ssa-ccp.c, tree-ssa-loop-ivcanon.c,
tree-stdarg.c, tree-switch-conversion.c, tree-vect-generic.c,
tree-vrp.c, tsan.c, ubsan.c: Replace host_integerp (..., 1) with
tree_fits_uhwi_p throughout.

From-SVN: r204956

11 years agocuintp.c: Replace host_integerp (..., 0) with tree_fits_shwi_p throughout.
Richard Sandiford [Mon, 18 Nov 2013 14:51:10 +0000 (14:51 +0000)]
cuintp.c: Replace host_integerp (..., 0) with tree_fits_shwi_p throughout.

gcc/ada/
* gcc-interface/cuintp.c: Replace host_integerp (..., 0) with
tree_fits_shwi_p throughout.

gcc/c-family/
* c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
host_integerp (..., 0) with tree_fits_shwi_p throughout.

gcc/c/
* c-parser.c: Replace host_integerp (..., 0) with tree_fits_shwi_p
throughout.

gcc/cp/
* error.c, init.c, parser.c, semantics.c: Replace
host_integerp (..., 0) with tree_fits_shwi_p throughout.

gcc/go/
* gofrontend/expressions.cc: Replace host_integerp (..., 0) with
tree_fits_shwi_p throughout.

gcc/java/
* class.c, expr.c: Replace host_integerp (..., 0) with
tree_fits_shwi_p throughout.

gcc/
* builtins.c, config/alpha/alpha.c, config/c6x/predicates.md,
config/ia64/predicates.md, config/iq2000/iq2000.c, config/mips/mips.c,
config/s390/s390.c, dbxout.c, dwarf2out.c, except.c, explow.c, expr.c,
expr.h, fold-const.c, gimple-fold.c, gimple-ssa-strength-reduction.c,
gimple.c, godump.c, graphite-scop-detection.c, graphite-sese-to-poly.c,
omp-low.c, predict.c, rtlanal.c, sdbout.c, simplify-rtx.c,
stor-layout.c, tree-data-ref.c, tree-dfa.c, tree-pretty-print.c,
tree-sra.c, tree-ssa-alias.c, tree-ssa-forwprop.c,
tree-ssa-loop-ivopts.c, tree-ssa-loop-prefetch.c, tree-ssa-math-opts.c,
tree-ssa-phiopt.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c,
tree-ssa-strlen.c, tree-ssa-structalias.c, tree-vect-data-refs.c,
tree-vect-patterns.c, tree-vectorizer.h, tree.c, var-tracking.c,
varasm.c: Replace host_integerp (..., 0) with tree_fits_shwi_p
throughout.

From-SVN: r204955

11 years agotree.h (tree_fits_shwi_p, [...]): Declare.
Richard Sandiford [Mon, 18 Nov 2013 14:50:47 +0000 (14:50 +0000)]
tree.h (tree_fits_shwi_p, [...]): Declare.

gcc/
* tree.h (tree_fits_shwi_p, tree_fits_uhwi_p): Declare.
* tree.c (tree_fits_shwi_p, tree_fits_uhwi_p): Define.

From-SVN: r204954

11 years agoatomic-compare-exchange-1.c, [...]: Declare main as returning int.
Joseph Myers [Mon, 18 Nov 2013 14:50:11 +0000 (14:50 +0000)]
atomic-compare-exchange-1.c, [...]: Declare main as returning int.

* testsuite/libatomic.c/atomic-compare-exchange-1.c,
testsuite/libatomic.c/atomic-compare-exchange-2.c,
testsuite/libatomic.c/atomic-compare-exchange-3.c,
testsuite/libatomic.c/atomic-compare-exchange-4.c,
testsuite/libatomic.c/atomic-compare-exchange-5.c,
testsuite/libatomic.c/atomic-exchange-1.c,
testsuite/libatomic.c/atomic-exchange-2.c,
testsuite/libatomic.c/atomic-exchange-3.c,
testsuite/libatomic.c/atomic-exchange-4.c,
testsuite/libatomic.c/atomic-exchange-5.c,
testsuite/libatomic.c/atomic-generic.c,
testsuite/libatomic.c/atomic-load-1.c,
testsuite/libatomic.c/atomic-load-2.c,
testsuite/libatomic.c/atomic-load-3.c,
testsuite/libatomic.c/atomic-load-4.c,
testsuite/libatomic.c/atomic-load-5.c,
testsuite/libatomic.c/atomic-op-1.c,
testsuite/libatomic.c/atomic-op-2.c,
testsuite/libatomic.c/atomic-op-3.c,
testsuite/libatomic.c/atomic-op-4.c,
testsuite/libatomic.c/atomic-op-5.c,
testsuite/libatomic.c/atomic-store-1.c,
testsuite/libatomic.c/atomic-store-2.c,
testsuite/libatomic.c/atomic-store-3.c,
testsuite/libatomic.c/atomic-store-4.c,
testsuite/libatomic.c/atomic-store-5.c: Declare main as returning
int.  Do not require built-in sync support or add target-specific
options.
* testsuite/libatomic.c/atomic-exchange-1.c,
testsuite/libatomic.c/atomic-exchange-2.c,
testsuite/libatomic.c/atomic-exchange-3.c,
testsuite/libatomic.c/atomic-exchange-4.c,
testsuite/libatomic.c/atomic-exchange-5.c: Separate increments of
count from expression using value of count.

From-SVN: r204953

11 years agoshared_ptr_base.h (_Sp_counted_base<_S_single>): Use non-atomic operations.
Jonathan Wakely [Mon, 18 Nov 2013 13:52:39 +0000 (13:52 +0000)]
shared_ptr_base.h (_Sp_counted_base<_S_single>): Use non-atomic operations.

* include/bits/shared_ptr_base.h (_Sp_counted_base<_S_single>): Use
non-atomic operations.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.

From-SVN: r204949

11 years agoia64.c (ia64_split_tmode_move): Mark load with `dead' flag if it kills address, not...
Kirill Yukhin [Mon, 18 Nov 2013 12:44:59 +0000 (12:44 +0000)]
ia64.c (ia64_split_tmode_move): Mark load with `dead' flag if it kills address, not its post-increment.

        * gcc/config/ia64/ia64.c (ia64_split_tmode_move): Mark
        load with `dead' flag if it kills address, not its
        post-increment.

From-SVN: r204948

11 years agobuiltin-types.def (BT_FN_PTR_CONST_PTR_VAR): New.
Ilya Enkovich [Mon, 18 Nov 2013 12:30:52 +0000 (12:30 +0000)]
builtin-types.def (BT_FN_PTR_CONST_PTR_VAR): New.

        * builtin-types.def (BT_FN_PTR_CONST_PTR_VAR): New.
        * chkp-builtins.def (BUILT_IN_CHKP_BIND_BOUNDS): New.
        * cfgexpand.c (expand_call_stmt): Expand BUILT_IN_CHKP_BIND_BOUNDS.
        * gimple.c (gimple_call_get_nobnd_arg_index): Remove.
        * gimple.h (gf_mask): Add GF_CALL_WITH_BOUNDS.
        (gimple_call_with_bounds_p): New.
        (gimple_call_set_with_bounds): New.
        (gimple_call_num_nobnd_args): Remove.
        (gimple_call_nobnd_arg): Remove.
        * tree.h (CALL_WITH_BOUNDS_P): New.
        * rtl.h (CALL_EXPR_WITH_BOUNDS_P): New.

From-SVN: r204947

11 years agoremove nolonger needed {cgraph,varpool}_node_{,asm_}name () functions
Trevor Saunders [Mon, 18 Nov 2013 12:18:12 +0000 (12:18 +0000)]
remove nolonger needed {cgraph,varpool}_node_{,asm_}name () functions

From-SVN: r204946

11 years ago* gcc-interface/trans.c (TARGET_ABI_OPEN_VMS): Delete as redundant.
Eric Botcazou [Mon, 18 Nov 2013 10:18:08 +0000 (10:18 +0000)]
* gcc-interface/trans.c (TARGET_ABI_OPEN_VMS): Delete as redundant.

From-SVN: r204944

11 years agotrans.c (Call_to_gnu): For an Out parameter passed by copy and that don't need to...
Eric Botcazou [Mon, 18 Nov 2013 10:09:10 +0000 (10:09 +0000)]
trans.c (Call_to_gnu): For an Out parameter passed by copy and that don't need to be copied in...

* gcc-interface/trans.c (Call_to_gnu): For an Out parameter passed by
copy and that don't need to be  copied in, only evaluate its address.

From-SVN: r204943

11 years agodecl.c (gnat_to_gnu_entity): Deal with an error mark as renamed object in type annota...
Eric Botcazou [Mon, 18 Nov 2013 09:50:25 +0000 (09:50 +0000)]
decl.c (gnat_to_gnu_entity): Deal with an error mark as renamed object in type annotating mode.

* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Deal with an
error mark as renamed object in type annotating mode.

From-SVN: r204942

11 years agoaarch-cost-tables.h (cortexa53_extra_costs): New table.
Kyrylo Tkachov [Mon, 18 Nov 2013 09:28:17 +0000 (09:28 +0000)]
aarch-cost-tables.h (cortexa53_extra_costs): New table.

* config/arm/aarch-cost-tables.h (cortexa53_extra_costs): New table.
* config/arm/arm.c (arm_cortex_a53_tune): New.
* config/arm/arm-cores.def (cortex-a53): Use cortex_a53 tuning struct.

From-SVN: r204941

11 years agore PR libfortran/51828 (libgfortran build warnings)
Francois-Xavier Coudert [Mon, 18 Nov 2013 09:27:11 +0000 (09:27 +0000)]
re PR libfortran/51828 (libgfortran build warnings)

PR libfortran/51828
* intrinsics/unpack_generic.c (unpack_internal): Let the compiler
know that dim > 0 to avoid warnings.

From-SVN: r204940

11 years agoAMD bdver4 enablement
Ganesh Gopalasubramanian [Mon, 18 Nov 2013 09:25:21 +0000 (09:25 +0000)]
AMD bdver4 enablement

From-SVN: r204939

11 years agore PR sanitizer/59106 (Failure to link against static libasan)
Yury Gribov [Mon, 18 Nov 2013 08:03:16 +0000 (08:03 +0000)]
re PR sanitizer/59106 (Failure to link against static libasan)

libsanitizer:
2013-11-18  Yury Gribov  <y.gribov@samsung.com>

PR sanitizer/59106
* asan/Makefile.am (AM_CXXFLAGS): Add -fno-rtti.
* interception/Makefile.am (AM_CXXFLAGS): Likewise.
* lsan/Makefile.am (AM_CXXFLAGS): Likewise.
* sanitizer_common/Makefile.am (AM_CXXFLAGS): Likewise.
* tsan/Makefile.am (AM_CXXFLAGS): Likewise.
* asan/Makefile.in: Regenerate.
* interception/Makefile.in: Regenerate.
* tsan/Makefile.in: Regenerate.
* lsan/Makefile.in: Regenerate.
* sanitizer_common/Makefile.in: Regenerate.

gcc/testsuite:
2013-11-18  Yury Gribov  <y.gribov@samsung.com>

PR sanitizer/59106
* c-c++-common/asan/pr59106.c: New test.

From-SVN: r204934

11 years agoDaily bump.
GCC Administrator [Mon, 18 Nov 2013 00:16:55 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r204932

11 years agoFix typo in previous commit.
Jan Hubicka [Mon, 18 Nov 2013 00:04:13 +0000 (00:04 +0000)]
Fix typo in previous commit.

From-SVN: r204929

11 years agors6000.c (rs6000_emit_move): Use low word of sdmode_stack_slot also in little-endian...
Ulrich Weigand [Sun, 17 Nov 2013 23:37:20 +0000 (23:37 +0000)]
rs6000.c (rs6000_emit_move): Use low word of sdmode_stack_slot also in little-endian mode.

* config/rs6000/rs6000.c (rs6000_emit_move): Use low word of
sdmode_stack_slot also in little-endian mode.

From-SVN: r204927

11 years agomd.texi (setmem, movstr): Update documentation.
Jan Hubicka [Sun, 17 Nov 2013 23:32:12 +0000 (00:32 +0100)]
md.texi (setmem, movstr): Update documentation.

* doc/md.texi (setmem, movstr): Update documentation.
* builtins.c (determine_block_size): New function.
(expand_builtin_memcpy): Use it and pass it to
emit_block_move_hints.
(expand_builtin_memset_args): Use it and pass it to
set_storage_via_setmem.
* expr.c (emit_block_move_via_movmem): Add min_size/max_size parameters;
update call to expander.
(emit_block_move_hints): Add min_size/max_size parameters.
(clear_storage_hints): Likewise.
(set_storage_via_setmem): Likewise.
(clear_storage): Update.
* expr.h (emit_block_move_hints, clear_storage_hints,
set_storage_via_setmem): Update prototype.
* i386.c (ix86_expand_set_or_movmem): Add bounds; export.
(ix86_expand_movmem, ix86_expand_setmem): Remove.
(ix86_expand_movmem, ix86_expand_setmem): Remove.
* i386.md (movmem, setmem): Pass parameters.

* gcc.target/i386/memcpy-2.c: New testcase.

From-SVN: r204926

11 years agore PR target/59153 (ICE: in memory_address_length, at config/i386/i386.c:24617 with...
Uros Bizjak [Sun, 17 Nov 2013 23:10:10 +0000 (00:10 +0100)]
re PR target/59153 (ICE: in memory_address_length, at config/i386/i386.c:24617 with -O -flive-range-shrinkage -mdispatch-scheduler -march=bdver1)

PR target/59153
* config/i386/i386.c (ix86_address_subreg_operand): Do not
reject non-integer subregs.
(ix86_decompose_address): Do not reject invalid CONST_INT RTXes.
Move check for invalid x32 constant addresses ...
(ix86_legitimate_address_p): ... here.

testsuite/ChangeLog:

PR target/59153
* gcc.target/i386/pr59153.c: New test.

From-SVN: r204925

11 years agore PR c++/59123 ([c++11] can't forward-declare an object later defined constexpr)
Paolo Carlini [Sun, 17 Nov 2013 19:22:43 +0000 (19:22 +0000)]
re PR c++/59123 ([c++11] can't forward-declare an object later defined constexpr)

/cp
2013-11-17  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59123
* decl.c (validate_constexpr_redeclaration): Redeclarations of
variables can differ in constexpr.

/testsuite
2013-11-17  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59123
* g++.dg/cpp0x/constexpr-redeclaration1.C: New.
* g++.dg/cpp0x/constexpr-decl.C: Adjust.

From-SVN: r204923

11 years agors6000.c (rs6000_frame_related): Add split_reg parameter and use it in REG_FRAME_RELA...
Bill Schmidt [Sun, 17 Nov 2013 16:36:51 +0000 (16:36 +0000)]
rs6000.c (rs6000_frame_related): Add split_reg parameter and use it in REG_FRAME_RELATED_EXPR note.

2011-11-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (rs6000_frame_related): Add split_reg
parameter and use it in REG_FRAME_RELATED_EXPR note.
(emit_frame_save): Call rs6000_frame_related with extra NULL_RTX
parameter.
(rs6000_emit_prologue): Likewise, but for little endian VSX
stores, pass the source register of the store instead.

From-SVN: r204920

11 years agogimple.h: Reorder prototypes to match .c declaration order...
Andrew MacLeod [Sun, 17 Nov 2013 16:14:46 +0000 (16:14 +0000)]
gimple.h: Reorder prototypes to match .c declaration order...

* gimple.h: Reorder prototypes to match .c declaration order, and remove
protyotypes for functions not in gimple.c.
(LABEL): Move to tree-into-ssa.c.
* gimple.c: Remove unused prototypes.
(get_base_address): Move to tree.c.
* tree.c (get_base_address): Relocate from gimple.c.
* builtins.h (validate_gimple_arglist): Add prototype.
* trans-mem.h (compute_transaction_bits, is_tm_ending): Add prototype.
* cfgexpand.h: New File.
(gimple_assign_rhs_to_tree, estimated_stack_frame_size): Add protoype.
* tree.h (build_addr): Move to tree-nested.h.
* tree-nested.h: New File.
(build_addr, lower_nested_functions, insert_field_into_struct): Add
prototypes.
* tree-inline.h (estimated_stack_frame_size): Remove prototype.
* ipa-inline-analysis.c: Include cfgexpand.h.
* cgraphunit.c: Include tree-nested.h.
* omp-low.c: Likewise.
* tree-parloops.c: Likewise.
* gimple-low.h: Likewise.
* tree-profile.h: Likewise.
* expr.c: Include cfgexpand.h.
* tree-affine.c: Likewise.
* tree-ssa.c: Likewise.
* tree-ssa-loop-im.c: Include trans-mem.h.
* tree-ssa-tail-merge.c: Likewise.
* value-prof.c: Include builtins.h and tree-nested.h.
* tree-into-ssa.c (LABEL): Define here.

* fortran/trans-intrinsic.c: Include tree-nested.h.

From-SVN: r204919

11 years agoppc_closure.S: Don't bl .Luint128.
Alan Modra [Sun, 17 Nov 2013 14:44:03 +0000 (01:14 +1030)]
ppc_closure.S: Don't bl .Luint128.

* src/powerpc/ppc_closure.S: Don't bl .Luint128.

From-SVN: r204918

11 years agoPowerPC64 ELFv2 support
Alan Modra [Sun, 17 Nov 2013 14:35:08 +0000 (01:05 +1030)]
PowerPC64 ELFv2 support

PowerPC64 ELFv2 support
* src/powerpc/ffitarget.h: Import from upstream.
* src/powerpc/ffi.c: Likewise.
* src/powerpc/linux64.S: Likewise.
* src/powerpc/linux64_closure.S: Likewise.
* doc/libffi.texi: Likewise.
* testsuite/libffi.call/cls_double_va.c: Likewise.
* testsuite/libffi.call/cls_longdouble_va.c: Likewise.

From-SVN: r204917

11 years agoI forgot the ChangeLog and a comment fix for my last checkin.
Edward Smith-Rowland [Sun, 17 Nov 2013 01:58:29 +0000 (01:58 +0000)]
I forgot the ChangeLog and a comment fix for my last checkin.

From-SVN: r204912

11 years agoDaily bump.
GCC Administrator [Sun, 17 Nov 2013 00:16:46 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r204911

11 years ago55043.cc (equal): Add missing & on rhs parameter.
François Dumont [Sat, 16 Nov 2013 20:17:50 +0000 (20:17 +0000)]
55043.cc (equal): Add missing & on rhs parameter.

2013-11-16  François Dumont  <fdumont@gcc.gnu.org>

* testsuite/23_containers/unordered_set/55043.cc (equal): Add
missing & on rhs parameter.

From-SVN: r204906

11 years agobacktrace.h (backtrace_create_state): Correct comment about threading.
Ian Lance Taylor [Sat, 16 Nov 2013 18:27:17 +0000 (18:27 +0000)]
backtrace.h (backtrace_create_state): Correct comment about threading.

* backtrace.h (backtrace_create_state): Correct comment about
threading.

From-SVN: r204905

11 years agobacktrace.h (backtrace_syminfo): Update comment and parameter name to take any addres...
Ian Lance Taylor [Sat, 16 Nov 2013 18:20:33 +0000 (18:20 +0000)]
backtrace.h (backtrace_syminfo): Update comment and parameter name to take any address, not just a PC value.

* backtrace.h (backtrace_syminfo): Update comment and parameter
name to take any address, not just a PC value.
* elf.c (STT_OBJECT): Define.
(elf_nosyms): Rename parameter pc to addr.
(elf_symbol_search): Rename local variable pc to addr.
(elf_initialize_syminfo): Add STT_OBJECT symbols to elf_symbols.
(elf_syminfo): Rename parameter pc to addr.
* btest.c (global): New global variable.
(test5): New test.
(main): Call test5.

From-SVN: r204904

11 years agoChanged reference to Ch21 Strings in comments in experimental/string_view*.
Edward Smith-Rowland [Sat, 16 Nov 2013 18:03:40 +0000 (18:03 +0000)]
Changed reference to Ch21 Strings in comments in experimental/string_view*.

Forgot this in the main patch.  Sorry.

From-SVN: r204903

11 years agoImplement N3762 string_view: a non-owning reference to a string.
Edward Smith-Rowland [Sat, 16 Nov 2013 17:44:48 +0000 (17:44 +0000)]
Implement N3762 string_view: a non-owning reference to a string.

2013-11-16  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement N3762 string_view: a non-owning reference to a string.
* include/Makefile.am: Add string_view and string_view.tcc.
* include/Makefile.in: Regenerate.
* include/experimental/string_view: Implement basic_string_view.
* include/experimental/string_view.tcc: Implement basic_string_view.
* testsuite/experimental/string_view/capacity/1.cc: New.
* testsuite/experimental/string_view/cons/char/1.cc: New.
* testsuite/experimental/string_view/cons/char/2.cc: New.
* testsuite/experimental/string_view/cons/char/3.cc: New.
* testsuite/experimental/string_view/cons/wchar_t/1.cc: New.
* testsuite/experimental/string_view/cons/wchar_t/2.cc: New.
* testsuite/experimental/string_view/cons/wchar_t/3.cc: New.
* testsuite/experimental/string_view/element_access/char/1.cc: New.
* testsuite/experimental/string_view/element_access/char/2.cc: New.
* testsuite/experimental/string_view/element_access/char/empty.cc: New.
* testsuite/experimental/string_view/element_access/char/front_back.cc:
New.
* testsuite/experimental/string_view/element_access/wchar_t/1.cc: New.
* testsuite/experimental/string_view/element_access/wchar_t/2.cc: New.
* testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
New.
* testsuite/experimental/string_view/element_access/wchar_t/
front_back.cc: New.
* testsuite/experimental/string_view/include.cc: New.
* testsuite/experimental/string_view/inserters/char/1.cc: New.
* testsuite/experimental/string_view/inserters/char/2.cc: New.
* testsuite/experimental/string_view/inserters/char/3.cc: New.
* testsuite/experimental/string_view/inserters/pod/10081-out.cc: New.
* testsuite/experimental/string_view/inserters/wchar_t/1.cc: New.
* testsuite/experimental/string_view/inserters/wchar_t/2.cc: New.
* testsuite/experimental/string_view/inserters/wchar_t/3.cc: New.
* testsuite/experimental/string_view/literals/types.cc: New.
* testsuite/experimental/string_view/literals/values.cc: New.
* testsuite/experimental/string_view/modifiers/remove_prefix/char/1.cc:
New.
* testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
1.cc: New.
* testsuite/experimental/string_view/modifiers/remove_suffix/char/1.cc:
New.
* testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
1.cc: New.
* testsuite/experimental/string_view/operations/compare/char/1.cc: New.
* testsuite/experimental/string_view/operations/compare/char/13650.cc:
New.
* testsuite/experimental/string_view/operations/compare/wchar_t/1.cc:
New.
* testsuite/experimental/string_view/operations/compare/wchar_t/
13650.cc: New.
* testsuite/experimental/string_view/operations/data/char/1.cc: New.
* testsuite/experimental/string_view/operations/data/wchar_t/1.cc: New.
* testsuite/experimental/string_view/operations/find/char/1.cc: New.
* testsuite/experimental/string_view/operations/find/char/2.cc: New.
* testsuite/experimental/string_view/operations/find/char/3.cc: New.
* testsuite/experimental/string_view/operations/find/char/4.cc: New.
* testsuite/experimental/string_view/operations/find/wchar_t/1.cc: New.
* testsuite/experimental/string_view/operations/find/wchar_t/2.cc: New.
* testsuite/experimental/string_view/operations/find/wchar_t/3.cc: New.
* testsuite/experimental/string_view/operations/find/wchar_t/4.cc: New.
* testsuite/experimental/string_view/operations/rfind/char/1.cc: New.
* testsuite/experimental/string_view/operations/rfind/char/2.cc: New.
* testsuite/experimental/string_view/operations/rfind/char/3.cc: New.
* testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc: New.
* testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc: New.
* testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc: New.
* testsuite/experimental/string_view/operations/substr/char/1.cc: New.
* testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
New.
* testsuite/experimental/string_view/operators/char/2.cc: New.
* testsuite/experimental/string_view/operators/wchar_t/2.cc: New.
* testsuite/experimental/string_view/range_access/char/1.cc: New.
* testsuite/experimental/string_view/range_access/wchar_t/1.cc: New.
* testsuite/experimental/string_view/requirements/
explicit_instantiation/1.cc: New.
* testsuite/experimental/string_view/requirements/
explicit_instantiation/char/1.cc: New.
* testsuite/experimental/string_view/requirements/
explicit_instantiation/char16_t/1.cc: New.
* testsuite/experimental/string_view/requirements/
explicit_instantiation/char32_t/1.cc: New.
* testsuite/experimental/string_view/requirements/
explicit_instantiation/wchar_t/1.cc: New.
* testsuite/experimental/string_view/requirements/typedefs.cc: New.
* testsuite/experimental/string_view/types/1.cc: New.

From-SVN: r204902

11 years agoarc.c (arc_predicate_delay_insns): New function.
Joern Rennecke [Sat, 16 Nov 2013 11:53:21 +0000 (11:53 +0000)]
arc.c (arc_predicate_delay_insns): New function.

        * config/arc/arc.c (arc_predicate_delay_insns): New function.
        (pass_data_arc_predicate_delay_insns): New pass_data instance.
        (pass_arc_predicate_delay_insns): New subclass of rtl_opt_class.
        (make_pass_arc_predicate_delay_insns): New function.
        (arc_init): Register pass_arc_predicate_delay_insns if
        flag_delayed_branch is active.

From-SVN: r204901

11 years ago* config/arc/constraints.md (Rcq): Simplify register number test.
Joern Rennecke [Sat, 16 Nov 2013 11:49:10 +0000 (11:49 +0000)]
* config/arc/constraints.md (Rcq): Simplify register number test.

From-SVN: r204900

11 years agore PR c++/29143 (address-of overloaded function does not work in function call)
Paolo Carlini [Sat, 16 Nov 2013 09:54:42 +0000 (09:54 +0000)]
re PR c++/29143 (address-of overloaded function does not work in function call)

/cp
2013-11-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/29143
* semantics.c (finish_call_expr): Ensure that for OVERLOADs too
'(&f)(...)' is the same as '(f)(...)', per 13.3.1.1.

/testsuite
2013-11-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/29143
* g++.dg/overload/addr2.C: New.
* g++.old-deja/g++.other/overload11.C: Adjust.

From-SVN: r204899

11 years agore PR c++/29143 (address-of overloaded function does not work in function call)
Paolo Carlini [Sat, 16 Nov 2013 09:54:23 +0000 (09:54 +0000)]
re PR c++/29143 (address-of overloaded function does not work in function call)

/cp
2013-11-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/29143
* semantics.c (finish_call_expr): Ensure that for OVERLOADs too
'(&f)(...)' is the same as '(f)(...)', per 13.3.1.1.

/testsuite
2013-11-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/29143
* g++.dg/overload/addr2.C: New.
* g++.old-deja/g++.other/overload11.C: Adjust.

From-SVN: r204898

11 years ago* gimple.h (enum gf_mask): Change the ordering of GF_OMP_* bits.
Aldy Hernandez [Sat, 16 Nov 2013 01:19:27 +0000 (01:19 +0000)]
* gimple.h (enum gf_mask): Change the ordering of GF_OMP_* bits.

From-SVN: r204894

11 years ago* MAINTAINERS (Global Reviewers, c++): Remove Mark Mitchell.
David Edelsohn [Sat, 16 Nov 2013 01:16:51 +0000 (20:16 -0500)]
* MAINTAINERS (Global Reviewers, c++): Remove Mark Mitchell.

From-SVN: r204893

11 years agoDaily bump.
GCC Administrator [Sat, 16 Nov 2013 00:16:43 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r204891

11 years agoFix typo.
Mike Stump [Sat, 16 Nov 2013 00:16:13 +0000 (00:16 +0000)]
Fix typo.

From-SVN: r204888

11 years agogcc.exp (gcc_target_compile): Add support for random runtime
Mike Stump [Sat, 16 Nov 2013 00:09:34 +0000 (00:09 +0000)]
gcc.exp (gcc_target_compile): Add support for random runtime

* lib/gcc.exp (gcc_target_compile): Add support for random runtime
* lib/g++.exp (g++_target_compile): Likewise.
libraries.
* gcc.dg/cilk-plus/cilk-plus.exp: Improve support for runtime
libraries.  Remove debugging.
* g++.dg/cilk-plus/cilk-plus.exp: Add support to find runtime
libraries.  Remove -O0, redundant with default.

From-SVN: r204887

11 years agoucnid-2011-1.c: New test.
Joseph Myers [Sat, 16 Nov 2013 00:05:08 +0000 (00:05 +0000)]
ucnid-2011-1.c: New test.

gcc/testsuite:
* c-c++-common/cpp/ucnid-2011-1.c: New test.

libcpp:
* ucnid.tab: Add C11 and C11NOSTART data.
* makeucnid.c (digit): Rename enum value to N99.
(C11, N11, all_languages): New enum values.
(NUM_CODE_POINTS, MAX_CODE_POINT): New macros.
(flags, decomp, combining_value): Use NUM_CODE_POINTS as array
size.
(decomp): Use unsigned int as element type.
(all_decomp): New array.
(read_ucnid): Handle C11 and C11NOSTART.  Use MAX_CODE_POINT.
(read_table): Use MAX_CODE_POINT.  Store all decompositions in
all_decomp.
(read_derived): Use MAX_CODE_POINT.
(write_table): Use NUM_CODE_POINTS.  Print N99, C11 and N11
flags.  Print whole array variable declaration rather than just
array contents.
(char_id_valid, write_context_switch): New functions.
(main): Call write_context_switch.
* ucnid.h: Regenerate.
* include/cpplib.h (struct cpp_options): Add c11_identifiers.
* init.c (struct lang_flags): Add c11_identifiers.
(cpp_set_lang): Set c11_identifiers option from selected language.
* internal.h (struct normalize_state): Document "previous" as
previous starter character.
(NORMALIZE_STATE_UPDATE_IDNUM): Take character as argument.
* charset.c (DIG): Rename enum value to N99.
(C11, N11): New enum values.
(struct ucnrange): Give name to struct.  Use short for flags and
unsigned int for end of range.  Include ucnid.h for whole variable
declaration.
(ucn_valid_in_identifier): Allow for characters up to 0x10FFFF.
Allow for C11 in determining valid characters and valid start
characters.  Use check_nfc for non-Hangul context-dependent
checks.  Only store starter characters in nst->previous.
(_cpp_valid_ucn): Pass new argument to
NORMALIZE_STATE_UPDATE_IDNUM.
* lex.c (lex_identifier): Pass new argument to
NORMALIZE_STATE_UPDATE_IDNUM.  Call NORMALIZE_STATE_UPDATE_IDNUM
after initial non-UCN part of identifier.
(lex_number): Pass new argument to NORMALIZE_STATE_UPDATE_IDNUM.

From-SVN: r204886

11 years agore PR c++/58188 (ICE in gimple_add_tmp_var, at gimplify.c:738)
Paolo Carlini [Fri, 15 Nov 2013 23:51:23 +0000 (23:51 +0000)]
re PR c++/58188 (ICE in gimple_add_tmp_var, at gimplify.c:738)

2013-11-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58188
* g++.dg/cpp0x/nsdmi-template8.C: New.

2013-11-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58725
* g++.dg/cpp0x/nsdmi-template7.C: New.

2013-11-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58829
* g++.dg/cpp0x/nsdmi-template6.C: New.

From-SVN: r204881

11 years agore PR c++/58599 ([c++11] Trouble with non-static data member initializers in templates)
Paolo Carlini [Fri, 15 Nov 2013 23:17:23 +0000 (23:17 +0000)]
re PR c++/58599 ([c++11] Trouble with non-static data member initializers in templates)

2013-11-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58599
* g++.dg/cpp0x/nsdmi-template5.C: New.

From-SVN: r204866

11 years agosh.c (barrier_align): Return 0 when barrier_or_label is null.
Kaz Kojima [Fri, 15 Nov 2013 22:01:33 +0000 (22:01 +0000)]
sh.c (barrier_align): Return 0 when barrier_or_label is null.

* config/sh/sh.c (barrier_align): Return 0 when barrier_or_label
is null.

From-SVN: r204865

11 years agoWhen file status is unknown, don't set O_CREAT when opening read-only.
Janne Blomqvist [Fri, 15 Nov 2013 22:00:36 +0000 (00:00 +0200)]
When file status is unknown, don't set O_CREAT when opening read-only.

2013-11-15  Janne Blomqvist  <jb@gcc.gnu.org>
    Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/59108
* io/unix.c (regular_file): Don't set O_CREAT when opening a file
read-only with unknown status. Mask out O_CREAT when falling back
to opening read-only if ACTION= is not set and read-write fails.

Co-Authored-By: Jerry DeLisle <jvdelisle@gcc.gnu.org>
From-SVN: r204864

11 years agoMakefile.in (C_COMMON_OBJS): Depend on c-cilkplus.o.
Aldy Hernandez [Fri, 15 Nov 2013 21:43:59 +0000 (21:43 +0000)]
Makefile.in (C_COMMON_OBJS): Depend on c-cilkplus.o.

* Makefile.in (C_COMMON_OBJS): Depend on c-cilkplus.o.
* gimple-pretty-print.c (dump_omp_for): Add case for
GF_OMP_FOR_KIND_CILKSIMD.
* gimple.h (enum gf_mask): Restructure entries to add
GF_OMP_FOR_KIND_CILKSIMD.
* gimplify.c (is_gimple_stmt): Add case for CILK_SIMD.
(gimplify_omp_for): Handle CILK_SIMD.
(gimplify_expr): Add ccase for CILK_SIMD.
* omp-low.c (extract_omp_for_data): Handle CILK_SIMD.
(build_outer_var_ref): Same.
(check_omp_nesting_restrictions): Same.
(lower_rec_input_clauses): Same.
(lower_lastprivate_clauses): Same.
(expand_omp_for): Same.
(execute_expand_omp): Check flag_enable_cilkplus.
(execute_lower_omp): Same.
(diagnose_sb_0): Handle CILK_SIMD.
(diagnose_omp_structured_block_errors): Check
flag_enable_cilkplus.
(setjmp_or_longjmp_p): New.
(scan_omp_1_stmt): Error on setjmp/longjmp in a simd construct.
* tree-pretty-print.c (dump_generic_node): Add case for CILK_SIMD.
* tree.def: Add tree code for CILK_SIMD.

testsuite/
* c-c++-common/cilk-plus/PS: New directory.
* g++.dg/cilk-plus/cilk-plus.exp: Run shared tests.
* g++.dg/dg.exp: Run Cilk Plus tests.
* gcc.dg/cilk-plus/cilk-plus.exp: Run shared tests.

c-family/
* c-cilkplus.c: New file.
* c-common.c (readonly_error): Add location argument.
* c-common.h (readonly_error): Same.
(c_finish_cilk_clauses): Protoize.
(c_check_cilk_loop): Same.
c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
Do not fail on error_mark_node.
Abstract increment canonicalization to here...
(c_omp_for_incr_canonicalize_ptr): New.
c-pragma.c (init_pragma): Register "simd" pragma.
c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
(enum pragma_cilk_clause): New.

c/
* c-parser.c (c_parser_cilk_simd): New.
(c_parser_cilk_verify_simd): New.
(c_parser_pragma): Add case for PRAGMA_CILK_SIMD.
(c_parser_omp_for_loop): Add case for NE_EXPR.
Set c_break_label for CILK_SIMD.
(c_parser_cilk_clause_vectorlength): New.
(c_parser_cilk_clause_linear): New.
(c_parser_cilk_clause_name): New.
(c_parser_cilk_all_clauses): New.
* c-typeck.c (build_unary_op): Pass location argument to
readonly_error.
(build_modify_expr): Same.
(build_asm_expr): Same.
(c_finish_bc_stmt): Error on break/continue in loops.

cp/
* Make-lang.in (CXX_AND_OBJCXX_OBJS): Depend on cp/cp-cilkplus.o.
* cp-cilkplus.c: New file.
* cp-tree.h (cpp_validate_cilk_plus_loop): Protoize.
* parser.c (cp_parser_cilk_simd): New.
(cp_debug_parser): Add case for IN_CILK_SIMD_FOR.
(cp_parser_jump_statement): Same.
(cp_parser_omp_for_cond): Add new argument.
Add case for NE_EXPR.
(cp_parser_omp_for_loop): Pass new argument to
cp_parser_omp_for_cond.
Handle CILK_SIMD nodes.
Abstract initilization code to..
(cp_parser_omp_for_loop_init): ...here.
(cp_parser_pragma): Add case for PRAGMA_CILK_SIMD.
(cp_parser_cilk_simd_vectorlength): New.
(cp_parser_cilk_simd_linear): New.
(cp_parser_cilk_simd_clause_name): New.
(cp_parser_cilk_simd_all_clauses): New.
(cp_parser_cilk_simd): New.
* parser.h (IN_CILK_SIMD_FOR): New macro.
* pt.c (tsubst_expr): Add case for CILK_SIMD.
* typeck2.c (cxx_readonly_error): Pass location argument to
readonly_error.

From-SVN: r204863

11 years agoaltivec.md (UNSPEC_VPERM_X, [...]): Remove.
Bill Schmidt [Fri, 15 Nov 2013 21:16:32 +0000 (21:16 +0000)]
altivec.md (UNSPEC_VPERM_X, [...]): Remove.

gcc:

2013-11-15  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/altivec.md (UNSPEC_VPERM_X, UNSPEC_VPERM_UNS_X):
Remove.
(altivec_vperm_<mode>): Revert earlier little endian change.
(*altivec_vperm_<mode>_internal): Remove.
(altivec_vperm_<mode>_uns): Revert earlier little endian change.
(*altivec_vperm_<mode>_uns_internal): Remove.
* config/rs6000/vector.md (vec_realign_load_<mode>): Revise
commentary.

gcc/testsuite:

2013-11-15  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/vmx/3b-15.c: Revise for little endian.

From-SVN: r204862

11 years agobasic-block.h (has_abnormal_or_eh_outgoing_edge): Renamed from has_abnormal_or_outgoi...
Jeff Law [Fri, 15 Nov 2013 21:11:50 +0000 (14:11 -0700)]
basic-block.h (has_abnormal_or_eh_outgoing_edge): Renamed from has_abnormal_or_outgoing_edge.

* basic-block.h (has_abnormal_or_eh_outgoing_edge): Renamed from
has_abnormal_or_outgoing_edge.  Check for EH edges as well.
* gimple-ssa-isolate-paths.c
(find_implicit_erroneous_behaviour): Corresponding changes.
Do not check stmt_ends_bb_p or GIMPLE_RETURN anymore.
(find_explicit_erroneous_behaviour): Likewise.

From-SVN: r204861

11 years agoifcvt.c (find_cond_trap): Properly handle case where trap_bb == else_bb.
Jeff Law [Fri, 15 Nov 2013 18:14:10 +0000 (11:14 -0700)]
ifcvt.c (find_cond_trap): Properly handle case where trap_bb == else_bb.

* ifcvt.c (find_cond_trap): Properly handle case where
trap_bb == else_bb.

From-SVN: r204856

11 years agoconfigure.ac: Do not define HAVE_STRTOLD.
Steve Ellcey [Fri, 15 Nov 2013 17:50:28 +0000 (17:50 +0000)]
configure.ac: Do not define HAVE_STRTOLD.

2013-11-15  Steve Ellcey  <sellcey@mips.com>

* configure.ac: Do not define HAVE_STRTOLD.
* configure: Regenerate.

From-SVN: r204855

11 years agopicflag.m4 (m68k-*-*): Use default PIC flag.
Andreas Schwab [Fri, 15 Nov 2013 17:49:36 +0000 (17:49 +0000)]
picflag.m4 (m68k-*-*): Use default PIC flag.

config/
* picflag.m4 (m68k-*-*): Use default PIC flag.

gcc/
* configure: Regenerate.

libada/
* configure: Regenerate.

libgcc/
* configure: Regenerate.

libiberty/
* configure: Regenerate.

From-SVN: r204854

11 years agoruntime: Use runtime_m to get m value after call to runtime_mcall.
Ian Lance Taylor [Fri, 15 Nov 2013 17:20:25 +0000 (17:20 +0000)]
runtime: Use runtime_m to get m value after call to runtime_mcall.

From-SVN: r204853

11 years ago[AArch64] Remove simd_type
James Greenhalgh [Fri, 15 Nov 2013 17:05:37 +0000 (17:05 +0000)]
[AArch64] Remove simd_type

gcc/
* config/aarch64/aarch64-simd.md: Remove simd_type from all
patterns.
* config/aarch64/aarch64.md: Likewise, correct "type" attribute
where it is incorrect or missing.

From-SVN: r204852

11 years agostl_bvector.h (vector<bool>::emplace_back()): LWG 2187: Define.
Jonathan Wakely [Fri, 15 Nov 2013 16:34:06 +0000 (16:34 +0000)]
stl_bvector.h (vector<bool>::emplace_back()): LWG 2187: Define.

* include/bits/stl_bvector.h (vector<bool>::emplace_back()): LWG 2187:
Define.
(vector<bool>::emplace()): Likewise.
* testsuite/23_containers/vector/bool/emplace.cc: New.

From-SVN: r204851

11 years agobuild_hacking.xml: Fix documentation typos.
Ondřej Bílka [Fri, 15 Nov 2013 16:33:59 +0000 (17:33 +0100)]
build_hacking.xml: Fix documentation typos.

2013-11-15  Ondřej Bílka <neleai@seznam.cz>
    Jonathan Wakely  <jwakely.gcc@gmail.com>

* doc/xml/manual/build_hacking.xml: Fix documentation typos.
* doc/xml/manual/configure.xml: Likewise.
* include/bits/atomic_base.h: Fix typos in comments.
* include/bits/random.h: Likewise.
* include/ext/cast.h: Likewise.
* libsupc++/cxxabi.h: Likewise.
* testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/testcase.h:
Likewise.
* testsuite/util/exception/safety.h: Likewise.
* testsuite/util/testsuite_containers.h: Likewise.
* testsuite/util/testsuite_hooks.cc: Likewise.

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

11 years agostl_map.h (map): Implement C++11 allocator-aware container requirements.
Jonathan Wakely [Fri, 15 Nov 2013 15:34:14 +0000 (15:34 +0000)]
stl_map.h (map): Implement C++11 allocator-aware container requirements.

* include/bits/stl_map.h (map): Implement C++11 allocator-aware
container requirements.
* include/bits/stl_multimap.h (multimap): Likewise.
* include/bits/stl_multiset.h (multiset): Likewise.
* include/bits/stl_set.h (set): Likewise.
* include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_buffer and
add accessors for value.
(_Rb_tree_iterator, _Rb_tree_const_iterator): Use _Rb_tree_node
accessors.
(_Rb_tree): Use allocator_traits and implement support for sets and
maps the be allocator-aware.
* include/bits/forward_list.h (_Fwd_list_base::_M_create_node): Do
not zero-initialize storage buffer.
* include/bits/hashtable_policy.h (_Hashtable_alloc::_M_allocate_node):
Likewise.
* include/bits/stl_vector.h (vector(vector&&, const allocator_type&)):
Add conditional noexcept specification.
* doc/xml/manual/status_cxx2011.xml: Update status of containers.
* testsuite/util/testsuite_allocator.h: Re-indent.
* testsuite/23_containers/forward_list/allocator/copy.cc: Test
allocator-extended copy constructor.
* testsuite/23_containers/unordered_map/allocator/copy.cc: Likewise.
* testsuite/23_containers/unordered_multimap/allocator/copy.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/allocator/copy.cc:
Likewise.
* testsuite/23_containers/unordered_set/allocator/copy.cc: Likewise.
* testsuite/23_containers/vector/allocator/copy.cc: Likewise.
* testsuite/23_containers/forward_list/allocator/move.cc: New.
* testsuite/23_containers/unordered_map/allocator/move.cc: New.
* testsuite/23_containers/unordered_multimap/allocator/move.cc: New.
* testsuite/23_containers/unordered_multiset/allocator/move.cc: New.
* testsuite/23_containers/unordered_set/allocator/move.cc: New.
* testsuite/23_containers/vector/allocator/move.cc: New.
* testsuite/23_containers/map/allocator/copy.cc: New.
* testsuite/23_containers/map/allocator/copy_assign.cc: New.
* testsuite/23_containers/map/allocator/minimal.cc: New.
* testsuite/23_containers/map/allocator/move.cc: New.
* testsuite/23_containers/map/allocator/move_assign.cc: New.
* testsuite/23_containers/map/allocator/noexcept.cc: New.
* testsuite/23_containers/map/allocator/swap.cc: New.
* testsuite/23_containers/multimap/allocator/copy.cc: New.
* testsuite/23_containers/multimap/allocator/copy_assign.cc: New.
* testsuite/23_containers/multimap/allocator/minimal.cc: New.
* testsuite/23_containers/multimap/allocator/move.cc: New.
* testsuite/23_containers/multimap/allocator/move_assign.cc: New.
* testsuite/23_containers/multimap/allocator/noexcept.cc: New.
* testsuite/23_containers/multimap/allocator/swap.cc: New.
* testsuite/23_containers/multiset/allocator/copy.cc: New.
* testsuite/23_containers/multiset/allocator/copy_assign.cc: New.
* testsuite/23_containers/multiset/allocator/minimal.cc: New.
* testsuite/23_containers/multiset/allocator/move.cc: New.
* testsuite/23_containers/multiset/allocator/move_assign.cc: New.
* testsuite/23_containers/multiset/allocator/noexcept.cc: New.
* testsuite/23_containers/multiset/allocator/swap.cc: New.
* testsuite/23_containers/set/allocator/copy.cc: New.
* testsuite/23_containers/set/allocator/copy_assign.cc: New.
* testsuite/23_containers/set/allocator/minimal.cc: New.
* testsuite/23_containers/set/allocator/move.cc: New.
* testsuite/23_containers/set/allocator/move_assign.cc: New.
* testsuite/23_containers/set/allocator/noexcept.cc: New.
* testsuite/23_containers/set/allocator/swap.cc: New.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.

From-SVN: r204848

11 years agoc-pretty-print.c (pp_c_character_constant): Remove unnecessary wchar_type and host_in...
Richard Sandiford [Fri, 15 Nov 2013 14:52:36 +0000 (14:52 +0000)]
c-pretty-print.c (pp_c_character_constant): Remove unnecessary wchar_type and host_integerp checks.

gcc/c-family/
* c-pretty-print.c (pp_c_character_constant): Remove unnecessary
wchar_type and host_integerp checks.

From-SVN: r204847

11 years agodwarf2out.c (gen_enumeration_type_die): Remove unnecessary host_integerp test.
Richard Sandiford [Fri, 15 Nov 2013 14:52:23 +0000 (14:52 +0000)]
dwarf2out.c (gen_enumeration_type_die): Remove unnecessary host_integerp test.

gcc/
* dwarf2out.c (gen_enumeration_type_die): Remove unnecessary
host_integerp test.
* tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
Use TREE_INT_CST_LOW rather than tree_low_cst when reading the
constant.
* fold-const.c (fold_binary_loc): Replace a host_integerp/tree_low_cst
pair with a TREE_CODE test and TREE_INT_CST_LOW.
* tree-vect-generic.c (expand_vector_divmod): Likewise.

From-SVN: r204846

11 years agore PR middle-end/50262 (PTA doesn't disambiguate locally allocated heap objects from...
Richard Biener [Fri, 15 Nov 2013 14:48:22 +0000 (14:48 +0000)]
re PR middle-end/50262 (PTA doesn't disambiguate locally allocated heap objects from pointed to by arguments)

2013-11-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/50262
* tree-ssa-alias.h (struct pt_solution): Split
vars_contains_global into vars_contains_nonlocal,
vars_contains_escaped and vars_contains_escaped_heap.
* tree-ssa-structalias.c (label_visit): Expand comment.
(handle_lhs_call): Adjust comment.
(set_uids_in_ptset): Set the new flags appropriately.
(pt_solution_set): Adjust.
(pt_solution_set_var): Likewise.
(pt_solution_ior_into): Likewise.
(pt_solution_includes_global): Likewise.
(pt_solutions_intersect_1): Optimize escaped handling.
(compute_points_to_sets): Remove heap variable globalization.
(ipa_escaped_pt): Adjust initializer.
(pass_data_ipa_pta): Do not run TODO_update_ssa.
* gimple-pretty-print.c (pp_points_to_solution): Print split
flags.
* tree-ssa-alias.c (dump_points_to_solution): Likewise.

* gcc.dg/tree-ssa/alias-28.c: New testcase.
* gcc.dg/strlenopt-1.c: Adjust.
* gcc.dg/strlenopt-1f.c: Likewise.

From-SVN: r204845

11 years agotree-loop-distribution.c (tree_loop_distribution): Make sure to distribute all stores.
Richard Biener [Fri, 15 Nov 2013 14:43:52 +0000 (14:43 +0000)]
tree-loop-distribution.c (tree_loop_distribution): Make sure to distribute all stores.

2013-11-15  Richard Biener  <rguenther@suse.de>

* tree-loop-distribution.c (tree_loop_distribution): Make sure
to distribute all stores.

* gcc.dg/torture/20131115-1.c: New testcase.

From-SVN: r204843

11 years ago* doc/invoke.texi (-mabi=elfv1, -mabi=elfv2): Document.
Ulrich Weigand [Fri, 15 Nov 2013 14:21:39 +0000 (14:21 +0000)]
* doc/invoke.texi (-mabi=elfv1, -mabi=elfv2): Document.

From-SVN: r204842

11 years agoacinclude.m4 (GCC_GLIBC_VERSION_GTE_IFELSE): New configure macro.
Joseph Myers [Fri, 15 Nov 2013 12:34:28 +0000 (12:34 +0000)]
acinclude.m4 (GCC_GLIBC_VERSION_GTE_IFELSE): New configure macro.

* acinclude.m4 (GCC_GLIBC_VERSION_GTE_IFELSE): New configure
macro.
* configure.ac: Determine target_header_dir earlier.
(--with-glibc-version): New configure option.
Use GCC_GLIBC_VERSION_GTE_IFELSE in enable_gnu_unique_object,
gcc_cv_libc_provides_ssp and gcc_cv_target_ldbl128 tests.
* configure: Regenerate.
* doc/install.texi (--enable-gnu-unique-object): Don't refer to
native toolchains for default.
(--with-glibc-version): Document.

From-SVN: r204841

11 years agoAdd and use System.Linux.time_t for time_t
H.J. Lu [Fri, 15 Nov 2013 12:06:25 +0000 (12:06 +0000)]
Add and use System.Linux.time_t for time_t

PR ada/54040
* s-linux-x32.ads: New file.
* s-osprim-x32.adb: Likewise.
* s-linux.ads (time_t): New type.
* s-linux-alpha.ads (time_t):  Likewise.
* s-linux-hppa.ads (time_t):  Likewise.
* s-linux-mipsel.ads (time_t):  Likewise.
* s-linux-sparc.ads (time_t):  Likewise.
* s-osinte-linux.ads (time_t): Mark it private.  Replace long
with System.Linux.time_t.
(timespec): Replace long with time_t.
* s-osinte-posix.adb (To_Timespec): Likewise.
* s-taprop-linux.adb (timeval): Replace C.long with
System.OS_Interface.time_t.
* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Replace
s-linux.ads with s-linux-x32.ads, s-osprim-posix.adb with
s-osprim-x32.adb for x32.

From-SVN: r204840

11 years ago* fold-const.c (fold_binary_loc) <comparisons>: Reuse local variable.
Eric Botcazou [Fri, 15 Nov 2013 11:07:40 +0000 (11:07 +0000)]
* fold-const.c (fold_binary_loc) <comparisons>: Reuse local variable.

From-SVN: r204839

11 years agofix PR sanitizer/58994
Kostya Serebryany [Fri, 15 Nov 2013 10:31:14 +0000 (10:31 +0000)]
fix PR sanitizer/58994

From-SVN: r204838

11 years agolto-streamer-in.c (input function): Call cgraph_create_node if cgraph_get_node failed.
Uros Bizjak [Fri, 15 Nov 2013 08:46:54 +0000 (09:46 +0100)]
lto-streamer-in.c (input function): Call cgraph_create_node if cgraph_get_node failed.

* lto-streamer-in.c (input function): Call cgraph_create_node if
cgraph_get_node failed.

From-SVN: r204836

11 years agoucnid-9.c: New test.
Joseph Myers [Fri, 15 Nov 2013 02:15:26 +0000 (02:15 +0000)]
ucnid-9.c: New test.

gcc/testsuite:
* gcc.dg/cpp/ucnid-9.c: New test.

libcpp:
* ucnid.tab: Mark C99 digits as [C99DIG].
* makeucnid.c (read_ucnid): Handle [C99DIG].
(read_table): Don't check for digit characters.
* ucnid.h: Regenerate.

From-SVN: r204835

11 years agoDaily bump.
GCC Administrator [Fri, 15 Nov 2013 00:16:47 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r204833

11 years agocfgexpand.c (defer_stack_allocation): When optimization is enabled...
Eric Botcazou [Thu, 14 Nov 2013 23:58:39 +0000 (23:58 +0000)]
cfgexpand.c (defer_stack_allocation): When optimization is enabled...

* cfgexpand.c (defer_stack_allocation): When optimization is enabled,
defer allocation of DECL_IGNORED_P variables at toplevel unless really
small.  Factorize size threshold computation from the existing one.
(expand_used_vars): Refine comment.

From-SVN: r204830

11 years agoRevert the last change
H.J. Lu [Thu, 14 Nov 2013 22:39:21 +0000 (22:39 +0000)]
Revert the last change

* gnat.dg/specs/addr1.ads: Revert the last change.
* gnat.dg/specs/atomic1.ads: Likewise.

From-SVN: r204829

11 years agoruntime: Don't use filename without '/' for backtrace library.
Ian Lance Taylor [Thu, 14 Nov 2013 22:31:29 +0000 (22:31 +0000)]
runtime: Don't use filename without '/' for backtrace library.

Fixes http://golang.org/issue/6715.

From-SVN: r204828

11 years agocompiler: Use backend interface for comparisons.
Ian Lance Taylor [Thu, 14 Nov 2013 22:13:41 +0000 (22:13 +0000)]
compiler: Use backend interface for comparisons.

From-SVN: r204827

11 years agoInclude gimple.h and pointer-set.h in gcc-interface/trans.c
H.J. Lu [Thu, 14 Nov 2013 22:04:04 +0000 (22:04 +0000)]
Include gimple.h and pointer-set.h in gcc-interface/trans.c

* gcc-interface/trans.c: Include gimple.h and pointer-set.h.

From-SVN: r204826

11 years agotree-vectorizer.h (struct dr_with_seg_len): Remove the base address field as it can...
Cong Hou [Thu, 14 Nov 2013 20:59:47 +0000 (15:59 -0500)]
tree-vectorizer.h (struct dr_with_seg_len): Remove the base address field as it can be obtained from dr.

2013-11-14  Cong Hou  <congh@google.com>

    * tree-vectorizer.h (struct dr_with_seg_len): Remove the base
    address field as it can be obtained from dr.  Rename the struct.
    * tree-vect-data-refs.c (comp_dr_with_seg_len_pair): Consider
    steps of data references during sort.
    (vect_prune_runtime_alias_test_list): Adjust with the change to
    struct dr_with_seg_len.
    * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
    Adjust with the change to struct dr_with_seg_len.

2013-11-14  Cong Hou  <congh@google.com>

    * gcc.dg/vect/vect-alias-check.c: Update.

From-SVN: r204822

11 years agobasic-block.h (has_abnormal_outgoing_edge_p): Moved here from...
Jeff Law [Thu, 14 Nov 2013 20:57:38 +0000 (13:57 -0700)]
basic-block.h (has_abnormal_outgoing_edge_p): Moved here from...

* basic-block.h (has_abnormal_outgoing_edge_p): Moved here from...
* tree-inline.c (has_abnormal_outgoing_edge_p): Remove.
* gimple-ssa-isolate-paths.c: Include tree-cfg.h.
(find_implicit_erroneous_behaviour): If a block has abnormal outgoing
edges, then ignore it.  If the statement exhibiting erroneous
behaviour ends basic blocks, with the exception of GIMPLE_RETURNs,
then we can not optimize.
(find_explicit_erroneous_behaviour): Likewise.

From-SVN: r204821

11 years agonet: On Solaris use Darwin keepalive code.
Ian Lance Taylor [Thu, 14 Nov 2013 20:19:51 +0000 (20:19 +0000)]
net: On Solaris use Darwin keepalive code.

From-SVN: r204819

11 years agore PR c++/57887 (nested non-type template parameters not declared in this scope)
Paolo Carlini [Thu, 14 Nov 2013 20:16:51 +0000 (20:16 +0000)]
re PR c++/57887 (nested non-type template parameters not declared in this scope)

/cp
2013-11-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57887
* parser.c (cp_parser_late_parsing_nsdmi): Call
maybe_begin_member_template_processing.
* pt.c (maybe_begin_member_template_processing): Handle NSDMIs.
(inline_needs_template_parms): Adjust.

/testsuite
2013-11-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57887
* g++.dg/cpp0x/nsdmi-template3.C: New.
* g++.dg/cpp0x/nsdmi-template4.C: Likewise.

From-SVN: r204818

11 years agoruntime: Add netpoll code that uses select.
Ian Lance Taylor [Thu, 14 Nov 2013 20:15:04 +0000 (20:15 +0000)]
runtime: Add netpoll code that uses select.

Required for Solaris support.

From-SVN: r204817

11 years agoruntime: Fix GC flag in when allocating memory from cgo.
Ian Lance Taylor [Thu, 14 Nov 2013 20:04:32 +0000 (20:04 +0000)]
runtime: Fix GC flag in when allocating memory from cgo.

From-SVN: r204815

11 years agogimplify-be.h: New file.
Andrew MacLeod [Thu, 14 Nov 2013 19:39:38 +0000 (19:39 +0000)]
gimplify-be.h: New file.

* gimplify-be.h:  New file.  Add prototypes.
* gimplify.h: Don't include gimple.h.
(struct gimplify_hasher, struct gimplify_ctx, is_gimple_sizepos,
gimplify_hasher::hash, gimplify_hasher::equal): Relocate from gimple.h.
* gimple.h (struct gimplify_hasher, gimplify_hasher::hash,
gimplify_hasher::equal, struct gimplify_ctx, is_gimple_sizepos): Move
to gimplify.h.
(enum gsi_iterator_update): Move to gimple-iterator.h.
* gimple-iterator.h (enum gsi_iterator_update): Relocate from gimple.h.
* gimplify-be.c: New File.
(force_gimple_operand_1, force_gimple_operand,
force_gimple_operand_gsi_1, force_gimple_operand_gsi): Relocate from
gimplify.c.
* gimplify.c (force_gimple_operand_1, force_gimple_operand,
force_gimple_operand_gsi_1, force_gimple_operand_gsi): Move to
gimplify-be.c.
* Makefile.in (OBJS): Add gimplify-be.o
* asan.c: Include only gimplify.h, gimplify-be.h, and/or gimple.h as
required.
* cfgloopmanip.c: Likewise.
* cgraphunit.c: Likewise.
* cilk-common.c: Likewise.
* fold-const.c: Likewise.
* function.c: Likewise.
* gimple-expr.c: Likewise.
* gimple-fold.c: Likewise.
* gimple-ssa-strength-reduction.c: Likewise.
* gimple.c: Likewise.
* graphite-clast-to-gimple.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-split.c: Likewise.
* ipa.c: Likewise.
* langhooks.c: Likewise.
* omp-low.c: Likewise.
* sese.c: Likewise.
* stor-layout.c: Likewise.
* targhooks.c: Likewise.
* trans-mem.c: Likewise.
* tree-affine.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-complex.c: Likewise.
* tree-if-conv.c: Likewise.
* tree-inline.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-nested.c: Likewise.
* tree-parloops.c: Likewise.
* tree-predcom.c: Likewise.
* tree-profile.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-address.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-dce.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-ifcombine.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-loop-unswitch.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-phiopt.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-strlen.c: Likewise.
* tree-ssa.c: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-tailcall.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-generic.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree.c: Likewise.
* tsan.c: Likewise.
* value-prof.c: Likewise.
* config/aarch64/aarch64.c: Likewise.
* config/alpha/alpha.c: Likewise.
* config/darwin.c: Likewise.
* config/i386/i386.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/mep/mep.c: Likewise.
* config/mips/mips.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/s390/s390.c: Likewise.
* config/sh/sh.c: Likewise.
* config/sparc/sparc.c: Likewise.
* config/spu/spu.c: Likewise.
* config/stormy16/stormy16.c: Likewise.
* config/tilegx/tilegx.c: Likewise.
* config/tilepro/tilepro.c: Likewise.
* config/xtensa/xtensa.c: Likewise.

* c/c-typeck.c: Include only gimplify.h and gimple.h as needed.
* c-family/c-common.c: Likewise.
* c-family/c-gimplify.c: Likewise.
* c-family/cilk.c: Likewise.

* cp/class.c: Include only gimplify.h and gimple.h as needed.
* cp/cp-gimplify.c: Likewise.
* cp/error.c: Likewise.
* cp/init.c: Likewise.
* cp/optimize.c: Likewise.
* cp/pt.c: Likewise.
* cp/semantics.c: Likewise.
* cp/tree.c: Likewise.
* cp/vtable-class-hierarchy.c: Likewise.

* fortran/trans-expr.c: Include only gimplify.h and gimple.h as needed.
* fortran/trans-openmp.c: Likewise.

* go/go-lang.c: Include only gimplify.h and gimple.h as needed.

* java/java-gimplify.c: Include only gimplify.h and gimple.h as needed.

* objc/objc-act.c: Include only gimplify.h and gimple.h as needed.

From-SVN: r204812

11 years agoarc.md (doloop_begin_i): Remove extra alignment; use (.&-4) idiom.
Joern Rennecke [Thu, 14 Nov 2013 18:53:25 +0000 (18:53 +0000)]
arc.md (doloop_begin_i): Remove extra alignment; use (.&-4) idiom.

* config/arc/arc.md (doloop_begin_i): Remove extra alignment;
use (.&-4) idiom.

From-SVN: r204810

11 years agosysv4le.h (LINUX64_DEFAULT_ABI_ELFv2): Define.
Ulrich Weigand [Thu, 14 Nov 2013 18:51:41 +0000 (18:51 +0000)]
sysv4le.h (LINUX64_DEFAULT_ABI_ELFv2): Define.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/sysv4le.h (LINUX64_DEFAULT_ABI_ELFv2): Define.

From-SVN: r204809

11 years agors6000.h (RS6000_SAVE_AREA): Handle ABI_ELFv2.
Ulrich Weigand [Thu, 14 Nov 2013 18:50:48 +0000 (18:50 +0000)]
rs6000.h (RS6000_SAVE_AREA): Handle ABI_ELFv2.

gcc/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Alan Modra  <amodra@gmail.com>

* config/rs6000/rs6000.h (RS6000_SAVE_AREA): Handle ABI_ELFv2.
(RS6000_SAVE_TOC): Remove.
(RS6000_TOC_SAVE_SLOT): New macro.
* config/rs6000/rs6000.c (rs6000_parm_offset): New function.
(rs6000_parm_start): Use it.
(rs6000_function_arg_advance_1): Likewise.
(rs6000_emit_prologue): Use RS6000_TOC_SAVE_SLOT.
(rs6000_emit_epilogue): Likewise.
(rs6000_call_aix): Likewise.
(rs6000_output_function_prologue): Do not save/restore r11
around calling _mcount for ABI_ELFv2.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Alan Modra  <amodra@gmail.com>

* config/rs6000/rs6000-protos.h (rs6000_reg_parm_stack_space):
Add prototype.
* config/rs6000/rs6000.h (RS6000_REG_SAVE): Remove.
(REG_PARM_STACK_SPACE): Call rs6000_reg_parm_stack_space.
* config/rs6000/rs6000.c (rs6000_parm_needs_stack): New function.
(rs6000_function_parms_need_stack): Likewise.
(rs6000_reg_parm_stack_space): Likewise.
(rs6000_function_arg): Do not replace BLKmode by Pmode when
returning a register argument.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Michael Gschwind  <mkg@us.ibm.com>

* config/rs6000/rs6000.h (FP_ARG_MAX_RETURN): New macro.
(ALTIVEC_ARG_MAX_RETURN): Likewise.
(FUNCTION_VALUE_REGNO_P): Use them.
* config/rs6000/rs6000.c (TARGET_RETURN_IN_MSB): Define.
(rs6000_return_in_msb): New function.
(rs6000_return_in_memory): Handle ELFv2 homogeneous aggregates.
Handle aggregates of up to 16 bytes for ELFv2.
(rs6000_function_value): Handle ELFv2 homogeneous aggregates.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Michael Gschwind  <mkg@us.ibm.com>

* config/rs6000/rs6000.h (AGGR_ARG_NUM_REG): Define.
* config/rs6000/rs6000.c (rs6000_aggregate_candidate): New function.
(rs6000_discover_homogeneous_aggregate): Likewise.
(rs6000_function_arg_boundary): Handle homogeneous aggregates.
(rs6000_function_arg_advance_1): Likewise.
(rs6000_function_arg): Likewise.
(rs6000_arg_partial_bytes): Likewise.
(rs6000_psave_function_arg): Handle BLKmode arguments.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Michael Gschwind  <mkg@us.ibm.com>

* config/rs6000/rs6000.h (AGGR_ARG_NUM_REG): Define.
* config/rs6000/rs6000.c (rs6000_aggregate_candidate): New function.
(rs6000_discover_homogeneous_aggregate): Likewise.
(rs6000_function_arg_boundary): Handle homogeneous aggregates.
(rs6000_function_arg_advance_1): Likewise.
(rs6000_function_arg): Likewise.
(rs6000_arg_partial_bytes): Likewise.
(rs6000_psave_function_arg): Handle BLKmode arguments.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/rs6000.c (machine_function): New member
r2_setup_needed.
(rs6000_emit_prologue): Set r2_setup_needed if necessary.
(rs6000_output_mi_thunk): Set r2_setup_needed.
(rs6000_output_function_prologue): Output global entry point
prologue and local entry point marker if needed for ABI_ELFv2.
Output -mprofile-kernel code here.
(output_function_profiler): Do not output -mprofile-kernel
code here; moved to rs6000_output_function_prologue.
(rs6000_file_start): Output ".abiversion 2" for ABI_ELFv2.

(rs6000_emit_move): Do not handle dot symbols for ABI_ELFv2.
(rs6000_output_function_entry): Likewise.
(rs6000_assemble_integer): Likewise.
(rs6000_elf_encode_section_info): Likewise.
(rs6000_elf_declare_function_name): Do not create dot symbols
or .opd section for ABI_ELFv2.

(rs6000_trampoline_size): Update for ABI_ELFv2 trampolines.
(rs6000_trampoline_init): Likewise.
(rs6000_elf_file_end): Call file_end_indicate_exec_stack
for ABI_ELFv2.

(rs6000_call_aix): Handle ELFv2 indirect calls.  Do not check
for function descriptors in ABI_ELFv2.

* config/rs6000/rs6000.md ("*call_indirect_aix<mode>"): Support
on ABI_AIX only, not ABI_ELFv2.
("*call_value_indirect_aix<mode>"): Likewise.
("*call_indirect_elfv2<mode>"): New pattern.
("*call_value_indirect_elfv2<mode>"): Likewise.

* config/rs6000/predicates.md ("symbol_ref_operand"): Do not
check for function descriptors in ABI_ELFv2.
("current_file_function_operand"): Likewise.

* config/rs6000/ppc-asm.h [__powerpc64__ && _CALL_ELF == 2]:
(toc): Undefine.
(FUNC_NAME): Define ELFv2 variant.
(JUMP_TARGET): Likewise.
(FUNC_START): Likewise.
(HIDDEN_FUNC): Likewise.
(FUNC_END): Likeiwse.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config.gcc [powerpc*-*-* | rs6000-*-*]: Support --with-abi=elfv1
and --with-abi=elfv2.
* config/rs6000/option-defaults.h (OPTION_DEFAULT_SPECS): Add "abi".
* config/rs6000/rs6000.opt (mabi=elfv1): New option.
(mabi=elfv2): Likewise.
* config/rs6000/rs6000-opts.h (enum rs6000_abi): Add ABI_ELFv2.
* config/rs6000/linux64.h (DEFAULT_ABI): Do not hard-code to AIX_ABI
if !RS6000_BI_ARCH.
(ELFv2_ABI_CHECK): New macro.
(SUBSUBTARGET_OVERRIDE_OPTIONS): Use it to decide whether to set
rs6000_current_abi to ABI_AIX or ABI_ELFv2.
(GLIBC_DYNAMIC_LINKER64): Support ELFv2 ld.so version.
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Predefine
_CALL_ELF and __STRUCT_PARM_ALIGN__ if appropriate.

* config/rs6000/rs6000.c (rs6000_debug_reg_global): Handle ABI_ELFv2.
(debug_stack_info): Likewise.
(rs6000_file_start): Treat ABI_ELFv2 the same as ABI_AIX.
(rs6000_legitimize_tls_address): Likewise.
(rs6000_conditional_register_usage): Likewise.
(rs6000_emit_move): Likewise.
(init_cumulative_args): Likewise.
(rs6000_function_arg_advance_1): Likewise.
(rs6000_function_arg): Likewise.
(rs6000_arg_partial_bytes): Likewise.
(rs6000_output_function_entry): Likewise.
(rs6000_assemble_integer): Likewise.
(rs6000_savres_strategy): Likewise.
(rs6000_stack_info): Likewise.
(rs6000_function_ok_for_sibcall): Likewise.
(rs6000_emit_load_toc_table): Likewise.
(rs6000_savres_routine_name): Likewise.
(ptr_regno_for_savres): Likewise.
(rs6000_emit_prologue): Likewise.
(rs6000_emit_epilogue): Likewise.
(rs6000_output_function_epilogue): Likewise.
(output_profile_hook): Likewise.
(output_function_profiler): Likewise.
(rs6000_trampoline_size): Likewise.
(rs6000_trampoline_init): Likewise.
(rs6000_elf_output_toc_section_asm_op): Likewise.
(rs6000_elf_encode_section_info): Likewise.
(rs6000_elf_reloc_rw_mask): Likewise.
(rs6000_elf_declare_function_name): Likewise.
(rs6000_function_arg_boundary): Treat ABI_ELFv2 the same as ABI_AIX,
except that rs6000_compat_align_parm is always assumed false.
(rs6000_gimplify_va_arg): Likewise.
(rs6000_call_aix): Update comment.
(rs6000_sibcall_aix): Likewise.
* config/rs6000/rs6000.md ("tls_gd_aix<TLSmode:tls_abi_suffix>"):
Treat ABI_ELFv2 the same as ABI_AIX.
("*tls_gd_call_aix<TLSmode:tls_abi_suffix>"): Likewise.
("tls_ld_aix<TLSmode:tls_abi_suffix>"): Likewise.
("*tls_ld_call_aix<TLSmode:tls_abi_suffix>"): Likewise.
("load_toc_aix_si"): Likewise.
("load_toc_aix_di"): Likewise.
("call"): Likewise.
("call_value"): Likewise.
("*call_local_aix<mode>"): Likewise.
("*call_value_local_aix<mode>"): Likewise.
("*call_nonlocal_aix<mode>"): Likewise.
("*call_value_nonlocal_aix<mode>"): Likewise.
("*call_indirect_aix<mode>"): Likewise.
("*call_value_indirect_aix<mode>"): Likewise.
("sibcall"): Likewise.
("sibcall_value"): Likewise.
("*sibcall_aix<mode>"): Likewise.
("*sibcall_value_aix<mode>"): Likewise.
* config/rs6000/predicates.md ("symbol_ref_operand"): Likewise.
("current_file_function_operand"): Likewise.

gcc/testsuite/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* gcc.target/powerpc/ppc64-abi-1.c (stack_frame_t): Remove
compiler and linker field if _CALL_ELF == 2.
* gcc.target/powerpc/ppc64-abi-2.c (stack_frame_t): Likewise.
* gcc.target/powerpc/ppc64-abi-dfp-1.c (stack_frame_t): Likewise.
* gcc.dg/stack-usage-1.c (SIZE): Update value for _CALL_ELF == 2.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* gcc.target/powerpc/ppc64-abi-dfp-1.c (FUNC_START): New macro.
(WRAPPER): Use it.
* gcc.target/powerpc/no-r11-1.c: Skip on powerpc_elfv2.
* gcc.target/powerpc/no-r11-2.c: Skip on powerpc_elfv2.
* gcc.target/powerpc/no-r11-3.c: Skip on powerpc_elfv2.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* lib/target-supports.exp (check_effective_target_powerpc_elfv2):
New function.
* gcc.target/powerpc/pr57949-1.c: Disable for powerpc_elfv2.
* gcc.target/powerpc/pr57949-2.c: Likewise.

libgcc/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Alan Modra  <amodra@gmail.com>

* config/rs6000/linux-unwind.h (TOC_SAVE_SLOT): Define.
(frob_update_context): Use it.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Alan Modra  <amodra@gmail.com>

* config/rs6000/tramp.S [__powerpc64__ && _CALL_ELF == 2]:
(trampoline_initial): Provide ELFv2 variant.
(__trampoline_setup): Likewise.

* config/rs6000/linux-unwind.h (frob_update_context): Do not
check for AIX indirect function call sequence if _CALL_ELF == 2.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Alan Modra  <amodra@gmail.com>

* config/rs6000/linux-unwind.h (get_regs): Do not support
old kernel versions if _CALL_ELF == 2.
(frob_update_context): Do not support PLT stub variants only
generated by old linkers if _CALL_ELF == 2.

libitm/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/powerpc/sjlj.S [__powerpc64__ && _CALL_ELF == 2]:
(FUNC): Define ELFv2 variant.
(END): Likewise.
(HIDDEN): Likewise.
(CALL): Likewise.
(BASE): Likewise.
(LR_SAVE): Likewise.

libstdc++/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* scripts/extract_symvers.in: Ignore <localentry: > fields
in readelf --symbols output.

Co-Authored-By: Alan Modra <amodra@gmail.com>
Co-Authored-By: Michael Gschwind <mkg@us.ibm.com>
From-SVN: r204808

11 years agors6000.c (rs6000_arg_partial_bytes): Simplify logic by making use of the fact that...
Ulrich Weigand [Thu, 14 Nov 2013 18:40:12 +0000 (18:40 +0000)]
rs6000.c (rs6000_arg_partial_bytes): Simplify logic by making use of the fact that for vector / floating point...

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Simplify logic
by making use of the fact that for vector / floating point arguments
passed both in VRs/FPRs and in the fixed parameter area, the partial
bytes mechanism is in fact not used.

From-SVN: r204807

11 years agors6000.c (rs6000_psave_function_arg): New function.
Ulrich Weigand [Thu, 14 Nov 2013 18:39:14 +0000 (18:39 +0000)]
rs6000.c (rs6000_psave_function_arg): New function.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/rs6000.c (rs6000_psave_function_arg): New function.
(rs6000_finish_function_arg): Likewise.
(rs6000_function_arg): Use rs6000_psave_function_arg and
rs6000_finish_function_arg to handle both vector and floating
point arguments that are also passed in GPRs / the stack.

From-SVN: r204806

11 years agors6000.c (USE_FP_FOR_ARG_P): Remove TYPE argument.
Ulrich Weigand [Thu, 14 Nov 2013 18:38:08 +0000 (18:38 +0000)]
rs6000.c (USE_FP_FOR_ARG_P): Remove TYPE argument.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Remove TYPE argument.
(USE_ALTIVEC_FOR_ARG_P): Likewise.
(rs6000_darwin64_record_arg_advance_recurse): Update uses.
(rs6000_function_arg_advance_1):Likewise.
(rs6000_darwin64_record_arg_recurse): Likewise.
(rs6000_function_arg): Likewise.
(rs6000_arg_partial_bytes): Likewise.

From-SVN: r204805

11 years agors6000.c (rs6000_option_override_internal): Replace "DEFAULT_ABI != ABI_AIX" test...
Ulrich Weigand [Thu, 14 Nov 2013 18:36:48 +0000 (18:36 +0000)]
rs6000.c (rs6000_option_override_internal): Replace "DEFAULT_ABI != ABI_AIX" test by testing for ABI_V4 or ABI_DARWIN.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/rs6000.c (rs6000_option_override_internal): Replace
"DEFAULT_ABI != ABI_AIX" test by testing for ABI_V4 or ABI_DARWIN.
(rs6000_savres_strategy): Likewise.
(rs6000_return_addr): Likewise.
(rs6000_emit_load_toc_table): Replace "DEFAULT_ABI != ABI_AIX" by
testing for ABI_V4 (since ABI_DARWIN is impossible here).
(rs6000_emit_prologue): Likewise.
(legitimate_lo_sum_address_p): Simplify DEFAULT_ABI test.
(rs6000_elf_declare_function_name): Remove duplicated test.
* config/rs6000/rs6000.md ("load_toc_v4_PIC_1"): Explicitly test
for ABI_V4 (instead of "DEFAULT_ABI != ABI_AIX" test).
("load_toc_v4_PIC_1_normal"): Likewise.
("load_toc_v4_PIC_1_476"): Likewise.
("load_toc_v4_PIC_1b"): Likewise.
("load_toc_v4_PIC_1b_normal"): Likewise.
("load_toc_v4_PIC_1b_476"): Likewise.
("load_toc_v4_PIC_2"): Likewise.
("load_toc_v4_PIC_3b"): Likewise.
("load_toc_v4_PIC_3c"): Likewise.
* config/rs6000/rs6000.h (RS6000_REG_SAVE): Simplify DEFAULT_ABI test.
(RS6000_SAVE_AREA): Likewise.
(FP_ARG_MAX_REG): Likewise.
(RETURN_ADDRESS_OFFSET): Likewise.
* config/rs6000/sysv.h (TARGET_TOC): Test for ABI_V4 instead
of ABI_AIX.
(SUBTARGET_OVERRIDE_OPTIONS): Likewise.
(MINIMAL_TOC_SECTION_ASM_OP): Likewise.

From-SVN: r204804

11 years agors6000.c (rs6000_call_indirect_aix): Rename to ...
Ulrich Weigand [Thu, 14 Nov 2013 18:32:48 +0000 (18:32 +0000)]
rs6000.c (rs6000_call_indirect_aix): Rename to ...

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/rs6000.c (rs6000_call_indirect_aix): Rename to ...
(rs6000_call_aix): ... this.  Handle both direct and indirect calls.
Create call insn directly instead of via various gen_... routines.
Mention special registers used by the call in CALL_INSN_FUNCTION_USAGE.
(rs6000_sibcall_aix): New function.
* config/rs6000/rs6000.md (TOC_SAVE_OFFSET_32BIT): Remove.
(TOC_SAVE_OFFSET_64BIT): Likewise.
(AIX_FUNC_DESC_TOC_32BIT): Likewise.
(AIX_FUNC_DESC_TOC_64BIT): Likewise.
(AIX_FUNC_DESC_SC_32BIT): Likewise.
(AIX_FUNC_DESC_SC_64BIT): Likewise.
("call" expander): Call rs6000_call_aix.
("call_value" expander): Likewise.
("call_indirect_aix<ptrsize>"): Replace this pattern ...
("call_indirect_aix<ptrsize>_nor11"): ... and this pattern ...
("*call_indirect_aix<mode>"): ... by this insn pattern.
("call_value_indirect_aix<ptrsize>"): Replace this pattern ...
("call_value_indirect_aix<ptrsize>_nor11"): ... and this pattern ...
("*call_value_indirect_aix<mode>"): ... by this insn pattern.
("*call_nonlocal_aix32", "*call_nonlocal_aix64"): Replace by ...
("*call_nonlocal_aix<mode>"): ... this pattern.
("*call_value_nonlocal_aix32", "*call_value_nonlocal_aix64"): Replace
("*call_value_nonlocal_aix<mode>"): ... by this pattern.
("*call_local_aix<mode>"): New insn pattern.
("*call_value_local_aix<mode>"): Likewise.
("sibcall" expander): Call rs6000_sibcall_aix.
("sibcall_value" expander): Likewise.  Move earlier in file.
("*sibcall_nonlocal_aix<mode>"): Replace by ...
("*sibcall_aix<mode>"): ... this pattern.
("*sibcall_value_nonlocal_aix<mode>"): Replace by ...
("*sibcall_value_aix<mode>"): ... this pattern.
* config/rs6000/rs6000-protos.h (rs6000_call_indirect_aix): Remove.
(rs6000_call_aix): Add prototype.
(rs6000_sibcall_aix): Likewise.

From-SVN: r204803

11 years agoForgot to add file in last commit.
Ulrich Weigand [Thu, 14 Nov 2013 18:30:19 +0000 (18:30 +0000)]
Forgot to add file in last commit.

From-SVN: r204802

11 years agore PR sanitizer/59122 (libsanitizer merge from upstream r191666 causes duplicate...
Jakub Jelinek [Thu, 14 Nov 2013 18:28:43 +0000 (19:28 +0100)]
re PR sanitizer/59122 (libsanitizer merge from upstream r191666 causes duplicate symbol errors)

PR sanitizer/59122
* asan.c (asan_emit_stack_protection): Ensure -fsection-anchors
isn't confused by the artificial decl.

From-SVN: r204801

11 years agolinux-unwind.h (ppc_fallback_frame_state): Correct location of CR save area for 64...
Ulrich Weigand [Thu, 14 Nov 2013 18:25:33 +0000 (18:25 +0000)]
linux-unwind.h (ppc_fallback_frame_state): Correct location of CR save area for 64-bit little-endian systems.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Alan Modra  <amodra@gmail.com>

* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Correct
location of CR save area for 64-bit little-endian systems.

Co-Authored-By: Alan Modra <amodra@gmail.com>
From-SVN: r204800

11 years agors6000.c (rs6000_emit_prologue): Do not place a RTX_FRAME_RELATED_P marker on the...
Ulrich Weigand [Thu, 14 Nov 2013 18:24:32 +0000 (18:24 +0000)]
rs6000.c (rs6000_emit_prologue): Do not place a RTX_FRAME_RELATED_P marker on the UNSPEC_MOVESI_FROM_CR insn.

ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/rs6000.c (rs6000_emit_prologue): Do not place a
RTX_FRAME_RELATED_P marker on the UNSPEC_MOVESI_FROM_CR insn.
Instead, add USEs of all modified call-saved CR fields to the
insn storing the result to the stack slot, and provide an
appropriate REG_FRAME_RELATED_EXPR for that insn.
* config/rs6000/rs6000.md ("*crsave"): New insn pattern.
* config/rs6000/predicates.md ("crsave_operation"): New predicate.

testsuite/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* g++.dg/eh/ppc64-sighandle-cr.C: New test.

From-SVN: r204799

11 years agofunction.c (assign_parms): Use all.reg_parm_stack_space instead of re-evaluating...
Ulrich Weigand [Thu, 14 Nov 2013 18:22:30 +0000 (18:22 +0000)]
function.c (assign_parms): Use all.reg_parm_stack_space instead of re-evaluating REG_PARM_STACK_SPACE...

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Alan Modra  <amodra@gmail.com>

* function.c (assign_parms): Use all.reg_parm_stack_space instead
of re-evaluating REG_PARM_STACK_SPACE target macro.
(locate_and_pad_parm): New parameter REG_PARM_STACK_SPACE.  Use it
instead of evaluating target macro REG_PARM_STACK_SPACE every time.
(assign_parm_find_entry_rtl): Update call.
* calls.c (initialize_argument_information): Update call.
(emit_library_call_value_1): Likewise.
* expr.h (locate_and_pad_parm): Update prototype.

Co-Authored-By: Alan Modra <amodra@gmail.com>
From-SVN: r204798