platform/upstream/linaro-gcc.git
9 years agoReorganize post-ra pipeline for targets without register allocation.
bernds [Wed, 5 Nov 2014 12:14:45 +0000 (12:14 +0000)]
Reorganize post-ra pipeline for targets without register allocation.

* passes.def (pass_compute_alignments, pass_duplicate_computed_gotos,
pass_variable_tracking, pass_free_cfg, pass_machine_reorg,
pass_cleanup_barriers, pass_delay_slots,
pass_split_for_shorten_branches, pass_convert_to_eh_region_ranges,
pass_shorten_branches, pass_est_nothrow_function_flags,
pass_dwarf2_frame, pass_final): Move outside of pass_postreload and
into pass_late_compilation.
(pass_late_compilation): Add.
* passes.c (pass_data_late_compilation, pass_late_compilation,
make_pass_late_compilation): New.
* timevar.def (TV_LATE_COMPILATION): New.

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

9 years agoAllow a target to skip an unnecssary register return value for a struct return.
bernds [Wed, 5 Nov 2014 12:14:36 +0000 (12:14 +0000)]
Allow a target to skip an unnecssary register return value for a struct return.

* target.def (omit_struct_return_reg): New data hook.
* doc/tm.texi.in: Add @hook TARGET_OMIT_STRUCT_RETURN_REG.
* doc/tm.texi: Regenerate.
* function.c (expand_function_end): Use it.

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

9 years agoAdd a no_register_allocation target hook.
bernds [Wed, 5 Nov 2014 12:14:27 +0000 (12:14 +0000)]
Add a no_register_allocation target hook.

* target.def (no_register_allocation): New data hook.
* doc/tm.texi.in: Add @hook TARGET_NO_REGISTER_ALLOCATION.
* doc/tm.texi: Regenerate.
* ira.c (gate_ira): New function.
(pass_data_ira): Set has_gate.
(pass_ira): Add a gate function.
(pass_data_reload): Likewise.
(pass_reload): Add a gate function.
(pass_ira): Use it.
* reload1.c (eliminate_regs): If reg_eliminate_is NULL, assert that
no register allocation happens on the target and return.
* final.c (alter_subreg): Ensure register is not a pseudo before
calling simplify_subreg.
(output_operand): Assert that x isn't a pseudo only if doing
register allocation.

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

9 years agoDon't unnecessarily call eliminate_regs.
bernds [Wed, 5 Nov 2014 12:14:18 +0000 (12:14 +0000)]
Don't unnecessarily call eliminate_regs.

* dbxout.c (dbxout_symbol): Don't call eliminate_regs on decls for
global vars.

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

9 years agoAllow a port not to define an indirect_jump pattern.
bernds [Wed, 5 Nov 2014 12:14:10 +0000 (12:14 +0000)]
Allow a port not to define an indirect_jump pattern.

* optabs.c (emit_indirect_jump): Test HAVE_indirect_jump and emit a
sorry if necessary.

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

9 years ago2014-11-05 Alex Velenko <Alex.Velenko@arm.com>
thopre01 [Wed, 5 Nov 2014 11:22:28 +0000 (11:22 +0000)]
2014-11-05  Alex Velenko  <Alex.Velenko@arm.com>

    gcc/
    * simplify-rtx.c (simplify_binary_operation_1): Div check added.
    * rtl.h (SUBREG_P): New macro added.

    gcc/testsuite/
    * gcc.dg/asr-div1.c: New testcase.

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

9 years agoFix gnu11 fallout on Solaris 10+
ro [Wed, 5 Nov 2014 09:52:42 +0000 (09:52 +0000)]
Fix gnu11 fallout on Solaris 10+

libobjc:
* thr.c (_XOPEN_SOURCE): Define as 600.

libiberty:
* sigsetmask.c (_POSIX_SOURCE): Remove.

libgomp:
* config/posix/lock.c (_XOPEN_SOURCE) Define as 600.

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

9 years ago[AArch64] Restructure arm_neon.h vector types.
belagod [Wed, 5 Nov 2014 08:26:54 +0000 (08:26 +0000)]
[AArch64] Restructure arm_neon.h vector types.

2014-11-05  Tejas Belagod  <tejas.belagod@arm.com>

* config/aarch64/aarch64-builtins.c
(aarch64_build_scalar_type): Remove.
(aarch64_scalar_builtin_types, aarch64_simd_type,
aarch64_simd_type, aarch64_mangle_builtin_scalar_type,
aarch64_mangle_builtin_vector_type,
aarch64_mangle_builtin_type, aarch64_simd_builtin_std_type,
aarch64_lookup_simd_builtin_type, aarch64_simd_builtin_type,
aarch64_init_simd_builtin_types,
aarch64_init_simd_builtin_scalar_types): New.
(aarch64_init_simd_builtins): Refactor.
(aarch64_init_crc32_builtins): Fixup with qualifier.
* config/aarch64/aarch64-protos.h
(aarch64_mangle_builtin_type): Export.
* config/aarch64/aarch64-simd-builtin-types.def: New.
* config/aarch64/aarch64.c (aarch64_simd_mangle_map): Remove.
(aarch64_mangle_type): Refactor.
* config/aarch64/arm_neon.h: Declare vector types based on
internal types.
* config/aarch64/t-aarch64: Update dependency.

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

9 years ago * go.test/go-test.exp (go-set-goarch): Enable tests on s390[x].
ian [Wed, 5 Nov 2014 04:08:11 +0000 (04:08 +0000)]
* go.test/go-test.exp (go-set-goarch): Enable tests on s390[x].

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

9 years ago * go.test/go-test.exp: In +build lines, require whitespace around
ian [Wed, 5 Nov 2014 04:04:24 +0000 (04:04 +0000)]
* go.test/go-test.exp: In +build lines, require whitespace around
expected strings, fix check for negation.

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

9 years agosync/atomic: fix data races in tests
ian [Wed, 5 Nov 2014 03:39:49 +0000 (03:39 +0000)]
sync/atomic: fix data races in tests

Backport https://codereview.appspot.com/111320044 from Go
master library.

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

9 years agoDaily bump.
gccadmin [Wed, 5 Nov 2014 00:16:21 +0000 (00:16 +0000)]
Daily bump.

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

9 years agolibgo: add s390 support
ian [Tue, 4 Nov 2014 22:39:30 +0000 (22:39 +0000)]
libgo: add s390 support

From Dominik Vogt.

* libgo/go/syscall/libcall_linux_s390.go: New file for s390 support.
* libgo/go/syscall/syscall_linux_s390.go: Ditto.
* libgo/go/syscall/libcall_linux_s390x.go: New file for s390x support.
* libgo/go/syscall/syscall_linux_s390x.go: Ditto.
* libgo/go/runtime/pprof/pprof.go (printStackRecord): Support s390 and
s390x.
* libgo/runtime/runtime.c (runtime_cputicks): Add support for s390 and
s390x
* libgo/mksysinfo.sh: Ditto.
(upcase_fields): New helper function

* libgo/go/debug/elf/file.go (applyRelocations): Implement relocations
on s390x.
(applyRelocationsS390x): Ditto.
(DWARF): Ditto.
* libgo/go/debug/elf/elf.go (R_390): New constants for S390 relocations.
(r390Strings): Ditto.
(String): Helper function for S390 relocations.
(GoString): Ditto.

* libgo/go/reflect/makefuncgo_s390.go: New file.
(S390MakeFuncStubGo): Implementation of s390 abi.
* libgo/go/reflect/makefuncgo_s390x.go: New file.
(S390xMakeFuncStubGo): Implementation of s390x abi.
* libgo/go/reflect/makefunc_s390.c: New file.
(makeFuncStub): s390 and s390x specific implementation of function.
* libgo/go/reflect/makefunc.go
(MakeFunc): Add support for s390 and s390x.
(makeMethodValue): Ditto.
(makeValueMethod): Ditto.
* libgo/Makefile.am (go_reflect_makefunc_s_file): Ditto.
(go_reflect_makefunc_file): Ditto.
* libgo/go/reflect/makefunc_dummy.c: Ditto.
* libgo/runtime/runtime.h (__go_makefunc_can_recover): Export prototype
for use in makefunc_s390.c.
(__go_makefunc_returning): Ditto.

* libgo/go/syscall/exec_linux.go (forkAndExecInChild): Fix order of the
arguments of the clone system call for s390[x].

* libgo/configure.ac (is_s390): New variable.
(is_s390x): Ditto
(LIBGO_IS_S390): Ditto.
(LIBGO_IS_S390X): Ditto.
(GOARCH): Support s390 and s390x.
* libgo/go/go/build/build.go (cgoEnabled): Ditto.
* libgo/go/go/build/syslist.go (goarchList): Ditto.

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

