Commit Graph

129713 Commits

Author SHA1 Message Date
Alan Lawrence
586199f309 Add execution + assembler tests of AArch64 REV Neon Intrinsics.
* gcc.target/aarch64/simd/vrev16p8_1.c: New file.
	* gcc.target/aarch64/simd/vrev16p8.x: New file.
	* gcc.target/aarch64/simd/vrev16qp8_1.c: New file.
	* gcc.target/aarch64/simd/vrev16qp8.x: New file.
	* gcc.target/aarch64/simd/vrev16qs8_1.c: New file.
	* gcc.target/aarch64/simd/vrev16qs8.x: New file.
	* gcc.target/aarch64/simd/vrev16qu8_1.c: New file.
	* gcc.target/aarch64/simd/vrev16qu8.x: New file.
	* gcc.target/aarch64/simd/vrev16s8_1.c: New file.
	* gcc.target/aarch64/simd/vrev16s8.x: New file.
	* gcc.target/aarch64/simd/vrev16u8_1.c: New file.
	* gcc.target/aarch64/simd/vrev16u8.x: New file.
	* gcc.target/aarch64/simd/vrev32p16_1.c: New file.
	* gcc.target/aarch64/simd/vrev32p16.x: New file.
	* gcc.target/aarch64/simd/vrev32p8_1.c: New file.
	* gcc.target/aarch64/simd/vrev32p8.x: New file.
	* gcc.target/aarch64/simd/vrev32qp16_1.c: New file.
	* gcc.target/aarch64/simd/vrev32qp16.x: New file.
	* gcc.target/aarch64/simd/vrev32qp8_1.c: New file.
	* gcc.target/aarch64/simd/vrev32qp8.x: New file.
	* gcc.target/aarch64/simd/vrev32qs16_1.c: New file.
	* gcc.target/aarch64/simd/vrev32qs16.x: New file.
	* gcc.target/aarch64/simd/vrev32qs8_1.c: New file.
	* gcc.target/aarch64/simd/vrev32qs8.x: New file.
	* gcc.target/aarch64/simd/vrev32qu16_1.c: New file.
	* gcc.target/aarch64/simd/vrev32qu16.x: New file.
	* gcc.target/aarch64/simd/vrev32qu8_1.c: New file.
	* gcc.target/aarch64/simd/vrev32qu8.x: New file.
	* gcc.target/aarch64/simd/vrev32s16_1.c: New file.
	* gcc.target/aarch64/simd/vrev32s16.x: New file.
	* gcc.target/aarch64/simd/vrev32s8_1.c: New file.
	* gcc.target/aarch64/simd/vrev32s8.x: New file.
	* gcc.target/aarch64/simd/vrev32u16_1.c: New file.
	* gcc.target/aarch64/simd/vrev32u16.x: New file.
	* gcc.target/aarch64/simd/vrev32u8_1.c: New file.
	* gcc.target/aarch64/simd/vrev32u8.x: New file.
	* gcc.target/aarch64/simd/vrev64f32_1.c: New file.
	* gcc.target/aarch64/simd/vrev64f32.x: New file.
	* gcc.target/aarch64/simd/vrev64p16_1.c: New file.
	* gcc.target/aarch64/simd/vrev64p16.x: New file.
	* gcc.target/aarch64/simd/vrev64p8_1.c: New file.
	* gcc.target/aarch64/simd/vrev64p8.x: New file.
	* gcc.target/aarch64/simd/vrev64qf32_1.c: New file.
	* gcc.target/aarch64/simd/vrev64qf32.x: New file.
	* gcc.target/aarch64/simd/vrev64qp16_1.c: New file.
	* gcc.target/aarch64/simd/vrev64qp16.x: New file.
	* gcc.target/aarch64/simd/vrev64qp8_1.c: New file.
	* gcc.target/aarch64/simd/vrev64qp8.x: New file.
	* gcc.target/aarch64/simd/vrev64qs16_1.c: New file.
	* gcc.target/aarch64/simd/vrev64qs16.x: New file.
	* gcc.target/aarch64/simd/vrev64qs32_1.c: New file.
	* gcc.target/aarch64/simd/vrev64qs32.x: New file.
	* gcc.target/aarch64/simd/vrev64qs8_1.c: New file.
	* gcc.target/aarch64/simd/vrev64qs8.x: New file.
	* gcc.target/aarch64/simd/vrev64qu16_1.c: New file.
	* gcc.target/aarch64/simd/vrev64qu16.x: New file.
	* gcc.target/aarch64/simd/vrev64qu32_1.c: New file.
	* gcc.target/aarch64/simd/vrev64qu32.x: New file.
	* gcc.target/aarch64/simd/vrev64qu8_1.c: New file.
	* gcc.target/aarch64/simd/vrev64qu8.x: New file.
	* gcc.target/aarch64/simd/vrev64s16_1.c: New file.
	* gcc.target/aarch64/simd/vrev64s16.x: New file.
	* gcc.target/aarch64/simd/vrev64s32_1.c: New file.
	* gcc.target/aarch64/simd/vrev64s32.x: New file.
	* gcc.target/aarch64/simd/vrev64s8_1.c: New file.
	* gcc.target/aarch64/simd/vrev64s8.x: New file.
	* gcc.target/aarch64/simd/vrev64u16_1.c: New file.
	* gcc.target/aarch64/simd/vrev64u16.x: New file.
	* gcc.target/aarch64/simd/vrev64u32_1.c: New file.
	* gcc.target/aarch64/simd/vrev64u32.x: New file.
	* gcc.target/aarch64/simd/vrev64u8_1.c: New file.
	* gcc.target/aarch64/simd/vrev64u8.x: New file.