9 years ago * config/rs6000/rs6000.c (atomic_hold_decl, atomic_clear_decl,
pthaugen [Tue, 4 Nov 2014 22:34:43 +0000 (22:34 +0000)]
* config/rs6000/rs6000.c (atomic_hold_decl, atomic_clear_decl,
atomic_update_decl): Guard declaration with #ifdef.

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

9 years ago2014-11-04 Richard Biener <rguenther@suse.de>
rguenth [Tue, 4 Nov 2014 20:46:52 +0000 (20:46 +0000)]
2014-11-04  Richard Biener  <rguenther@suse.de>

* c-common.c (shorten_compare): Do not shorten mixed
DFP and non-DFP compares.

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

9 years ago * sanopt.c (sanopt_optimize_walker): Remove unused variables.
mpolacek [Tue, 4 Nov 2014 19:59:35 +0000 (19:59 +0000)]
* sanopt.c (sanopt_optimize_walker): Remove unused variables.

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

9 years ago * Makefile.in (OBJS): Add sanopt.o.
mpolacek [Tue, 4 Nov 2014 19:43:01 +0000 (19:43 +0000)]
* Makefile.in (OBJS): Add sanopt.o.
(GTFILES): Add sanopt.c.
* asan.h (asan_expand_check_ifn): Declare.
* asan.c (asan_expand_check_ifn): No longer static.
(class pass_sanopt, pass_sanopt::execute, make_pass_sanopt): Move...
* sanopt.c: ...here.  New file.
testsuite/
* c-c++-common/ubsan/align-2.c: Remove dg-output.
* c-c++-common/ubsan/align-4.c: Likewise.
* g++.dg/ubsan/null-1.C: Likewise.
* g++.dg/ubsan/null-2.C: Likewise.

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

9 years ago * gcc.misc-tests/godump-1.c (dg-skip-if): Add alpha*-*-*.
uros [Tue, 4 Nov 2014 18:30:32 +0000 (18:30 +0000)]
* gcc.misc-tests/godump-1.c (dg-skip-if): Add alpha*-*-*.

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

9 years ago * g++.dg/ipa/devirt-44.C (dg-options): Remove -fdump-tree-optimized.
uros [Tue, 4 Nov 2014 18:21:34 +0000 (18:21 +0000)]
* g++.dg/ipa/devirt-44.C (dg-options): Remove -fdump-tree-optimized.
* g++.dg/ipa/devirt-45.C (dg-options): Ditto.
* g++.dg/tree-prof/morefunc.C (dg-final-use): Cleanup profile ipa dump.
* g++.dg/tree-prof/reorder.C (dg-final-use): Ditto.
* g++.dg/tree-prof/pr35545.C (dg-fina-use): Cleanup profile_estimate
ipa dump.
* gcc.dg/fold-reassoc-3.c (dg-final): Fix scan string.
Cleanup original tree dump.
* gcc.dg/tree-prof/20050826-2.c (dg-final-use): Cleanup dom1 tree dump.
* gcc.dg/tree-prof/cmpsf-1.c (dg-final-use): Ditto.
* gcc.dg/tree-ssa/pr61144.c (dg-final): Cleanup optimized tree dump.

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

9 years agocompiler: Logical operators should yield untyped bool for untyped operands.
ian [Tue, 4 Nov 2014 17:49:01 +0000 (17:49 +0000)]
compiler: Logical operators should yield untyped bool for untyped operands.

Fixes issue 6671 for gccgo.

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

9 years agogcc/testsuite/
jamborm [Tue, 4 Nov 2014 17:39:06 +0000 (17:39 +0000)]
gcc/testsuite/

2014-11-04  Martin Jambor  <mjambor@suse.cz>

* g++/dg/ipa/devirt-40.C: Changed dump to not matching OBJ_TYPE_REF in
function body.

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

9 years ago[AArch64] fix unsafe access to deallocated stack
jiwang [Tue, 4 Nov 2014 17:13:25 +0000 (17:13 +0000)]
[AArch64] fix unsafe access to deallocated stack

2014-11-04  Jiong Wang  <jiong.wang@arm.com>
2014-11-04  Wilco Dijkstra  <wilco.dijkstra@arm.com>

  gcc/
    PR target/63293
    * config/aarch64/aarch64.c (aarch64_expand_epiloue): Add barriers before
    stack adjustment.

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

9 years ago * testsuite/util/testsuite_allocator.h (operator==): Fix recursion.
redi [Tue, 4 Nov 2014 16:54:49 +0000 (16:54 +0000)]
* testsuite/util/testsuite_allocator.h (operator==): Fix recursion.

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

9 years agoFix up mode confusion in combine_simplify_rtx.
bernds [Tue, 4 Nov 2014 15:25:45 +0000 (15:25 +0000)]
Fix up mode confusion in combine_simplify_rtx.

The surrounding code was already fixed back when BImode was added.

* combine.c (combine_simplify_rtx): In STORE_FLAG_VALUE == -1 case,
also verify that mode is equal to the mode of op0.

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

9 years agoMake a temporary sequence for a jump emitted only to examine its length.
bernds [Tue, 4 Nov 2014 15:25:37 +0000 (15:25 +0000)]
Make a temporary sequence for a jump emitted only to examine its length.

* bb-reorder.c (get_uncond_jump_length): Avoid using delete_insn,
emit into a sequence instead.

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

9 years agoFix type mismatches in intrinsic functions.
bernds [Tue, 4 Nov 2014 15:25:28 +0000 (15:25 +0000)]
Fix type mismatches in intrinsic functions.

* f95-lang.c (gfc_init_builtin_functions): Use type index 2 for
scalbn, scalbnl and scalbnf.
* mathbuiltins.def (JN, YN): Use type index 5.

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

9 years ago * lib/g++-dg.exp (g++-dg-runtest): Change -std=c++1y to -std=c++14.
jason [Tue, 4 Nov 2014 14:55:32 +0000 (14:55 +0000)]
* lib/g++-dg.exp (g++-dg-runtest): Change -std=c++1y to -std=c++14.
* lib/target-supports.exp (check_effective_target_c++14_only): Likewise.

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

9 years ago2014-11-04 Jan-Benedict Glaw <jbglaw@lug-owl.de>
jbglaw [Tue, 4 Nov 2014 12:41:23 +0000 (12:41 +0000)]
2014-11-04  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* config/sh/sh.c (emit_fpu_switch): Drop unused automatic variable.

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

9 years ago gcc/testsuite/
ams [Tue, 4 Nov 2014 12:09:50 +0000 (12:09 +0000)]
gcc/testsuite/
* gcc.target/powerpc/pr60102.c: Move dg-skip-if after dg-options.
* gcc.target/powerpc/swaps-p8-12.c: Skip test if there would be
conflicting -mcpu options.
* gcc.target/powerpc/ppc-target-2.c: Likewise.
* gcc.target/powerpc/cell_builtin-7.c: Likewise.
* gcc.target/powerpc/dfp-builtin-1.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-1.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-7.c: Likewise.
* gcc.target/powerpc/p8vector-vectorize-1.c: Likewise.
* gcc.target/powerpc/pr48053-3.c: Likewise.
* gcc.target/powerpc/vsx-builtin-6.c: Likewise.
* gcc.target/powerpc/440-nmaclhw-1.c: Likewise.
* gcc.target/powerpc/pr57744.c: Likewise.
* gcc.target/powerpc/pr47862.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-8.c: Likewise.
* gcc.target/powerpc/recip-1.c: Likewise.
* gcc.target/powerpc/darwin-longlong.c: Likewise.
* gcc.target/powerpc/bool2-p8.c: Likewise.
* gcc.target/powerpc/mmfpgpr.c: Likewise.
* gcc.target/powerpc/pr60203.c: Likewise.
* gcc.target/powerpc/direct-move-vint1.c: Likewise.
* gcc.target/powerpc/bool2-av.c: Likewise.
* gcc.target/powerpc/pr43154.c: Likewise.
* gcc.target/powerpc/ppc-fma-2.c: Likewise.
* gcc.target/powerpc/swaps-p8-5.c: Likewise.
* gcc.target/powerpc/pr59054.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-11.c: Likewise.
* gcc.target/powerpc/440-mullhwu-1.c: Likewise.
* gcc.target/powerpc/swaps-p8-13.c: Likewise.
* gcc.target/powerpc/ppc-target-3.c: Likewise.
* gcc.target/powerpc/cell_builtin-8.c: Likewise.
* gcc.target/powerpc/dfp-builtin-2.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-2.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-8.c: Likewise.
* gcc.target/powerpc/p8vector-vectorize-2.c: Likewise.
* gcc.target/powerpc/p8vector-vbpermq.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-1.c: Likewise.
* gcc.target/powerpc/bswap64-3.c: Likewise.
* gcc.target/powerpc/bcd-1.c: Likewise.
* gcc.target/powerpc/440-mulchwu-1.c: Likewise.
* gcc.target/powerpc/extend-divide-1.c: Likewise.
* gcc.target/powerpc/vsx-builtin-7.c: Likewise.
* gcc.target/powerpc/pr48192.c: Likewise.
* gcc.target/powerpc/pr52775.c: Likewise.
* gcc.target/powerpc/p8vector-int128-1.c: Likewise.
* gcc.target/powerpc/pr58673-1.c: Likewise.
* gcc.target/powerpc/pr53487.c: Likewise.
* gcc.target/powerpc/440-nmaclhw-2.c: Likewise.
* gcc.target/powerpc/recip-2.c: Likewise.
* gcc.target/powerpc/p8vector-fp.c: Likewise.
* gcc.target/powerpc/direct-move-vint2.c: Likewise.
* gcc.target/powerpc/ppc-fma-3.c: Likewise.
* gcc.target/powerpc/pr57150.c: Likewise.
* gcc.target/powerpc/pr47251.c: Likewise.
* gcc.target/powerpc/swaps-p8-6.c: Likewise.
* gcc.target/powerpc/440-mullhwu-2.c: Likewise.
* gcc.target/powerpc/bool3-p7.c: Likewise.
* gcc.target/powerpc/cell_builtin-1.c: Likewise.
* gcc.target/powerpc/swaps-p8-14.c: Likewise.
* gcc.target/powerpc/ppc-target-4.c: Likewise.
* gcc.target/powerpc/440-mulhhw-1.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-1.c: Likewise.
* gcc.target/powerpc/440-machhw-1.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-3.c: Likewise.
* gcc.target/powerpc/vsx-mass-1.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-9.c: Likewise.
* gcc.target/powerpc/p8vector-vectorize-3.c: Likewise.
* gcc.target/powerpc/loop_align.c: Likewise.
* gcc.target/powerpc/lhs-1.c: Likewise.
* gcc.target/powerpc/sd-vsx.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-2.c: Likewise.
* gcc.target/powerpc/bcd-2.c: Likewise.
* gcc.target/powerpc/20040121-1.c: Likewise.
* gcc.target/powerpc/pr52457.c: Likewise.
* gcc.target/powerpc/440-mulchwu-2.c: Likewise.
* gcc.target/powerpc/extend-divide-2.c: Likewise.
* gcc.target/powerpc/vsx-builtin-8.c: Likewise.
* gcc.target/powerpc/p8vector-int128-2.c: Likewise.
* gcc.target/powerpc/pr58673-2.c: Likewise.
* gcc.target/powerpc/atomic-p7.c: Likewise.
* gcc.target/powerpc/recip-3.c: Likewise.
* gcc.target/powerpc/440-maclhwu-1.c: Likewise.
* gcc.target/powerpc/optimize-bswapsi-2.c: Likewise.
* gcc.target/powerpc/popcount-1.c: Likewise.
* gcc.target/powerpc/altivec-32.c: Likewise.
* gcc.target/powerpc/timode_off.c: Likewise.
* gcc.target/powerpc/p8vector-ldst.c: Likewise.
* gcc.target/powerpc/pack01.c: Likewise.
* gcc.target/powerpc/pr55033.c: Likewise.
* gcc.target/powerpc/ppc-fma-4.c: Likewise.
* gcc.target/powerpc/swaps-p8-7.c: Likewise.
* gcc.target/powerpc/ppu-intrinsics.c: Likewise.
* gcc.target/powerpc/440-macchwu-1.c: Likewise.
* gcc.target/powerpc/440-mulhhwu-1.c: Likewise.
* gcc.target/powerpc/440-mulchw-1.c: Likewise.
* gcc.target/powerpc/bool3-p8.c: Likewise.
* gcc.target/powerpc/cell_builtin-2.c: Likewise.
* gcc.target/powerpc/swaps-p8-15.c: Likewise.
* gcc.target/powerpc/440-macchw-1.c: Likewise.
* gcc.target/powerpc/440-mulhhw-2.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-2.c: Likewise.
* gcc.target/powerpc/440-machhw-2.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-4.c: Likewise.
* gcc.target/powerpc/pr46728-16.c: Likewise.
* gcc.target/powerpc/vsx-builtin-1.c: Likewise.
* gcc.target/powerpc/bool3-av.c: Likewise.
* gcc.target/powerpc/p8vector-vectorize-4.c: Likewise.
* gcc.target/powerpc/ppc-pow.c: Likewise.
* gcc.target/powerpc/lhs-2.c: Likewise.
* gcc.target/powerpc/pr39902-2.c: Likewise.
* gcc.target/powerpc/20041111-1.c: Likewise.
* gcc.target/powerpc/builtins-1.c: Likewise.
* gcc.target/powerpc/bcd-3.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-3.c: Likewise.
* gcc.target/powerpc/pr57949-1.c: Likewise.
* gcc.target/powerpc/atomic-p8.c: Likewise.
* gcc.target/powerpc/sd-pwr6.c: Likewise.
* gcc.target/powerpc/recip-4.c: Likewise.
* gcc.target/powerpc/440-maclhwu-2.c: Likewise.
* gcc.target/powerpc/warn-2.c: Likewise.
* gcc.target/powerpc/parity-1.c: Likewise.
* gcc.target/powerpc/popcount-2.c: Likewise.
* gcc.target/powerpc/crypto-builtin-1.c: Likewise.
* gcc.target/powerpc/ppc-fma-5.c: Likewise.
* gcc.target/powerpc/swaps-p8-8.c: Likewise.
* gcc.target/powerpc/pr42747.c: Likewise.
* gcc.target/powerpc/440-macchwu-2.c: Likewise.
* gcc.target/powerpc/440-mulhhwu-2.c: Likewise.
* gcc.target/powerpc/dfp-dd-2.c: Likewise.
* gcc.target/powerpc/direct-move-float1.c: Likewise.
* gcc.target/powerpc/440-mulchw-2.c: Likewise.
* gcc.target/powerpc/cell_builtin-3.c: Likewise.
* gcc.target/powerpc/swaps-p8-16.c: Likewise.
* gcc.target/powerpc/440-macchw-2.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-3.c: Likewise.
* gcc.target/powerpc/dfp-td-2.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-5.c: Likewise.
* gcc.target/powerpc/vsx-builtin-2.c: Likewise.
* gcc.target/powerpc/p8vector-vectorize-5.c: Likewise.
* gcc.target/powerpc/lhs-3.c: Likewise.
* gcc.target/powerpc/440-nmachhw-1.c: Likewise.
* gcc.target/powerpc/builtins-2.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-4.c: Likewise.
* gcc.target/powerpc/pr52199.c: Likewise.
* gcc.target/powerpc/440-machhwu-1.c: Likewise.
* gcc.target/powerpc/pr57949-2.c: Likewise.
* gcc.target/powerpc/recip-5.c: Likewise.
* gcc.target/powerpc/popcount-3.c: Likewise.
* gcc.target/powerpc/vsx-vector-1.c: Likewise.
* gcc.target/powerpc/swaps-p8-1.c: Likewise.
* gcc.target/powerpc/optimize-bswapdi-2.c: Likewise.
* gcc.target/powerpc/ppc-fma-6.c: Likewise.
* gcc.target/powerpc/vsx-extract-1.c: Likewise.
* gcc.target/powerpc/pr48226.c: Likewise.
* gcc.target/powerpc/swaps-p8-9.c: Likewise.
* gcc.target/powerpc/pr47755-2.c: Likewise.
* gcc.target/powerpc/direct-move-float2.c: Likewise.
* gcc.target/powerpc/cell_builtin-4.c: Likewise.
* gcc.target/powerpc/direct-move-double1.c: Likewise.
* gcc.target/powerpc/swaps-p8-17.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-4.c: Likewise.
* gcc.target/powerpc/dfp-td-3.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-6.c: Likewise.
* gcc.target/powerpc/440-nmacchw-1.c: Likewise.
* gcc.target/powerpc/vsx-builtin-3.c: Likewise.
* gcc.target/powerpc/440-nmachhw-2.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-5.c: Likewise.
* gcc.target/powerpc/bool2-p5.c: Likewise.
* gcc.target/powerpc/440-machhwu-2.c: Likewise.
* gcc.target/powerpc/fusion.c: Likewise.
* gcc.target/powerpc/recip-6.c: Likewise.
* gcc.target/powerpc/altivec-cell-6.c: Likewise.
* gcc.target/powerpc/vsx-vector-2.c: Likewise.
* gcc.target/powerpc/swaps-p8-2.c: Likewise.
* gcc.target/powerpc/optimize-bswapdi-3.c: Likewise.
* gcc.target/powerpc/ppc-fma-7.c: Likewise.
* gcc.target/powerpc/vsx-extract-2.c: Likewise.
* gcc.target/powerpc/direct-move-long1.c: Likewise.
* gcc.target/powerpc/dfp-dd.c: Likewise.
* gcc.target/powerpc/swaps-p8-10.c: Likewise.
* gcc.target/powerpc/cell_builtin-5.c: Likewise.
* gcc.target/powerpc/direct-move-double2.c: Likewise.
* gcc.target/powerpc/440-mullhw-1.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-5.c: Likewise.
* gcc.target/powerpc/440-maclhw-1.c: Likewise.
* gcc.target/powerpc/dfp-td.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-7.c: Likewise.
* gcc.target/powerpc/pr48053-1.c: Likewise.
* gcc.target/powerpc/440-nmacchw-2.c: Likewise.
* gcc.target/powerpc/vsx-builtin-4.c: Likewise.
* gcc.target/powerpc/pr60676.c: Likewise.
* gcc.target/powerpc/pr48258-1.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-6.c: Likewise.
* gcc.target/powerpc/pr48857.c: Likewise.
* gcc.target/powerpc/quad-atomic.c: Likewise.
* gcc.target/powerpc/altivec-cell-7.c: Likewise.
* gcc.target/powerpc/atomic_load_store-p8.c: Likewise.
* gcc.target/powerpc/vsx-vector-3.c: Likewise.
* gcc.target/powerpc/swaps-p8-3.c: Likewise.
* gcc.target/powerpc/pr56605.c: Likewise.
* gcc.target/powerpc/vsx-extract-3.c: Likewise.
* gcc.target/powerpc/pr53199.c: Likewise.
* gcc.target/powerpc/direct-move-long2.c: Likewise.
* gcc.target/powerpc/swaps-p8-11.c: Likewise.
* gcc.target/powerpc/vsx-float0.c: Likewise.
* gcc.target/powerpc/ppc-target-1.c: Likewise.
* gcc.target/powerpc/altivec-20.c: Likewise.
* gcc.target/powerpc/cell_builtin-6.c: Likewise.
* gcc.target/powerpc/440-mullhw-2.c: Likewise.
* gcc.target/powerpc/darwin-ehreturn-1.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-6.c: Likewise.
* gcc.target/powerpc/440-maclhw-2.c: Likewise.
* gcc.target/powerpc/440-dlmzb-strlen-1.c: Likewise.
* gcc.target/powerpc/pr60137.c: Likewise.
* gcc.target/powerpc/bswap64-1.c: Likewise.
* gcc.target/powerpc/pr48053-2.c: Likewise.
* gcc.target/powerpc/vsx-builtin-5.c: Likewise.
* gcc.target/powerpc/pr48258-2.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-7.c: Likewise.
* gcc.target/powerpc/vsx-sfminmax.c: Likewise.
* gcc.target/powerpc/bool2-p7.c: Likewise.
* gcc.target/powerpc/ppc-round.c: Likewise.
* gcc.target/powerpc/altivec-cell-8.c: Likewise.
* gcc.target/powerpc/vsx-vector-4.c: Likewise.
* gcc.target/powerpc/ppc-fma-1.c: Likewise.
* gcc.target/powerpc/swaps-p8-4.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-10.c: Likewise.
* gcc.target/powerpc/pr47755.c: Likewise.

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

9 years ago[ARM] Migrate to new reduc_[us](min|max)_scal_optab
alalaw01 [Tue, 4 Nov 2014 12:09:38 +0000 (12:09 +0000)]
[ARM] Migrate to new reduc_[us](min|max)_scal_optab

config/arm/neon.md (reduc_smin_<mode> *2): Rename to...
(reduc_smin_scal_<mode> *2): ...this; extract scalar result.
(reduc_smax_<mode> *2): Rename to...
(reduc_smax_scal_<mode> *2): ...this; extract scalar result.
(reduc_umin_<mode> *2): Rename to...
(reduc_umin_scal_<mode> *2): ...this; extract scalar result.
(reduc_umax_<mode> *2): Rename to...
(reduc_umax_scal_<mode> *2): ...this; extract scalar result.

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

9 years ago[ARM] Migrate to new reduc_plus_scal_optab
alalaw01 [Tue, 4 Nov 2014 12:05:52 +0000 (12:05 +0000)]
[ARM] Migrate to new reduc_plus_scal_optab

config/arm/neon.md (reduc_plus_*): Rename to...
(reduc_plus_scal_*): ...this; reduce to temp and extract scalar result.

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

9 years ago[AArch64] Fix predicate and constraint mismatch in logical atomic operations
clyon [Tue, 4 Nov 2014 11:23:10 +0000 (11:23 +0000)]
[AArch64] Fix predicate and constraint mismatch in logical atomic operations

2014-11-04  Michael Collison <michael.collison@linaro.org>

* config/aarch64/iterators.md (lconst_atomic): New mode attribute
to support constraints for CONST_INT in atomic operations.
* config/aarch64/atomics.md
(atomic_<atomic_optab><mode>): Use lconst_atomic constraint.
(atomic_nand<mode>): Likewise.
(atomic_fetch_<atomic_optab><mode>): Likewise.
(atomic_fetch_nand<mode>): Likewise.
(atomic_<atomic_optab>_fetch<mode>): Likewise.
(atomic_nand_fetch<mode>): Likewise.

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

9 years agoFix typo in definition of __ARM_FEATURE_IDIV
ramana [Tue, 4 Nov 2014 09:45:22 +0000 (09:45 +0000)]
Fix typo in definition of __ARM_FEATURE_IDIV

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

9 years agoFix typo in definition of __ARM_FEATURE_IDIV
ramana [Tue, 4 Nov 2014 09:45:06 +0000 (09:45 +0000)]
Fix typo in definition of __ARM_FEATURE_IDIV

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

9 years ago * ubsan.c (instrument_object_size): Optimize [x & CST] array accesses.
mpolacek [Tue, 4 Nov 2014 09:30:47 +0000 (09:30 +0000)]
* ubsan.c (instrument_object_size): Optimize [x & CST] array accesses.
testsuite/
* c-c++-common/ubsan/object-size-10.c: New test.

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

9 years ago2014-11-03 Jan-Benedict Glaw <jbglaw@lug-owl.de>
jbglaw [Tue, 4 Nov 2014 09:22:51 +0000 (09:22 +0000)]
2014-11-03  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* config/rx/rx.c (rx_handle_func_attribute): Mark unused argument.

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

9 years ago * include/parallel/numeric.h: Do not use default arguments in function
redi [Tue, 4 Nov 2014 03:41:16 +0000 (03:41 +0000)]
* include/parallel/numeric.h: Do not use default arguments in function
template redeclarations (definitions).

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

9 years agoDo not assume allocator is assignable.
redi [Tue, 4 Nov 2014 03:41:12 +0000 (03:41 +0000)]
Do not assume allocator is assignable.

* include/bits/stl_deque.h (_Deque_base(_Deque_base&&)): Copy
allocator instead of moving.
* testsuite/23_containers/deque/allocator/move-2.cc: New.

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

9 years agoMake reference_wrapper trivially copyable.
redi [Tue, 4 Nov 2014 02:49:33 +0000 (02:49 +0000)]
Make reference_wrapper trivially copyable.

* include/std/functional (reference_wrapper): Define copy constructor
and copy assignment as defaulted.
* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error.
* testsuite/20_util/reference_wrapper/requirements.cc: New.

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

9 years agoUse ctype_base::blank in regex_traits.
redi [Tue, 4 Nov 2014 02:49:30 +0000 (02:49 +0000)]
Use ctype_base::blank in regex_traits.

* include/bits/regex.h (regex_traits::_RegexMask): Remove _S_blank and
adjust _S_valid_mask.
* include/bits/regex.tcc (regex_traits::lookup_classname): Use
ctype_base::blank.

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

9 years ago * include/std/functional (_Bind_simple): Simplify construction.
redi [Tue, 4 Nov 2014 02:49:27 +0000 (02:49 +0000)]
* include/std/functional (_Bind_simple): Simplify construction.

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

9 years agoUse aliases for type traits in C++14 mode.
redi [Tue, 4 Nov 2014 02:49:20 +0000 (02:49 +0000)]
Use aliases for type traits in C++14 mode.

* include/bits/unique_ptr.h (make_unique): Use alias for trait.
* include/experimental/optional (__constexpr_addressof): Likewise.
(_Optional_base, optional, make_optional): Likewise.

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

9 years ago2014-11-04 Zhenqiang Chen <zhenqiang.chen@arm.com>
zqchen [Tue, 4 Nov 2014 02:21:51 +0000 (02:21 +0000)]
2014-11-04  Zhenqiang Chen  <zhenqiang.chen@arm.com>

Revert:
2014-11-03  Zhenqiang Chen  <zhenqiang.chen@arm.com>
* ifcvt.c (noce_emit_cmove, noce_get_alt_condition, noce_get_condition):
Allow CC mode if HAVE_cbranchcc4.

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

9 years agoDaily bump.
gccadmin [Tue, 4 Nov 2014 00:16:27 +0000 (00:16 +0000)]
Daily bump.

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

9 years agogcc/:
ian [Tue, 4 Nov 2014 00:00:14 +0000 (00:00 +0000)]
gcc/:
* godump.c (go_format_type): Rewrite RECORD_TYPE nad UNION_TYPE support
with -fdump-go-spec.  Anonymous substructures are now flattened and
replaced by their fields (record) or the first named, non-bitfield
field (union).
gcc/testsuite/:
* build-go/gcc/testsuite/gcc/godump-1.out: Update godump tests.

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

9 years ago2014-11-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Mon, 3 Nov 2014 22:57:33 +0000 (22:57 +0000)]
2014-11-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* input.c (expand_location_to_spelling_point): Fix typo.
(expansion_point_location_if_in_system_header): Fix comment.

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

9 years ago2014-11-03 Tobias Burnus <burnus@net-b.de>
burnus [Mon, 3 Nov 2014 20:14:48 +0000 (20:14 +0000)]
2014-11-03  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_collectives_14.f90: Fix testcase.

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

9 years ago * config/avr/gen-avr-mmcu-specs.c: Remove unnecessary format specifier.
denisc [Mon, 3 Nov 2014 19:03:34 +0000 (19:03 +0000)]
* config/avr/gen-avr-mmcu-specs.c: Remove unnecessary format specifier.

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

9 years ago2014-11-03 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 3 Nov 2014 17:54:59 +0000 (17:54 +0000)]
2014-11-03  Paolo Carlini  <paolo.carlini@oracle.com>

* include/parallel/algo.h: Do not use default arguments in function
template redeclarations (definitions).

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

9 years agoruntime: use "$GOC -dumpversion" instead of BASE-VER to discover compiler version
ian [Mon, 3 Nov 2014 16:30:51 +0000 (16:30 +0000)]
runtime: use "$GOC -dumpversion" instead of BASE-VER to discover compiler version

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

9 years ago2014-11-03 Richard Biener <rguenther@suse.de>
rguenth [Mon, 3 Nov 2014 15:49:43 +0000 (15:49 +0000)]
2014-11-03  Richard Biener  <rguenther@suse.de>