From-SVN: r210153
2014-05-07 10:58:43 +00:00
Alan Lawrence
e0e906bc14 Add execution + assembler tests of AArch64 EXT intrinsics.
gcc.target/aarch64/simd/ext_f32.x: New file.
	gcc.target/aarch64/simd/ext_f32_1.c: New file.
	gcc.target/aarch64/simd/ext_p16.x: New file.
	gcc.target/aarch64/simd/ext_p16_1.c: New file.
	gcc.target/aarch64/simd/ext_p8.x: New file.
	gcc.target/aarch64/simd/ext_p8_1.c: New file.
	gcc.target/aarch64/simd/ext_s16.x: New file.
	gcc.target/aarch64/simd/ext_s16_1.c: New file.
	gcc.target/aarch64/simd/ext_s32.x: New file.
	gcc.target/aarch64/simd/ext_s32_1.c: New file.
	gcc.target/aarch64/simd/ext_s64.x: New file.
	gcc.target/aarch64/simd/ext_s64_1.c: New file.
	gcc.target/aarch64/simd/ext_s8.x: New file.
	gcc.target/aarch64/simd/ext_s8_1.c: New file.
	gcc.target/aarch64/simd/ext_u16.x: New file.
	gcc.target/aarch64/simd/ext_u16_1.c: New file.
	gcc.target/aarch64/simd/ext_u32.x: New file.
	gcc.target/aarch64/simd/ext_u32_1.c: New file.
	gcc.target/aarch64/simd/ext_u64.x: New file.
	gcc.target/aarch64/simd/ext_u64_1.c: New file.
	gcc.target/aarch64/simd/ext_u8.x: New file.
	gcc.target/aarch64/simd/ext_u8_1.c: New file.
	gcc.target/aarch64/simd/ext_f64.c: New file.
	gcc.target/aarch64/simd/extq_f32.x: New file.
	gcc.target/aarch64/simd/extq_f32_1.c: New file.
	gcc.target/aarch64/simd/extq_p16.x: New file.
	gcc.target/aarch64/simd/extq_p16_1.c: New file.
	gcc.target/aarch64/simd/extq_p8.x: New file.
	gcc.target/aarch64/simd/extq_p8_1.c: New file.
	gcc.target/aarch64/simd/extq_s16.x: New file.
	gcc.target/aarch64/simd/extq_s16_1.c: New file.
	gcc.target/aarch64/simd/extq_s32.x: New file.
	gcc.target/aarch64/simd/extq_s32_1.c: New file.
	gcc.target/aarch64/simd/extq_s64.x: New file.
	gcc.target/aarch64/simd/extq_s64_1.c: New file.
	gcc.target/aarch64/simd/extq_s8.x: New file.
	gcc.target/aarch64/simd/extq_s8_1.c: New file.
	gcc.target/aarch64/simd/extq_u16.x: New file.
	gcc.target/aarch64/simd/extq_u16_1.c: New file.
	gcc.target/aarch64/simd/extq_u32.x: New file.
	gcc.target/aarch64/simd/extq_u32_1.c: New file.
	gcc.target/aarch64/simd/extq_u64.x: New file.
	gcc.target/aarch64/simd/extq_u64_1.c: New file.
	gcc.target/aarch64/simd/extq_u8.x: New file.
	gcc.target/aarch64/simd/extq_u8_1.c: New file.
	gcc.target/aarch64/simd/extq_f64.c: New file.

From-SVN: r210152
2014-05-07 10:51:15 +00:00
Alan Lawrence
1d175503d5 Reimplement AArch64 TRN intrinsics with __builtin_shuffle.
gcc/testsuite/ChangeLog:

	* gcc.target/aarch64/vtrns32.c: Expect zip[12] insn rather than trn[12].
	* gcc.target/aarch64/vtrnu32.c: Likewise.
	* gcc.target/aarch64/vtrnf32.c: Likewise.