* tree-eh.c (operation_could_trap_helper_p): Handle conversions
like ordinary operations.
* gimplify.c (gimplify_conversion): Gimplify CONVERT_EXPR
as NOP_EXPR.

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

9 years agoImplement TARGET_ATOMIC_ASSIGN_EXPAND_FENV for powerpc*-*-linux* soft-float and e500.
jsm28 [Mon, 3 Nov 2014 13:40:50 +0000 (13:40 +0000)]
Implement TARGET_ATOMIC_ASSIGN_EXPAND_FENV for powerpc*-*-linux* soft-float and e500.

This patch implements support for TARGET_ATOMIC_ASSIGN_EXPAND_FENV for
powerpc*-*-linux* soft-float and e500, provided GCC is configured for
glibc 2.19 or later on the target.

New functions __atomic_feholdexcept, __atomic_feclearexcept and
__atomic_feupdateenv were added (to libc) in that glibc version (for
powerpc soft-float / e500 only) in order to support this part of C11.
For soft-float, libc functions are needed because the floating-point
exception state is in TLS variables in libc that aren't directly
accessible outside of glibc.  For e500, they are also needed because
of the prctl syscalls involved in controlling trapping for exceptions
and informing the kernel when certain exception flags have been
cleared.  The actual implementation in GCC is a straightforward matter
of calling those functions.

Tested with no regressions for cross to powerpc-linux-gnu
(soft-float); the c11-atomic-exec-5.c results go from FAIL to PASS.

* configure.ac (TARGET_GLIBC_MAJOR, TARGET_GLIBC_MINOR): Define
macros.
* configure, config.h.in: Regenerate.
* config/rs6000/linux.h [TARGET_GLIBC_MAJOR > 2 ||
(TARGET_GLIBC_MAJOR == 2 && TARGET_GLIBC_MINOR >= 19)]
(RS6000_GLIBC_ATOMIC_FENV): New macro.
* config/rs6000/linux64.h [TARGET_GLIBC_MAJOR > 2 ||
(TARGET_GLIBC_MAJOR == 2 && TARGET_GLIBC_MINOR >= 19)]
(RS6000_GLIBC_ATOMIC_FENV): New macro.
* config/rs6000/rs6000.c (atomic_hold_decl, atomic_clear_decl)
(atomic_update_decl): New static variables.
(rs6000_atomic_assign_expand_fenv) [RS6000_GLIBC_ATOMIC_FENV]:
Generate calls to __atomic_feholdexcept, __atomic_feclearexcept
and __atomic_feupdateenv for soft-float and no-FPRs.

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

9 years ago2014-11-03 Richard Biener <rguenther@suse.de>
rguenth [Mon, 3 Nov 2014 12:59:47 +0000 (12:59 +0000)]
2014-11-03  Richard Biener  <rguenther@suse.de>

* match.pd: Add two abs patterns.  Announce tree_expr_nonnegative_p.
Also drop bogus FLOAT_EXPR and FIX_TRUNC_EXPR.
* fold-const.c (fold_unary_loc): Remove them here.
(tree_unary_nonnegative_warnv_p): Use CASE_CONVERT.
* gimple-fold.c (fold_gimple_assign): Remove now obsolete
GIMPLE_UNARY_RHS case.
(gimple_fold_stmt_to_constant_1): Likewise.
(replace_stmt_with_simplification): Fix inverted comparison.

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

9 years ago PR c/52769
mpolacek [Mon, 3 Nov 2014 12:35:35 +0000 (12:35 +0000)]
PR c/52769
* gcc.dg/pr52769.c: New test.

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

9 years ago2014-11-03 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 3 Nov 2014 10:49:05 +0000 (10:49 +0000)]
2014-11-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57820
* g++.dg/cpp0x/constexpr-ctor16.C: New.
* g++.dg/cpp0x/constexpr-ctor17.C: Likewise.

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

9 years ago2014-11-03 Marc Glisse <marc.glisse@inria.fr>
glisse [Mon, 3 Nov 2014 10:47:04 +0000 (10:47 +0000)]
2014-11-03  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/60770
gcc/
* tree-into-ssa.c (rewrite_update_stmt): Return whether the
statement should be removed.
(maybe_register_def): Likewise. Replace clobbers with default
definitions.
(rewrite_dom_walker::before_dom_children): Remove statement if
rewrite_update_stmt says so.
* tree-ssa-live.c: Include tree-ssa.h.
(set_var_live_on_entry): Do not mark undefined variables as live.
(verify_live_on_entry): Do not check undefined variables.
* tree-ssa.h (ssa_undefined_value_p): New parameter for the case
of partially undefined variables.
* tree-ssa.c (ssa_undefined_value_p): Likewise.
(execute_update_addresses_taken): Do not drop clobbers.

gcc/testsuite/
* gcc.dg/tree-ssa/pr60770-1.c: New file.

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

9 years ago2014-11-03 Marc Glisse <marc.glisse@inria.fr>
glisse [Mon, 3 Nov 2014 10:36:35 +0000 (10:36 +0000)]
2014-11-03  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/63666
* fold-const.c: Include "optabs.h".
(fold_ternary_loc) <VEC_PERM_EXPR>: Avoid canonicalizing a
can_vec_perm_p permutation to one that is not.

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

9 years agox86: extend vect-args testcase to AVX flavors
jbeulich [Mon, 3 Nov 2014 09:18:51 +0000 (09:18 +0000)]
x86: extend vect-args testcase to AVX flavors

gcc/testsuite:
2014-11-03  Jan Beulich  <jbeulich@suse.com>

* gcc.target/i386/i386.exp: Extend option set to test
vect-args.c with to include -mavx, -mavx2, and -mavx512f.
* gcc.target/i386/vect-args.c: Add AVX* modes and tests.

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

9 years ago * gcc.c-torture/execute/20010129-1.c: Compile with -mtune=i686
uros [Mon, 3 Nov 2014 08:30:21 +0000 (08:30 +0000)]
* gcc.c-torture/execute/20010129-1.c: Compile with -mtune=i686
for ia32 targets only.
* g++.dg/ext/attrib42.C: Compile for ia32 targets only.
* g++.dg/tree-ssa/pr29902.C: Ditto.
* g++.dg/cpp0x/gen-attrs-42.C: Ditto.

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

9 years agoChangeLog:
zqchen [Mon, 3 Nov 2014 06:36:11 +0000 (06:36 +0000)]
ChangeLog:
2014-11-03  Zhenqiang Chen  <zhenqiang.chen@arm.com>

* ifcvt.c (noce_try_store_flag_mask): Check rtx cost.

testsuite/ChangeLog:
2014-11-03  Zhenqiang Chen  <zhenqiang.chen@arm.com>

* gcc.target/arm/ifcvt-size-check.c: New test.

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

9 years ago2014-10-31 Andrew Pinski <apinski@cavium.com>
naveenh [Mon, 3 Nov 2014 05:13:43 +0000 (05:13 +0000)]
2014-10-31  Andrew Pinski  <apinski@cavium.com>

* config/mips/mips-cpus.def (octeon3): New cpu.
* config/mips/mips.c (mips_rtx_cost_data): Add octeon3.
(mips_print_operand <case 'T', case 't'>): Fix a bug as the mode
of the comparison no longer matches mode of the operands.
(mips_issue_rate): Handle PROCESSOR_OCTEON3.
* config/mips/mips.h (TARGET_OCTEON):  Add Octeon3.
(TARGET_OCTEON2): Likewise.
(TUNE_OCTEON): Add Octeon3.
* config/mips/mips.md (processor): Add octeon3.
* config/mips/octeon.md (octeon_fpu): New automaton and cpu_unit.
(octeon_arith): Add octeon3.
(octeon_condmove): Remove.
(octeon_condmove_o1): New reservation.
(octeon_condmove_o2): New reservation.
(octeon_condmove_o3_int_on_cc): New reservation.
(octeon_load_o2): Add octeon3.
(octeon_cop_o2): Likewise.
(octeon_store): Likewise.
(octeon_brj_o2): Likewise.
(octeon_imul3_o2): Likewise.
(octeon_imul_o2): Likewise.
(octeon_mfhilo_o2): Likewise.
(octeon_imadd_o2): Likewise.
(octeon_idiv_o2_si): Likewise.
(octeon_idiv_o2_di): Likewise.
(octeon_fpu): Add to the automaton.
(octeon_fpu): New cpu unit.
(octeon_condmove_o2): Check for non floating point modes.
(octeon_load_o2): Add prefetchx.
(octeon_cop_o2): Don't check for octeon3.
(octeon3_faddsubcvt): New reservation.
(octeon3_fmul): Likewise.
(octeon3_fmadd): Likewise.
(octeon3_div_sf): Likewise.
(octeon3_div_df): Likewise.
(octeon3_sqrt_sf): Likewise.
(octeon3_sqrt_df): Likewise.
(octeon3_rsqrt_sf): Likewise.
(octeon3_rsqrt_df): Likewise.
(octeon3_fabsnegmov): Likewise.
(octeon_fcond): Likewise.
(octeon_fcondmov): Likewise.
(octeon_fpmtc1): Likewise.
(octeon_fpmfc1): Likewise.
(octeon_fpload): Likewise.
(octeon_fpstore): Likewise.
* config/mips/mips-tables.opt: Regenerate.
* doc/invoke.texi (-march=@var{arch}): Add octeon3.

2014-10-31  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

* gcc.target/mips/octeon3-pipe-1.c: New test.

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

9 years ago2014-11-03 Zhenqiang Chen <zhenqiang.chen@arm.com>
zqchen [Mon, 3 Nov 2014 03:20:30 +0000 (03:20 +0000)]
2014-11-03  Zhenqiang Chen  <zhenqiang.chen@arm.com>

* ifcvt.c (noce_emit_cmove, noce_get_alt_condition, noce_get_condition):
Allow CC mode if HAVE_cbranchcc4.

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

9 years agoCheck number of arguments in bind expressions.
redi [Mon, 3 Nov 2014 02:55:36 +0000 (02:55 +0000)]
Check number of arguments in bind expressions.

* include/std/functional (_Mem_fn_traits_base::__arity): New typedef.
(_Mem_fn_base::_Arity): New typedef.
(_Bind_check_arity): New class template.
(_Bind_helper, _Bindres_helper, _Bind_simple_helper): Check arity.
* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error.

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

9 years agoAdd support for ref-qualified functions to std::mem_fn
redi [Mon, 3 Nov 2014 02:55:32 +0000 (02:55 +0000)]
Add support for ref-qualified functions to std::mem_fn

PR libstdc++/57898
* include/std/functional (_Mem_fn_traits_base): New class template.
(_Mem_fn_traits): New class template with specializations for every
combination of cv-qualified and ref-qualified member function.
(_Mem_fn_base): New class template for all pointer to member function
types and partial specialization for pointer to member object types.
(_Mem_fn): Inherit from _Mem_fn_base.
* testsuite/20_util/function_objects/mem_fn/refqual.cc: New.

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

9 years agoDaily bump.
gccadmin [Mon, 3 Nov 2014 00:16:29 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago * g++.dg/cpp0x/gen-attrs-42.C: Add x86_64-*-* target.
uros [Sun, 2 Nov 2014 21:32:54 +0000 (21:32 +0000)]
* g++.dg/cpp0x/gen-attrs-42.C: Add x86_64-*-* target.
* g++.dg/ext/attrib42.C: Ditto.
* g++.dg/torture/pr51344.C: Ditto.
* g++.dg/tree-ssa/pr29902.C: Ditto.
* gcc.c-torture/execute/20010129-1.c: Ditto.
* gcc.dg/combine_ashiftrt_2.c: Ditto.
* gcc.dg/march-generic.c: Ditto.
* gcc.dg/torture/pr17526.c: Ditto.
* gcc.dg/union-4.c: Ditto.

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

9 years agogcc/
rsandifo [Sun, 2 Nov 2014 20:00:25 +0000 (20:00 +0000)]
gcc/
* config/arc/arc.c (write_ext_corereg_1): Delete.
(arc_write_ext_corereg): Use FOR_EACH_SUBRTX.

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

9 years agogcc/
rsandifo [Sun, 2 Nov 2014 20:00:19 +0000 (20:00 +0000)]
gcc/
* config/arc/arc.c (arc600_corereg_hazard_1): Delete.
(arc600_corereg_hazard): Use FOR_EACH_SUBRTX.

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

9 years agogcc/
rsandifo [Sun, 2 Nov 2014 20:00:12 +0000 (20:00 +0000)]
gcc/
* config/arc/arc.c (arc_rewrite_small_data_p): Constify argument.
(small_data_pattern_1): Delete.
(small_data_pattern): Use FOR_EACH_SUBRTX.

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

9 years agogcc/
rsandifo [Sun, 2 Nov 2014 20:00:05 +0000 (20:00 +0000)]
gcc/
* config/arc/arc.c: Include rtl-iter.h.
(arc_rewrite_small_data_1): Delete.
(arc_rewrite_small_data): Use FOR_EACH_SUBRTX_PTR.

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

9 years ago * c-c++-common/ubsan/float-cast-overflow-6.c: Add i?86-*-* target.
uros [Sun, 2 Nov 2014 19:27:06 +0000 (19:27 +0000)]
* c-c++-common/ubsan/float-cast-overflow-6.c: Add i?86-*-* target.
* g++.dg/abi/no-weak1.C: Ditto.
* g++.dg/opt/pr44919.C: Ditto.
* g++.dg/opt/pr46640.C: Ditto.
* g++.dg/opt/pr46649.C: Ditto.
* g++.dg/opt/pr47036.C: Ditto.
* g++.dg/opt/pr48273.C: Ditto.
* g++.dg/opt/pr48302.C: Ditto.
* g++.dg/opt/pr45788.C: Ditto.
* g++.dg/opt/pr57662.C: Ditto.
* gcc.dg/20031102-1.c: Ditto.
* gcc.dg/builtin-bswap-7.c: Ditto.
* gcc.dg/builtin-bswap-7a.c: Ditto.
* gcc.dg/builtin-bswap-9.c: Ditto.
* gcc.dg/combine_ashiftrt_1.c: Ditto.
* gcc.dg/guality/bswaptest.c: Ditto.
* gcc.dg/guality/clztest.c: Ditto.
* gcc.dg/guality/ctztest.c: Ditto.
* gcc.dg/guality/pr45003-1.c: Ditto.
* gcc.dg/guality/pr45003-2.c: Ditto.
* gcc.dg/guality/pr45003-3.c: Ditto.
* gcc.dg/guality/pr58791-4.c: Ditto.
* gcc.dg/guality/rotatetest.c:Ditto.
* gcc.dg/ifcvt-fabs-1.c: Ditto.
* gcc.dg/ira-loop-pressure.c: Ditto.
* gcc.dg/ira-shrinkwrap-prep-1.c: Ditto.
* gcc.dg/ira-shrinkwrap-prep-2.c: Ditto.
* gcc.dg/lto/pr47259_0.c: Ditto.
* gcc.dg/memcpy-5.c: Ditto.
* gcc.dg/pr10474.c: Ditto.
* gcc.dg/pr37438.c: Ditto.
* gcc.dg/pr39453.c: Ditto.
* gcc.dg/pr40501.c: Ditto.
* gcc.dg/pr42245-2.c: Ditto.
* gcc.dg/pr42245.c: Ditto.
* gcc.dg/pr42246.c: Ditto.
* gcc.dg/pr42249.c: Ditto.
* gcc.dg/pr42388.c: Ditto.
* gcc.dg/pr42389.c: Ditto.
* gcc.dg/pr45352-1.c: Ditto.
* gcc.dg/pr45352-2.c: Ditto.
* gcc.dg/pr45352-3.c: Ditto.
* gcc.dg/pr45352.c: Ditto.
* gcc.dg/pr45472.c: Ditto.
* gcc.dg/pr45652.c: Ditto.
* gcc.dg/pr46212.c: Ditto.
* gcc.dg/pr46521.c: Ditto.
* gcc.dg/pr46522.c: Ditto.
* gcc.dg/pr46875.c: Ditto.
* gcc.dg/pr48374.c: Ditto.
* gcc.dg/pr50251.c: Ditto.
* gcc.dg/pr54472.c: Ditto.
* gcc.dg/pr55702.c: Ditto.
* gcc.dg/pr56990.c: Ditto.
* gcc.dg/pr57104.c: Ditto.
* gcc.dg/pr57662.c: Ditto.
* gcc.dg/pr60866.c: Ditto.
* gcc.dg/shrink-wrap-loop.c: Ditto.
* gcc.dg/tm/memopt-15.c: Ditto.
* gcc.dg/torture/pr52720.c: Ditto.
* gcc.dg/torture/pr56778.c: Ditto.
* gcc.dg/tree-prof/pr45354.c: Ditto.
* gcc.dg/tree-prof/pr50907.c: Ditto.
* gcc.dg/tree-ssa/loop-16.c: Ditto.
* gcc.dg/tree-ssa/loop-18.c: Ditto.
* gcc.dg/tree-ssa/pr44423.c: Ditto.
* gcc.dg/misc-tests/godump-1.c: Ditto.
* gfortran.dg/PR24188.f: Ditto.
* gfortran.dg/errnocheck_1.f90: Ditto.
* gfortran.dg/g77/20010216-1.f: Ditto.
* gfortran.dg/pr42246-2.f: Ditto.
* gfortran.dg/pr42294.f: Ditto.
* gfortran.dg/pr44691.f: Ditto.
* gfortran.dg/vect/pr45714-a.f: Ditto.
* gcc.c-torture/execute/ieee/ieee.exp: Ditto.
* gcc.misc-tests/linkage.exp: Ditto.
* lib/target-supports.exp: Reformat x86 tagets.
(check_effective_target_whole_vector_shift): Add i?86-*-* target.

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

9 years ago[ARM] Fix CLZ_DEFINED_VALUE_AT_ZERO for vector modes
clyon [Sun, 2 Nov 2014 18:00:59 +0000 (18:00 +0000)]
[ARM] Fix CLZ_DEFINED_VALUE_AT_ZERO for vector modes

2014-11-02  Michael Collison  <michael.collison@linaro.org>

* config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO) : Update
to support vector modes.
(CTZ_DEFINED_VALUE_AT_ZERO): Ditto.

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