gcc/ChangeLog:

	* config/aarch64/arm_neon.h (vtrn1_f32, vtrn1_p8, vtrn1_p16, vtrn1_s8,
	vtrn1_s16, vtrn1_s32, vtrn1_u8, vtrn1_u16, vtrn1_u32, vtrn1q_f32,
	vtrn1q_f64, vtrn1q_p8, vtrn1q_p16, vtrn1q_s8, vtrn1q_s16, vtrn1q_s32,
	vtrn1q_s64, vtrn1q_u8, vtrn1q_u16, vtrn1q_u32, vtrn1q_u64, vtrn2_f32,
	vtrn2_p8, vtrn2_p16, vtrn2_s8, vtrn2_s16, vtrn2_s32, vtrn2_u8,
	vtrn2_u16, vtrn2_u32, vtrn2q_f32, vtrn2q_f64, vtrn2q_p8, vtrn2q_p16,
	vtrn2q_s8, vtrn2q_s16, vtrn2q_s32, vtrn2q_s64, vtrn2q_u8, vtrn2q_u16,
	vtrn2q_u32, vtrn2q_u64): Replace temporary asm with __builtin_shuffle.

From-SVN: r210151
2014-05-07 10:40:41 +00:00
Thomas Schwinge
e2d87487ff Really delete gcc/loop-unswitch.c.
gcc/
	* loop-unswitch.c: Delete.

From-SVN: r210150
2014-05-07 12:31:26 +02:00
Richard Biener
f543058db9 configure.ac: Always set need_64bit_hwint to yes.
2014-05-07  Richard Biener  <rguenther@suse.de>

	libcpp/
	* configure.ac: Always set need_64bit_hwint to yes.
	* configure: Regenerated.

	* config.gcc: Always set need_64bit_hwint to yes.

From-SVN: r210149
2014-05-07 10:24:38 +00:00
Alan Lawrence
9008b1d1b6 Add execution + assembler tests of AArch64 TRN Intrinsics.
* gcc.target/aarch64/simd/vtrnf32_1.c: New file.
	* gcc.target/aarch64/simd/vtrnf32.x: New file.
	* gcc.target/aarch64/simd/vtrnp16_1.c: New file.
	* gcc.target/aarch64/simd/vtrnp16.x: New file.
	* gcc.target/aarch64/simd/vtrnp8_1.c: New file.
	* gcc.target/aarch64/simd/vtrnp8.x: New file.
	* gcc.target/aarch64/simd/vtrnqf32_1.c: New file.
	* gcc.target/aarch64/simd/vtrnqf32.x: New file.
	* gcc.target/aarch64/simd/vtrnqp16_1.c: New file.
	* gcc.target/aarch64/simd/vtrnqp16.x: New file.
	* gcc.target/aarch64/simd/vtrnqp8_1.c: New file.
	* gcc.target/aarch64/simd/vtrnqp8.x: New file.
	* gcc.target/aarch64/simd/vtrnqs16_1.c: New file.
	* gcc.target/aarch64/simd/vtrnqs16.x: New file.
	* gcc.target/aarch64/simd/vtrnqs32_1.c: New file.
	* gcc.target/aarch64/simd/vtrnqs32.x: New file.
	* gcc.target/aarch64/simd/vtrnqs8_1.c: New file.
	* gcc.target/aarch64/simd/vtrnqs8.x: New file.
	* gcc.target/aarch64/simd/vtrnqu16_1.c: New file.
	* gcc.target/aarch64/simd/vtrnqu16.x: New file.
	* gcc.target/aarch64/simd/vtrnqu32_1.c: New file.
	* gcc.target/aarch64/simd/vtrnqu32.x: New file.
	* gcc.target/aarch64/simd/vtrnqu8_1.c: New file.
	* gcc.target/aarch64/simd/vtrnqu8.x: New file.
	* gcc.target/aarch64/simd/vtrns16_1.c: New file.
	* gcc.target/aarch64/simd/vtrns16.x: New file.
	* gcc.target/aarch64/simd/vtrns32_1.c: New file.
	* gcc.target/aarch64/simd/vtrns32.x: New file.
	* gcc.target/aarch64/simd/vtrns8_1.c: New file.
	* gcc.target/aarch64/simd/vtrns8.x: New file.
	* gcc.target/aarch64/simd/vtrnu16_1.c: New file.
	* gcc.target/aarch64/simd/vtrnu16.x: New file.
	* gcc.target/aarch64/simd/vtrnu32_1.c: New file.
	* gcc.target/aarch64/simd/vtrnu32.x: New file.
	* gcc.target/aarch64/simd/vtrnu8_1.c: New file.
	* gcc.target/aarch64/simd/vtrnu8.x: New file.