9 years ago2014-11-02 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sun, 2 Nov 2014 09:31:12 +0000 (09:31 +0000)]
2014-11-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57694
* g++.dg/cpp0x/constexpr-ctor15.C: New.

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

9 years agotestsuite/
emsr [Sun, 2 Nov 2014 02:51:41 +0000 (02:51 +0000)]
testsuite/

2014-11-01  Edward Smith-Rowland  <3dw4rd@verizon.net>

* g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
* g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
Commentary and rearrangement of tests.
* g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
Commentary and rearrangement of tests.
* g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
* g++.dg/cpp1y/feat-cxx98.C: Commentary.

c-family/

2014-11-01  Edward Smith-Rowland  <3dw4rd@verizon.net>

* c-cppbuiltin.c: Define __cpp_aggregate_nsdmi.

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

9 years agoDaily bump.
gccadmin [Sun, 2 Nov 2014 00:16:26 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago2014-11-01 Andrew MacLeod <amacleod@redhat,com>
amacleod [Sat, 1 Nov 2014 13:34:15 +0000 (13:34 +0000)]
2014-11-01  Andrew MacLeod  <amacleod@redhat,com>

* optabs.h: Flatten insn-codes.h to source files.  Move some prototypes
and structs to genopinit.c.  Adjust protyoptypes to match optabs.c.
* genopinit.c (main): Emit prototypes and structs into insn-opinit.h.
* optabs.c: (gen_move_insn): Move to expr.c.
* expr.h: Move protypes and enums to optabs.h.
* expr.c: (gen_move_insn): Relocate from optabs.c.
* genemit.c (main): Include insn-codes.h.
* gengtype.c (open_base_files): Include insn-codes.h.
* asan.c: Include insn-codes.h.
* bb-reorder.c: Ditto.
* builtins.c: Ditto.
* calls.c: Ditto.
* cfgexpand.c: Ditto.
* cilk-common.c: Ditto.
* combine.c: Ditto.
* dojump.c: Ditto.
* dse.c: Ditto.
* except.c: Ditto.
* explow.c: Ditto.
* expmed.c: Ditto.
* function.c: Ditto.
* ifcvt.c: Ditto.
* internal-fn.c: Ditto.
* loop-unroll.c: Ditto.
* lra.c: Ditto.
* modulo-sched.c: Ditto.
* omp-low.c: Ditto.
* postreload.c: Ditto.
* ree.c: Ditto.
* reload.c: Ditto.
* reload1.c: Ditto.
* shrink-wrap.c: Ditto.
* simplify-rtx.c: Ditto.
* stmt.c: Ditto.
* target-globals.c: Ditto.
* targhooks.c: Ditto.
* toplev.c: Ditto.
* tree-if-conv.c: Ditto.
* tree-ssa-forwprop.c: Ditto.
* tree-ssa-loop-prefetch.c: Ditto.
* tree-ssa-math-opts.c: Ditto.
* tree-ssa-phiopt.c: Ditto.
* tree-ssa-reassoc.c: Ditto.
* tree-switch-conversion.c: Ditto.
* tree-vect-data-refs.c: Ditto.
* tree-vect-generic.c: Ditto.
* tree-vect-loop.c: Ditto.
* tree-vect-patterns.c: Ditto.
* tree-vect-slp.c: Ditto.
* tree-vect-stmts.c: Ditto.
* tree-vrp.c: Ditto.
* value-prof.c: Ditto.
* config/aarch64/aarch64-builtins.c: Ditto.
* config/alpha/alpha.c: Ditto.
* config/arm/arm.c: Ditto.
* config/cris/cris.c: Ditto.
* config/epiphany/epiphany.c: Ditto.
* config/frv/frv.c: Ditto.
* config/h8300/h8300.c: Ditto.
* config/ia64/ia64.c: Ditto.
* config/iq2000/iq2000.c: Ditto.
* config/m32c/m32c.c: Ditto.
* config/mep/mep.c: Ditto.
* config/microblaze/microblaze.c: Ditto.
* config/mips/mips.c: Ditto.
* config/mn10300/mn10300.c: Ditto.
* config/moxie/moxie.c: Ditto.
* config/msp430/msp430.c: Ditto.
* config/nios2/nios2.c: Ditto.
* config/pa/pa.c: Ditto.
* config/rl78/rl78.c: Ditto.
* config/rs6000/rs6000.c: Ditto.
* config/rx/rx.c: Ditto.
* config/s390/s390.c: Ditto.
* config/sh/sh.c: Ditto.
* config/sh/sh_treg_combine.cc: Ditto.
* config/spu/spu.c: Ditto.
* config/stormy16/stormy16.c: Ditto.
* config/tilegx/mul-tables.c: Ditto.
* config/tilegx/tilegx.c: Ditto.
* config/tilepro/mul-tables.c: Ditto.
* config/tilepro/tilepro.c: Ditto.
* config/vax/vax.c: Ditto.

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

9 years ago[Patch 7/7] Remove *_BY_PIECES_P
jgreenhalgh [Sat, 1 Nov 2014 10:38:42 +0000 (10:38 +0000)]
[Patch 7/7] Remove *_BY_PIECES_P

gcc/

* doc/tm.texi.in (MOVE_BY_PIECES_P): Remove.
(CLEAR_BY_PIECES_P): Likewise.
(SET_BY_PIECES_P): Likewise.
(STORE_BY_PIECES_P): Likewise.
* doc/tm.texi: Regenerate.
* system.h: Poison MOVE_BY_PIECES_P, CLEAR_BY_PIECES_P,
SET_BY_PIECES_P, STORE_BY_PIECES_P.
* expr.c (MOVE_BY_PIECES_P): Remove.
(CLEAR_BY_PIECES_P): Likewise.
(SET_BY_PIECES_P): Likewise.
(STORE_BY_PIECES_P): Likewise.
(can_move_by_pieces): Rewrite in terms of
targetm.use_by_pieces_infrastructure_p.
(emit_block_move_hints): Likewise.
(can_store_by_pieces): Likewise.
(store_by_pieces): Likewise.
(clear_storage_hints): Likewise.
(emit_push_insn): Likewise.
(expand_constructor): Likewise.

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

9 years ago[Patch 6/7 AArch64] Deprecate *_BY_PIECES_P, move to hookized version
jgreenhalgh [Sat, 1 Nov 2014 10:15:51 +0000 (10:15 +0000)]
[Patch 6/7 AArch64] Deprecate *_BY_PIECES_P, move to hookized version

gcc/

* config/aarch64/aarch64.c
(aarch64_use_by_pieces_infrastructre_p): New.
(TARGET_USE_BY_PIECES_INFRASTRUCTURE): Likewise.
* config/aarch64/aarch64.h (STORE_BY_PIECES_P): Delete.

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

9 years ago[Patch 5/7 mips] Deprecate *_BY_PIECES_P, move to hookized version
jgreenhalgh [Sat, 1 Nov 2014 10:14:08 +0000 (10:14 +0000)]
[Patch 5/7 mips] Deprecate *_BY_PIECES_P, move to hookized version

gcc/

* config/mips/mips.h (MOVE_BY_PIECES_P): Remove.
(STORE_BY_PIECES_P): Likewise.
* config/mips/mips.c (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): New.
(mips_move_by_pieces_p): Rename to...
(mips_use_by_pieces_infrastructure_p): ...this, use new hook
parameters, use the default hook implementation as a
fall-back.

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

9 years ago[Patch 4/7 sh] Deprecate *_BY_PIECES_P, move to hookized version
jgreenhalgh [Sat, 1 Nov 2014 10:12:24 +0000 (10:12 +0000)]
[Patch 4/7 sh] Deprecate *_BY_PIECES_P, move to hookized version

gcc/

* config/sh/sh.c (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): New.
(sh_use_by_pieces_infrastructure_p): Likewise.
* config/sh/sh.h (MOVE_BY_PIECES_P): Remove.
(STORE_BY_PIECES_P): Likewise.
(SET_BY_PIECES_P): Likewise.

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

9 years ago[Patch 3/7 arc] Deprecate *_BY_PIECES_P, move to hookized version
jgreenhalgh [Sat, 1 Nov 2014 08:44:39 +0000 (08:44 +0000)]
[Patch 3/7 arc] Deprecate *_BY_PIECES_P, move to hookized version

gcc/

* config/arc/arc.c (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): New.
(arc_use_by_pieces_infrastructure_p): Likewise.
* confir/arc/arc.h (MOVE_BY_PIECES_P): Delete.
(CAN_MOVE_BY_PIECES): Likewise.

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

9 years ago[Patch 2/7 s390] Deprecate *_BY_PIECES_P, move to hookized version
jgreenhalgh [Sat, 1 Nov 2014 08:38:36 +0000 (08:38 +0000)]
[Patch 2/7 s390] Deprecate *_BY_PIECES_P, move to hookized version

gcc/

* config/s390/s390.c (s390_use_by_pieces_infrastructure_p): New.
(TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Likewise.
* config/s390/s390.h (MOVE_BY_PIECES_P): Remove.
(CLEAR_BY_PIECES): Likewise.
(SET_BY_PIECES): Likewise.
(STORE_BY_PIECES): Likewise.

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

9 years ago[Patch 1/7] Hookize *_BY_PIECES_P
jgreenhalgh [Sat, 1 Nov 2014 08:13:09 +0000 (08:13 +0000)]
[Patch 1/7] Hookize *_BY_PIECES_P

gcc/

* target.def (use_by_pieces_infrastructure_p): New.
* doc/tm.texi.in (MOVE_BY_PIECES_P): Describe that this macro
is deprecated.
(STORE_BY_PIECES_P): Likewise.
(CLEAR_BY_PIECES_P): Likewise.
(SET_BY_PIECES_P): Likewise.
(TARGET_MOVE_BY_PIECES_PROFITABLE_P): Add hook.
* doc/tm.texi: Regenerate.
* expr.c (MOVE_BY_PIECES_P): Rewrite in terms of
TARGET_USE_BY_PIECES_INFRASTRUCTURE_P.
(STORE_BY_PIECES_P): Likewise.
(CLEAR_BY_PIECES_P): Likewise.
(SET_BY_PIECES_P): Likewise.
(STORE_MAX_PIECES): Move to...
* defaults.h (STORE_MAX_PIECES): ...here.
* targhooks.c (get_move_ratio): New.
(default_use_by_pieces_infrastructure_p): Likewise.
* targhooks.h (default_use_by_pieces_infrastructure_p): New.
* target.h (by_pieces_operation): New.

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

9 years agoDaily bump.
gccadmin [Sat, 1 Nov 2014 00:16:18 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago PR target/63702
uros [Fri, 31 Oct 2014 21:56:05 +0000 (21:56 +0000)]
PR target/63702
* config/i386/i386.c (ix86_expand_args_builtin): Remove extra
assignment to 'nargs' variable.

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

9 years ago PR target/63620
uros [Fri, 31 Oct 2014 21:52:22 +0000 (21:52 +0000)]
PR target/63620
* config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): Declare.
* config/i386/i386.c (ix86_use_pseudo_pic_reg): Export.
* config/i386/i386.md (*pushtf): Allow only CONST_DOUBLEs that won't
be reloaded through memory.
(*pushxf): Ditto.
(*pushdf): Ditto.

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

9 years agoMake std::vector<bool> meet C++11 allocator requirements.
redi [Fri, 31 Oct 2014 20:49:40 +0000 (20:49 +0000)]
Make std::vector<bool> meet C++11 allocator requirements.

* include/bits/stl_bvector.h (_Bvector_base): Use allocator_traits.
(_Bvector_base::_Bvector_impl): Use allocator's pointer type.
(_Bvector_base::_M_end_addr()): Convert to raw pointer.
(vector<bool>): Use allocator_traits and _M_end_addr. Add allocator
extended constructors.
* include/bits/vector.tcc (vector<bool>): Use allocator_traits and
_M_end_addr.
* testsuite/23_containers/vector/bool/allocator/copy.cc: New.
* testsuite/23_containers/vector/bool/allocator/minimal.cc: New.
* testsuite/23_containers/vector/bool/allocator/noexcept.cc: New.
* testsuite/23_containers/vector/bool/allocator/copy_assign.cc: New.
* testsuite/23_containers/vector/bool/allocator/move.cc: New.
* testsuite/23_containers/vector/bool/allocator/swap.cc: New.
* testsuite/23_containers/vector/bool/allocator/ext_ptr.cc: New.
* testsuite/23_containers/vector/bool/allocator/move_assign.cc: New.

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

9 years ago PR target/63620
uros [Fri, 31 Oct 2014 19:47:36 +0000 (19:47 +0000)]
PR target/63620
* config/i386/i386.md (*pushtf): Allow only CONST_DOUBLES that won't
be reloaded through memory.
(*pushxf): Ditto.
(*pushdf): Ditto.

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

9 years ago PR rtl-optimization/63659
jakub [Fri, 31 Oct 2014 19:42:39 +0000 (19:42 +0000)]
PR rtl-optimization/63659
* ree.c (update_reg_equal_equiv_notes): New function.
(combine_set_extension, transform_ifelse): Use it.

* gcc.c-torture/execute/pr63659.c: New test.

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

9 years ago * doc/contrib.texi: Add contribution notes for Balaji Iyer (Cilk+)
law [Fri, 31 Oct 2014 19:34:18 +0000 (19:34 +0000)]
   * doc/contrib.texi: Add contribution notes for Balaji Iyer (Cilk+)
        and Jonny Grant (collect2).

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

9 years ago2014-10-31 Richard Biener <rguenther@suse.de>
rguenth [Fri, 31 Oct 2014 16:26:43 +0000 (16:26 +0000)]
2014-10-31  Richard Biener  <rguenther@suse.de>

* builtins.c (fold_builtin_atomic_always_lock_free): Use
CONVERT_EXPR_P, CONVERT_EXPR_CODE_P and CASE_CONVERT where
approprate.
(fold_builtin_expect): Likewise.
(integer_valued_real_p): Likewise.
* cfgexpand.c (expand_debug_expr): Likewise.
* ipa-inline-analysis.c (eliminated_by_inlining_prob): Likewise.
(find_foldable_builtin_expect): Likewise.
* trans-mem.c (thread_private_new_memory): Likewise.
* tree-affine.c (aff_combination_expand): Likewise.
* tree-data-ref.c (initialize_matrix_A): Likewise.
* tree-inline.c (copy_bb): Likewise.
* tree-pretty-print.c (dump_function_name): Likewise.
(print_call_name): Likewise.
* tree-ssa-forwprop.c (constant_pointer_difference): Likewise.
* tree-ssa-math-opts.c (find_bswap_or_nop_1): Likewise.
* tree-vect-generic.c (expand_vector_operations_1): Likewise.
* tree-vect-patterns.c (vect_handle_widen_op_by_const): Likewise.
(vect_recog_widen_mult_pattern): Likewise.
(vect_operation_fits_smaller_type): Likewise.
* tree-vrp.c (find_assert_locations_1): Likewise.
* tree-ssa-dom.c (initialize_hash_element): Canonicalize
converts to NOP_EXPR.

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

9 years ago2014-10-31 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Fri, 31 Oct 2014 14:49:31 +0000 (14:49 +0000)]
2014-10-31  Hristian Kirtchev  <kirtchev@adacore.com>

* aspects.adb Add an entry for aspect Ghost in table
Canonical_Aspect.
* aspects.ads Add an entry for aspect Ghost in tables
Aspect_Argument, Aspect_Delay, Aspect_Id, Aspect_Names and
Implementation_Defined_Aspect.
* einfo.adb: Flags 277 and 278 are now in use.
(Is_Checked_Ghost_Entity): New routine.
(Is_Ghost_Entity): Removed.
(Is_Ghost_Subprogram): Removed.
(Is_Ignored_Ghost_Entity): New routine.
(Set_Is_Checked_Ghost_Entity): New routine.
(Set_Is_Ignored_Ghost_Entity): New routine.
(Write_Entity_Flags): Output flags Is_Checked_Ghost_Entity and
Is_Ignored_Ghost_Entity.
* einfo.ads: Add new flags Is_Checked_Ghost_Entity
and Is_Ignored_Ghost_Entity along with usage in nodes.
(Is_Checked_Ghost_Entity): New routine and pragma Inline.
(Is_Ghost_Entity): Removed along with synthesized flag
description and usage in nodes.
(Is_Ghost_Subprogram): Removed along with synthesized flag description
and usage in nodes.
(Is_Ignored_Ghost_Entity): New routine and pragma Inline.
(Set_Is_Checked_Ghost_Entity): New routine and pragma Inline.
(Set_Is_Ignored_Ghost_Entity): New routine and pragma Inline.
* freeze.adb (Freeze_Entity): A Ghost type cannot be effectively
volatile.
* par-prag.adb Pragma Ghost does not need special handling by
the parser.
* repinfo.adb (List_Mechanisms): Remove the entry for convention Ghost.
* sem_attr.adb (Analyze_Access_Attribute): Remove obsolete check.
* sem_ch3.adb (Analyze_Full_Type_Declaration): Mark
the type as Ghost when its enclosing context is Ghost.
(Analyze_Incomplete_Type_Decl): Mark the type as Ghost when
its enclosing context is Ghost.
(Analyze_Number_Declaration): Mark the number as Ghost when its
enclosing context is Ghost.
(Analyze_Object_Declaration): Mark the object as Ghost when its
enclosing context is Ghost. Verify the Ghost policy between
initial declaration and completion of a deferred constant.
(Analyze_Object_Contract): A Ghost variable cannot be effectively
volatile, imported or exported.
(Build_Derived_Record_Type): Mark a type extension as Ghost when it
implements a Ghost interface.
(Build_Record_Type): Inherit volatility and "ghostness" from
the parent type.
(Check_Completion): A Ghost entity declared
in a non-Ghost package does not require completion in a body.
(Implements_Ghost_Interface): New routine.
(Process_Full_View): Inherit "ghostness" from the partial view. Verify
the Ghost policy between the partial and full views. Verify the
completion of a Ghost type extension.
* sem_ch4.adb (Check_Ghost_Subprogram_Call): Removed.
* sem_ch5.adb (Analyze_Assignment): Analyze the left hand side first.
* sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Mark
the subprogram as Ghost when its enclosing context is Ghost.
(Analyze_Generic_Subprogram_Body): Mark the generic body as Ghost
when its enclosing context is Ghost. Verify the Ghost policy
between the spec and body.
(Analyze_Subprogram_Body_Helper): Mark the body as Ghost when its
enclosing context is Ghost. Verify the Ghost policy between the spec
and body.
(Check_Conformance): A Ghost subprogram profile and a non-Ghost
subprogram profile are not subtype conformant.
(Convention_Of): Removed.
* sem_ch7.adb (Analyze_Package_Body_Helper): Inherit the
"ghostness" from the spec. Verify the Ghost policy between
the spec and body.
(Analyze_Private_Type_Declaration): Mark the type as Ghost when its
enclosing context is Ghost.
(Requires_Completion_In_Body): New routine.
(Unit_Requires_Body): Use Requires_Completion_In_Body.
(Unit_Requires_Body_Info): Rename formal parameter P to Pack_Id, update
comment on usage and all uses of P in the body. Use
Requires_Completion_In_Body.
* sem_ch7.ads (Unit_Requires_Body): Rename formal parameter P
to Pack_Id, update comment on usage and all uses of P in the body.
* sem_ch8.adb (Analyze_Exception_Renaming): Inherit the "ghostness"
from the renamed excention.
(Analyze_Generic_Renaming): Inherit the "ghostness" from the
renamed generic subprogram.
(Analyze_Object_Renaming): Inherit the "ghostness" from the renamed
object.
(Analyze_Package_Renaming): Inherit the "ghostness" from the
renamed package.
(Analyze_Subprogram_Renaming): Inherit the "ghostness" from the
renamed subprogram.
* sem_ch11.adb (Analyze_Exception_Declaration): Mark an exception
as Ghost when its enclosing context is Ghost.
* sem_ch12.adb (Analyze_Generic_Package_Declaration,
Analyze_Generic_Subprogram_Declaration): Mark an exception as
Ghost when its enclosing context is Ghost.
(Preanalyze_Actuals): Remove obsolete check.
* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
for aspect Ghost.
(Check_Aspect_At_Freeze_Point): Aspects
Depends and Global do no need special checking at freeze point.
(Insert_After_SPARK_Mode): Update comment on usage.
* sem_mech.adb (Set_Mechanisms): Remove the entry for convention Ghost.
* sem_prag.adb Add an entry for pragma Ghost in table Sig_Flags.
(Analyze_Abstract_State): Update the grammar of the pragma. Add
formal parameter Pack_Id along with comment on usage. Mark an
abstract state as Ghost when its enclosing context is Ghost. Add
processing for option Ghost.
(Analyze_Constituent): Verify
that a Ghost abstract state is refined by Ghost constituents.
(Analyze_Pragma): "Ghost" is now a valid policy. Add checks
related to the use and placement of Check_Policy Ghost. Add
processing for pragma Ghost.
(Check_Ghost_Constituent): New routine.
(Is_Valid_Assertion_Kind): "Ghost" is now a valid assertion.
(Process_Convention): Remove obsolete check.
(Set_Convention_From_Pragma): Remove the processing for convention
Ghost.
* sem_res.adb (Check_Ghost_Context): New routine.
(Resolve_Call): Verify that a reference to a Ghost entity appears in a
suitable context. Verify the Ghost polity between point of declaration
and point of use.
(Resolve_Entity_Name): Verify that a reference to
a Ghost entity appears in a suitable context. Verify the Ghost
polity between point of declaration and point of use.
* sem_util.adb (Check_Ghost_Completion): New routine.
(Check_Ghost_Derivation): New routine.
(Incomplete_Or_Partial_View): New routine.
(Incomplete_Or_Private_View): Removed.
(Is_Ghost_Entity): New routine.
(Is_Ghost_Statement_Or_Pragma): New routine.
(Is_Subject_To_Ghost): New routine.
(Policy_In_Effect): New routine.
(Set_Is_Ghost_Entity): New routine.
(Within_Ghost_Scope): New routine.
* sem_util.ads (Check_Ghost_Completion): New routine.
(Check_Ghost_Derivation): New routine.
(Incomplete_Or_Partial_View): New routine.
(Incomplete_Or_Private_View): Removed.
(Is_Ghost_Entity): New routine.
(Is_Ghost_Statement_Or_Pragma): New routine.
(Is_Subject_To_Ghost): New routine.
(Policy_In_Effect): New routine.
(Set_Is_Ghost_Entity): New routine.
(Within_Ghost_Scope): New routine.
* snames.adb-tmpl (Get_Convention_Id): Remove the entry for
convention Ghost.
(Get_Convention_Name): Remove the entry for convention Ghost.
* snames.ads-tmpl Remove the convention id for Ghost. Add a
pragma id for Ghost.

2014-10-31  Sergey Rybin  <rybin@adacore.com frybin>

* gnat_ugn.texi: Add description of --RTS option for ASIS tools.

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

9 years ago2014-10-31 Olivier Hainque <hainque@adacore.com>
charlet [Fri, 31 Oct 2014 14:33:16 +0000 (14:33 +0000)]
2014-10-31  Olivier Hainque  <hainque@adacore.com>

* gcc-interface/Makefile.in (arm-vxworks): Update target pairs.

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

9 years ago2014-10-31 Vincent Celier <celier@adacore.com>
charlet [Fri, 31 Oct 2014 14:28:08 +0000 (14:28 +0000)]
2014-10-31  Vincent Celier  <celier@adacore.com>

* prj-part.adb (Parse_Single_Project): Call Set_Display_Name_Of.
* prj-proc.adb (Recursive_Process): Call Display_Name_Of to
get the project Display_Name.
* prj-tree.adb (Display_Name_Of): New function
(Set_Display_Name_Of): New procedure.
(Create_Project): Call Set_Display_Name_Of.
* prj-tree.ads (Display_Name_Of): New function.
(Set_Display_Name_Of): New procedure.
(Project_Node_Record): New component Display_Name.
(Project_Name_And_Node): Remove component Display_Name.
* prj-conf.adb (Parse_Project_And_Apply_Config): Use the full
Config_File_Path as the Config_File_Name, not just its simple
name.

2014-10-31  Thomas Quinot  <quinot@adacore.com>

* get_scos.adb: Minor reformatting.

2014-10-31  Ed Schonberg  <schonberg@adacore.com>

* exp_ch5.adb (Expand_Formal_Container_Loop): Create block to
capture declaration for cursor to prevent spurious errors when
several formal iterators that use the same cursoe name appear
in the same context.

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

9 years ago2014-10-31 Richard Biener <rguenther@suse.de>
rguenth [Fri, 31 Oct 2014 13:43:53 +0000 (13:43 +0000)]
2014-10-31  Richard Biener  <rguenther@suse.de>

* genmatch.c (expr::gen_transform): Use NOP_EXPRs instead of
CONVERT_EXPRs in generated code.
(dt_simplify::gen): Likewise.

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

9 years agogcc/
ienkovich [Fri, 31 Oct 2014 13:30:06 +0000 (13:30 +0000)]
gcc/

PR target/63534
* config/i386/i386.c (ix86_init_pic_reg): Emit SET_GOT to
REAL_PIC_OFFSET_TABLE_REGNUM for mcount profiling.
(ix86_save_reg): Save REAL_PIC_OFFSET_TABLE_REGNUM when profiling
using mcount in 32bit PIC mode.
(ix86_elim_entry_set_got): New.
(ix86_expand_prologue): For the mcount profiling emit new SET_GOT
in PROLOGUE, delete initial if possible.

gcc/testsuite/

PR target/63534
* gcc.target/i386/mcount_pic.c: New.

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

9 years ago * gcc.target/i386/pr23098.c: Remove xfail.
ienkovich [Fri, 31 Oct 2014 13:23:46 +0000 (13:23 +0000)]
* gcc.target/i386/pr23098.c: Remove xfail.

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

9 years ago * ipa-inline.c (want_inline_small_function_p): Fix typo and formatting.
ebotcazou [Fri, 31 Oct 2014 12:32:05 +0000 (12:32 +0000)]
* ipa-inline.c (want_inline_small_function_p): Fix typo and formatting.
(want_inline_function_to_all_callers_p): Fix formatting and simplify.

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

9 years ago * gnat.dg/opt42.ad[sb]: New test.
ebotcazou [Fri, 31 Oct 2014 12:18:30 +0000 (12:18 +0000)]
* gnat.dg/opt42.ad[sb]: New test.

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

9 years ago2014-10-31 Thomas Preud'homme <thomas.preudhomme@arm.com>
thopre01 [Fri, 31 Oct 2014 11:55:07 +0000 (11:55 +0000)]
2014-10-31  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR tree-optimization/63259
    * tree-ssa-math-opts.c (bswap_replace): Replace expression by a
    rotation left if it is a 16 bit byte swap.
    (pass_optimize_bswap::execute): Also consider bswap in LROTATE_EXPR
    and RROTATE_EXPR statements if it is a byte rotation.

    gcc/testsuite/
    PR tree-optimization/63259
    * optimize-bswapsi-1.c (swap32_f): New bswap pass test.
    * optimize-bswaphi-1.c: Drop useless SIType definition and fix typo in
    following comment.

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