From-SVN: r210148
2014-05-07 10:20:54 +00:00
Richard Biener
9c13483b14 re PR tree-optimization/57864 (ICE in bitmap_set_replace_value, at tree-ssa-pre.c:862)
2014-05-07  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/57864
	* gcc.dg/torture/pr57864.c: New testcase.

From-SVN: r210142
2014-05-07 08:04:15 +00:00
Paolo Carlini
faeb5f9116 re PR c++/60999 (ICE when static_cast from constexpr in specialization of template-class)
/cp
2014-05-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60999
	* pt.c (maybe_begin_member_template_processing): Use
	uses_template_parms.

/testsuite
2014-05-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60999
	* g++.dg/cpp0x/nsdmi-template9.C: New.
	* g++.dg/cpp0x/nsdmi-template10.C: Likewise.

From-SVN: r210140
2014-05-07 07:24:21 +00:00
Chung-Ju Wu
153df826a4 Fix date in ChangeLog.
From-SVN: r210138
2014-05-07 06:57:00 +00:00
Chung-Ju Wu
9609240458 nds32.h (HONOR_REG_ALLOC_ORDER): Have it in favor of using optimize_size.
* config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Have it in favor
	of using optimize_size.

From-SVN: r210137
2014-05-07 06:34:15 +00:00
Jerry DeLisle
157a50f99c re PR libfortran/61049 (NIST test FM906 fails)
2014-05-06  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/61049
	* gfortran.dg/list_read_13.f: New test.

From-SVN: r210135
2014-05-07 01:46:03 +00:00
Jerry DeLisle
0222756393 re PR libfortran/61049 (NIST test FM906 fails)
2014-05-06  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/61049
	* io/list_read.c (list_formatted_read_scalar): Use eat_separator
	and delete extraneous code.

From-SVN: r210134
2014-05-07 01:31:42 +00:00
Paolo Carlini
f03d1bb9cb Makefile.in: Regenerate.
2014-05-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/Makefile.in: Regenerate.

From-SVN: r210133
2014-05-07 01:11:19 +00:00
GCC Administrator
850cb6ad95 Daily bump.
From-SVN: r210132
2014-05-07 00:17:26 +00:00
Mike Stump
ca66f89bfa * wide-int.h (wi::int_traits <HOST_WIDE_INT>): Always define.
From-SVN: r210128
2014-05-06 23:50:35 +00:00
Paolo Carlini
895a5cc06c re PR c++/60999 (ICE when static_cast from constexpr in specialization of template-class)
/cp
2014-05-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60999
	* pt.c (maybe_begin_member_template_processing): Use
	uses_template_parms.

/testsuite
2014-05-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60999
	* g++.dg/cpp0x/nsdmi-template9.C: New.
	* g++.dg/cpp0x/nsdmi-template10.C: Likewise.

From-SVN: r210126
2014-05-06 22:32:49 +00:00
Joseph Myers
659c0e684c * config/i386/sse.md (*mov<mode>_internal)
(*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>)
	(*<sse2_avx_avx512f>_loaddqu<mode><mask_name>)
	(<sse>_andnot<mode>3, <code><mode>3, *andnot<mode>3)
	(*<code><mode>3, *andnot<mode>3<mask_name>)
	(<mask_codefor><code><mode>3<mask_name>): Only consider
	TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL for modes of size 16.

From-SVN: r210124
2014-05-06 21:35:15 +01:00
François Dumont
15ee1a7745 macros.h [...]: Add parameter to pass the 2 instances to check allocator equality.
2014-05-06  François Dumont  <fdumont@gcc.gnu.org>

	* include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
	parameter to pass the 2 instances to check allocator equality.
	* include/debug/safe_container.h: New, define _Safe_container<>.
	* include/Makefile.am: Add previous.
	* include/debug/deque (std::__debug::deque<>): Inherit
	_Safe_container<>. Use default implementation for all special
	functions.
	* include/debug/forward_list (std::__debug::forward_list<>):
	Likewise.
	* include/debug/list (std::__debug::list<>): Likewise.
	* include/debug/map.h (std::__debug::map<>): Likewise.
	* include/debug/multimap.h (std::__debug::multimap<>): Likewise.
	* include/debug/set.h (std::__debug::set<>): Likewise.
	* include/debug/multiset.h (std::__debug::multiset<>): Likewise.
	* include/debug/string (std::__debug::basic_string<>): Likewise.
	* include/debug/unordered_map
	(std::__debug::unordered_map<>): Likewise.
	(std::__debug::unordered_multimap<>): Likewise.
	* include/debug/unordered_set
	(std::__debug::unordered_set<>): Likewise.
	(std::__debug::unordered_multiset<>): Likewise.
	* include/debug/vector (std::__debug::vector<>): Likewise.
	* include/debug/safe_base.h (_Safe_sequence_base()): Add
	noexcept.
	(_Safe_sequence_base(_Safe_sequence_base&&): Remove.
	(~_Safe_sequence_base()): Add noexcept.
	* include/debug/safe_sequence.h
	(std::__debug::_Safe_node_sequence<>): New.
	* include/debug/safe_unordered_base.h
	(_Safe_unordered_container_base()): Add noexcept.
	(~_Safe_unordered_container_base()): Likewise.
	(_M_swap(_Safe_unordered_container_base&)): Likewise.
	* include/debug/safe_unordered_container.h:
	(_Safe_unordered_container<>::_M_invalidate_locals()): New.
	(_Safe_unordered_container<>::_M_invalidate_all()): New.
	* src/c++11/debug.cc: Limit includes, adapt methods noexcept
	qualifications.
	* testsuite/util/debug/checks.h (check_construct1): Just implement
	an invalid constructor invocation  and no other operations
	potentially not supported by some types of container.
	(check_construct2): Likewise.
	(check_construct3): Likewise.
	* testsuite/23_containers/forward_list/allocator/move.cc: Add
	check on iterators to make sure they are correctly moved in debug
	mode.
	* testsuite/23_containers/forward_list/allocator/move_assign.cc:
	Likewise.
	* testsuite/23_containers/map/allocator/move.cc: Likewise.
	* testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
	* testsuite/23_containers/multimap/allocator/move.cc: Likewise.
	* testsuite/23_containers/multimap/allocator/move_assign.cc:
	Likewise.
	* testsuite/23_containers/multiset/allocator/move.cc: Likewise.
	* testsuite/23_containers/multiset/allocator/move_assign.cc:
	Likewise.
	* testsuite/23_containers/set/allocator/move.cc: Likewise.
	* testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
	* testsuite/23_containers/unordered_map/allocator/move.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/allocator/move_assign.cc:
	Likewise.
	* testsuite/23_containers/unordered_multimap/allocator/move.cc:
	Likewise.
	* testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/allocator/move.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/allocator/move.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/allocator/move_assign.cc:
	Likewise.
	* testsuite/23_containers/forward_list/debug/construct1_neg.cc:
	New.
	* testsuite/23_containers/forward_list/debug/construct2_neg.cc:
	New.
	* testsuite/23_containers/forward_list/debug/construct3_neg.cc:
	New.
	* testsuite/23_containers/forward_list/debug/construct4_neg.cc:
	New.
	* testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
	New.
	* testsuite/23_containers/forward_list/debug/move_neg.cc: New.
	* testsuite/23_containers/map/debug/construct5_neg.cc: New.
	* testsuite/23_containers/map/debug/move_assign_neg.cc: New.
	* testsuite/23_containers/map/debug/move_neg.cc: New.
	* testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
	* testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
	* testsuite/23_containers/multimap/debug/move_neg.cc: New.
	* testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
	* testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
	* testsuite/23_containers/multiset/debug/move_neg.cc: New.
	* testsuite/23_containers/set/debug/construct5_neg.cc: New.
	* testsuite/23_containers/set/debug/move_assign_neg.cc: New.
	* testsuite/23_containers/set/debug/move_neg.cc: New.
	* testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
	New.
	* testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
	New.
	* testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
	* testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
	New.
	* testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
	New.
	* testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
	New.
	* testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
	New.
	* testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
	New.
	* testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
	New.
	* testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
	New.
	* testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
	New.
	* testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
	* testsuite/23_containers/vector/debug/move_neg.cc: New.

From-SVN: r210123
2014-05-06 19:59:44 +00:00
Chris Manghane
6f7e0b570a compiler: Use backend interface for expressions.
* go-gcc.cc (Gcc_backend::nil_pointer_expression): New method.
	(Gcc_backend::boolean_constant_expression): New method.
	(Gcc_backend::zero_expression): Use this->make_expression rather
	than tree_to_expr.
	(Gcc_backend::var_expression): Likewise.
	(Gcc_backend::integer_constant_expression): Likewise.
	(Gcc_backend::float_constant_expression): Likewise.
	(Gcc_backend::complex_constant_expression): Likewise.
	(Gcc_backend::struct_field_expression): Likewise.
	(tree_to_type, tree_to_expr, tree_to_stat): Remove functions.
	(tree_to_function, tree_to_block): Remove functions.
	(type_to_tree, expr_to_tree, stat_to_tree): Remove functions.
	(block_to_tree, var_to_tree, function_to_tree): Remove functions.

From-SVN: r210122
2014-05-06 19:28:03 +00:00
Richard Sandiford
3379b71f51 revert: lra-constraints.c (valid_address_p): Move earlier in file.
gcc/
	Revert:
	2014-05-03  Richard Sandiford  <rdsandiford@googlemail.com>

	* lra-constraints.c (valid_address_p): Move earlier in file.
	Add a constraint argument to the address_info version.
	(satisfies_memory_constraint_p): New function.
	(satisfies_address_constraint_p): Likewise.
	(process_alt_operands, curr_insn_transform): Use them.
	(process_address): Pass the constraint to valid_address_p when
	checking address operands.

From-SVN: r210121
2014-05-06 19:22:16 +00:00
Richard Sandiford
224dbc07a5 lto-cgraph.c (compute_ltrans_boundary): Make node variables local to their respective blocks.
gcc/
	* lto-cgraph.c (compute_ltrans_boundary): Make node variables local
	to their respective blocks.  Fix inadvertent use of "node".

From-SVN: r210120
2014-05-06 17:47:15 +00:00
Richard Sandiford
ebe9df675a boehm.c (mark_reference_fields): Don't update the mask when setting pointer_after_end.
gcc/java/
	* boehm.c (mark_reference_fields): Don't update the mask when
	setting pointer_after_end.

From-SVN: r210119
2014-05-06 17:46:05 +00:00
Richard Sandiford
aa3a12d66e emit-rtl.c (init_derived_machine_modes): New functionm, split out from...
gcc/
	* emit-rtl.c (init_derived_machine_modes): New functionm, split
	out from...
	(init_emit_once): ...here.
	* rtl.h (init_derived_machine_modes): Declare.
	* toplev.c (do_compile): Call it even if no_backend.

From-SVN: r210118
2014-05-06 17:44:15 +00:00
Kenneth Zadeck
1d60af0867 Update ChangeLogs for wide-int work.
Co-Authored-By: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Co-Authored-By: Mike Stump <mikestump@comcast.net>
Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>

From-SVN: r210116
2014-05-06 16:35:35 +00:00
Kenneth Zadeck
807e902eea Merge in wide-int.
From-SVN: r210113
2014-05-06 16:25:05 +00:00
Chris Manghane
6122336c83 compiler: Store flags for division checks in Gogo object instead of using global variables.
* go-c.h (go_create_gogo): Update declaration to add
	check_divide_zero and check_divide_overflow parameters.
	* go-lang.c (go_langhook_init): Pass new arguments to
	go_create_gogo.

From-SVN: r210109
2014-05-06 13:50:01 +00:00
Jan-Benedict Glaw
3134fb1943 avr.c (avr_can_eliminate): Mark unused argument.
2014-05-06  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config/avr/avr.c (avr_can_eliminate): Mark unused argument.

From-SVN: r210108
2014-05-06 13:48:29 +00:00
Richard Biener
3bea341fbd tree-pass.h (TODO_verify_ssa, [...]): Remove.
2014-05-06  Richard Biener  <rguenther@suse.de>

	* tree-pass.h (TODO_verify_ssa, TODO_verify_flow,
	TODO_verify_stmts, TODO_verify_rtl_sharing): Remove.
	(TODO_verify_all): Adjust.
	* asan.c: Remove references to TODO_verify_ssa, TODO_verify_flow,
	TODO_verify_stmts and TODO_verify_rtl_sharing.
	* bb-reorder.c: Likewise.
	* cfgexpand.c: Likewise.
	* cprop.c: Likewise.
	* cse.c: Likewise.
	* function.c: Likewise.
	* fwprop.c: Likewise.
	* gcse.c: Likewise.
	* gimple-ssa-isolate-paths.c: Likewise.
	* gimple-ssa-strength-reduction.c: Likewise.
	* ipa-split.c: Likewise.
	* loop-init.c: Likewise.
	* loop-unroll.c: Likewise.
	* lower-subreg.c: Likewise.
	* modulo-sched.c: Likewise.
	* postreload-gcse.c: Likewise.
	* predict.c: Likewise.
	* recog.c: Likewise.
	* sched-rgn.c: Likewise.
	* store-motion.c: Likewise.
	* tracer.c: Likewise.
	* trans-mem.c: Likewise.
	* tree-call-cdce.c: Likewise.
	* tree-cfg.c: Likewise.
	* tree-cfgcleanup.c: Likewise.
	* tree-complex.c: Likewise.
	* tree-eh.c: Likewise.
	* tree-emutls.c: Likewise.
	* tree-if-conv.c: Likewise.
	* tree-into-ssa.c: Likewise.
	* tree-loop-distribution.c: Likewise.
	* tree-object-size.c: Likewise.
	* tree-parloops.c: Likewise.
	* tree-pass.h: Likewise.
	* tree-sra.c: Likewise.
	* tree-ssa-ccp.c: Likewise.
	* tree-ssa-copy.c: Likewise.
	* tree-ssa-copyrename.c: Likewise.
	* tree-ssa-dce.c: Likewise.
	* tree-ssa-dom.c: Likewise.
	* tree-ssa-dse.c: Likewise.
	* tree-ssa-forwprop.c: Likewise.
	* tree-ssa-ifcombine.c: Likewise.
	* tree-ssa-loop-ch.c: Likewise.
	* tree-ssa-loop-ivcanon.c: Likewise.
	* tree-ssa-loop.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-reassoc.c: Likewise.
	* tree-ssa-sink.c: Likewise.
	* tree-ssa-strlen.c: Likewise.
	* tree-ssa-tail-merge.c: Likewise.
	* tree-ssa-uncprop.c: Likewise.
	* tree-switch-conversion.c: Likewise.
	* tree-tailcall.c: Likewise.
	* tree-vect-generic.c: Likewise.
	* tree-vectorizer.c: Likewise.
	* tree-vrp.c: Likewise.
	* tsan.c: Likewise.
	* var-tracking.c: Likewise.
	* bt-load.c: Likewise.
	* cfgcleanup.c: Likewise.
	* combine-stack-adj.c: Likewise.
	* combine.c: Likewise.
	* compare-elim.c: Likewise.
	* config/epiphany/resolve-sw-modes.c: Likewise.
	* config/i386/i386.c: Likewise.
	* config/mips/mips.c: Likewise.
	* config/s390/s390.c: Likewise.
	* config/sh/sh_treg_combine.cc: Likewise.
	* config/sparc/sparc.c: Likewise.
	* dce.c: Likewise.
	* dse.c: Likewise.
	* final.c: Likewise.
	* ifcvt.c: Likewise.
	* mode-switching.c: Likewise.
	* passes.c: Likewise.
	* postreload.c: Likewise.
	* ree.c: Likewise.
	* reg-stack.c: Likewise.
	* regcprop.c: Likewise.
	* regrename.c: Likewise.
	* web.c: Likewise.

From-SVN: r210106
2014-05-06 13:35:40 +00:00
Richard Biener
b15458becf c-opts.c (c_common_post_options): For -freestanding...
2014-05-06  Richard Biener  <rguenther@suse.de>

	c-family/
	* c-opts.c (c_common_post_options): For -freestanding,
	-fno-hosted and -fno-builtin disable pattern recognition
	if not enabled explicitely.

From-SVN: r210100
2014-05-06 10:46:18 +00:00
Richard Biener
3d224d46b8 re PR debug/61070 (debug_bitmap writes to stdout)
2014-05-06  Richard Biener  <rguenther@suse.de>

	PR middle-end/61070
	* bitmap.c (debug_bitmap): Dump to stderr, not stdout.
	* tree-ssa-structalias.c (dump_solution_for_var): Likewise.

From-SVN: r210098
2014-05-06 08:30:57 +00:00
Ian Lance Taylor
6f07319115 compiler: Fix bug in embedded method handling.
If the same type was embedded in a struct at different levels,
only the first embedded instance was considered when building
the set of all methods.  A second instance was ignored, even
if it was at a higher level and should therefore override the
first instance.

Test case is bug485.go in master repository.

From-SVN: r210096
2014-05-06 05:33:31 +00:00
Ian Lance Taylor
0c2b1bb7b6 compiler: Use backend interface for array length.
From-SVN: r210093
2014-05-06 01:14:34 +00:00
GCC Administrator
9239c1b47d Daily bump.
From-SVN: r210092
2014-05-06 00:17:17 +00:00
Chris Manghane
fb930306ba compiler: Use backend interface for slice construction.
* go-gcc.cc (Gcc_backend::implicit_variable): Rename from
	gc_root_variable.  Add name and is_constant parameters.

From-SVN: r210088
2014-05-06 00:11:29 +00:00
Chris Manghane
3e7b0938f1 compiler: Handle recursive pointer types for unary indirection.
* go-gcc.cc (Gcc_backend::indirect_expression): Add btype
	parameter.
	(Gcc_backend::temporary_variable): Check for erroneous function.

From-SVN: r210087
2014-05-05 23:54:16 +00:00
Jan Hubicka
e400f08159 re PR ipa/60965 (IPA: Devirtualization versus placement new)
PR ipa/60965
	* ipa-devirt.c (get_class_context): Allow POD to change to non-POD.
	* g++.dg/ipa/devirt-32.C: New testcase.

From-SVN: r210086
2014-05-05 23:27:40 +00:00
Radovan Obradovic
aaeaa9a91c Add call_fusage_contains_non_callee_clobbers hook
2014-05-05  Radovan Obradovic  <robradovic@mips.com>
            Tom de Vries  <tom@codesourcery.com>

	* target.def (call_fusage_contains_non_callee_clobbers): New DEFHOOKPOD.
	* doc/tm.texi.in (@node Stack and Calling): Add Miscellaneous Register
	Hooks to @menu.
	(@node Miscellaneous Register Hooks): New node.
	(@hook TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): New hook.
	* doc/tm.texi: Regenerate.

Co-Authored-By: Tom de Vries <tom@codesourcery.com>

From-SVN: r210085
2014-05-05 22:51:36 +00:00
Ian Lance Taylor
a29aa02e79 compiler: Use backend interface for type info expressions.
From-SVN: r210084
2014-05-05 21:48:52 +00:00
Marek Polacek
c2ac23fe23 re PR driver/61065 ([4.9/4.10 Regresion] invalid args to -fsanitize should be an error not a warning)
PR driver/61065
	* opts.c (common_handle_option): Call error_at instead of warning_at.

From-SVN: r210080
2014-05-05 20:37:47 +00:00
Ian Lance Taylor
535d5152fe compiler: Use backend interface for sink expressions.
From-SVN: r210078
2014-05-05 19:05:59 +00:00
Ian Lance Taylor
36d0631995 compiler: Use backend interface for set and use temporaries.
From-SVN: r210077
2014-05-05 18:49:39 +00:00
Ian Lance Taylor
92a87cb7ff compiler: Use backend interface for struct field offsets.
From-SVN: r210074
2014-05-05 17:55:03 +00:00
Richard Biener
0db7457704 passes.c (execute_function_todo): Don't reset TODO_verify_ssa from last_verified if update_ssa ran.
2014-05-05  Richard Biener  <rguenther@suse.de>

	* passes.c (execute_function_todo): Don't reset TODO_verify_ssa
	from last_verified if update_ssa ran.  Move TODO_verify_rtl_sharing
	under the TODO_verify_il umbrella.

From-SVN: r210073
2014-05-05 17:40:08 +00:00
Ian Lance Taylor
7d7e4e4174 compiler: Use backend interface for bound method expressions.
From-SVN: r210072
2014-05-05 17:22:40 +00:00
Richard Biener
7e7f8713ea passes.c (execute_function_todo): Move TODO_verify_flow under the TODO_verify_ul umbrella.
2014-05-05  Richard Biener  <rguenther@suse.de>

	* passes.c (execute_function_todo): Move TODO_verify_flow under
	the TODO_verify_ul umbrella.

From-SVN: r210068
2014-05-05 09:28:39 +00:00
Richard Biener
7e2c9f1434 re PR middle-end/61010 (Infinite recursion in fold)
2014-05-05  Richard Biener  <rguenther@suse.de>

	PR middle-end/61010
	* fold-const.c (fold_binary_loc): Consistently avoid
	canonicalizing X & CST away from a CST that is the mask
	of a mode.

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

From-SVN: r210066
2014-05-05 09:23:31 +00:00
Jan-Benedict Glaw
33ecf1086a picochip-protos.h (picochip_regno_nregs): Change int argument to enum machine_mode.
2014-05-05  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config/picochip/picochip-protos.h (picochip_regno_nregs): Change
	int argument to enum machine_mode.
	(picochip_class_max_nregs): Ditto.
	* config/picochip/picochip.c (picochip_regno_nregs): Ditto.
	(picochip_class_max_nregs): Ditto.

From-SVN: r210065
2014-05-05 08:28:45 +00:00
Andreas Schwab
dd14d42936 Update libstdc++ baseline symbols for ia64
* config/abi/post/ia64-linux-gnu/baseline_symbols.txt
(CXXABI_1.3.9): Remove __float128 symbols.

From-SVN: r210063
2014-05-05 08:10:37 +00:00
Andreas Krebbel
d56a43a0e0 target.def: Add new target hook.
2014-05-05  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* target.def: Add new target hook.
	* doc/tm.texi: Regenerate.
	* targhooks.h (default_keep_leaf_when_profiled): Add prototype.
	* targhooks.c (default_keep_leaf_when_profiled): New function.

	* config/s390/s390.c (s390_keep_leaf_when_profiled): New function.
	(TARGET_KEEP_LEAF_WHEN_PROFILED): Define.

2014-05-05  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* gcc.target/s390/leaf-profile.c: New testcase.

From-SVN: r210061
2014-05-05 07:55:26 +00:00
Andreas Krebbel
f668cd6f2b hoist-register-pressure-1.c: Replace int with long.
2014-05-05  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* gcc.dg/hoist-register-pressure-1.c: Replace int with long.
	Disable asm scan for s390.
	* gcc.dg/hoist-register-pressure-2.c: Likewise.
	* gcc.dg/hoist-register-pressure-3.c: Likewise.

From-SVN: r210060
2014-05-05 07:53:35 +00:00