Commit Graph

120610 Commits

Author SHA1 Message Date
Joern Rennecke 53750ab003 Update Copyright years in gcc/config/epiphany .
From-SVN: r193944
2012-11-29 18:05:53 +00:00
Richard Earnshaw 28131dfe44 re PR target/55073 (Wrong Neon code generation at -O2 caused by -fschedule-insns)
PR target/55073
	* arm/neon.md (neon_vtrn<mode>_internal): Split into expand
	and insn patterns.  Re-order insn arguments to tie inputs to
	outputs.
	(neon_vzip<mode>_internal): Likewise.
	(neon_vuzp<mode>_internal): Likewise.

	* gcc.target/arm/pr55073.C: New test.

From-SVN: r193943
2012-11-29 17:51:40 +00:00
H.J. Lu 1d02988986 Add the missing file
From-SVN: r193942
2012-11-29 09:00:38 -08:00
H.J. Lu c3cc0031a0 Add --with-build-config=bootstrap-asan support
* Makefile.def (target_modules): Add bootstrap=true and
	raw_cxx=true to libsanitizer.
	* configure.ac (bootstrap_target_libs): Add libsanitizer.
	* Makefile.in: Regenerated.
	* configure: Likewise.

config/

	* bootstrap-asan.mk: New file.

From-SVN: r193940
2012-11-29 08:33:35 -08:00
Marc Glisse d5a1053a0d re PR c++/53094 (constexpr vector subscripting)
2012-11-29  Marc Glisse  <marc.glisse@inria.fr>

	PR c++/53094
gcc/
	* fold-const.c (fold): Replace a CONSTRUCTOR with a VECTOR_CST.
gcc/cp/
	* cvt.c (ocp_convert): Call convert_to_vector.
gcc/testsuite/
	* g++.dg/ext/vector20.C: New testcase.

From-SVN: r193938
2012-11-29 15:40:16 +00:00
Kai Tietz 6c5bf58a15 re PR bootstrap/53912 (bootstrap fails using default c++ mode in stage 2 and 3 for native x86_64-w64-mingw32)
PR target/53912
	* class.c (dump_class_hierarchy_r): Cast from pointer via uintptr_t.
	(dump_vtable): Likewise.

From-SVN: r193934
2012-11-29 16:26:29 +01:00
Richard Biener e3815735da tree-ssa-pre.c (get_expr_value_id): Do not add expr to the set of value expressions here.
2012-11-29  Richard Biener  <rguenther@suse.de>

	* tree-ssa-pre.c (get_expr_value_id): Do not add expr
	to the set of value expressions here.
	(add_to_exp_gen, make_values_for_phi): Fold into ...
	(compute_avail): ... here, and avoid useless work.  Dump
	avail sets in processing order.
	(do_pre): Do not dump avail sets here.

From-SVN: r193933
2012-11-29 13:53:42 +00:00
Matthew Gretton-Dann 88f519b295 re PR target/54974 ([ARM] [thumb] Incorrect placement of constant pools)
PR target/54974
	* config/arm/arm.md (thumb2_pool_range, pool_range): Add comment on
	Thumb pool ranges.
	(thumb1_extendhisi2): Reduce Thumb pool range.
	(arm_movdi): Likewise.
	(thumb1_movdi_insn): Likewise.
	(thumb1_movsi_insn): Likewise.
	(pic_load_addr_unified): Likewise.
	(pic_load_addr_32bit): Likewise.
	(pic_load_addr_thumb1): Likewise.
	(thumb1_movhf): Likewise.
	(arm_movsf_soft_insn): Likewise.
	(thumb1_movsf_soft_insn): Likewise.
	(movdf_soft_insn): Likewise.
	(thumb1_movdf_soft_insn): Likewise.
	* config/arm/neon.md (*neon_mov<mode>): Likewise.
	(*neon_mov<mode>): Likwise.
	* config/arm/thumb2.md: (*thumb2_movsi_insn): Likewise.
	(*thumb2_movhi_insn): Likewise.
	(*thumb2_extendqisi_v6): Likewise.
	(*thumb2_zero_extendqisi_v6): Likewise.
	(*thumb2_zero_extendqisi2_v6): Likewise.
	* config/arm/vfp.md: (*thumb2_movsi_vfp): Likewise.
	(*movdi_vfp): Likewise.
	(*movdi_vfp_cortexa8): Likewise.
	(*thumb2_movsf_vfp): Likewise.
	(*thumb2_movdf_vfp): Likewise.

From-SVN: r193930
2012-11-29 10:02:16 +00:00
Kai Tietz 02f9e21a26 re PR target/55445 (Always defined __SEH__ when build from trunk)
PR target/55445
        * libsupc++/eh_personaltity.cc (__SEH__): Additional check
        for not being SjLj.

From-SVN: r193929
2012-11-29 10:39:49 +01:00
Kai Tietz e5a81c8e46 re PR target/55445 (Always defined __SEH__ when build from trunk)
PR target/55445
        * unwind-c.c (__SEH__): Make sure SjLj isn't active.
        * unwind-generic.h: Likewise.
        * unwind-seh.c: Likewise.

From-SVN: r193928
2012-11-29 10:36:41 +01:00
Kai Tietz 0abbfd2189 re PR target/55171 (incorrect virtual thunk on mingw)
PR target/55171
        * i386.c (get_scratch_register_on_entry): Handle
        thiscall-convention.
        (split_stack_prologue_scratch_regno): Likewise.
        (ix86_static_chain): Likewise.
        (x86_output_mi_thunk): Likewise.

From-SVN: r193926
2012-11-29 10:21:17 +01:00
Tobias Burnus 45d5889a07 re PR fortran/52161 (Internal compiler errors with -fcheck=bounds in coarray tests)
2012-11-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52161
        * trans-stmt.c (gfc_trans_sync): Fix bound checking
        for -fcoarray=lib.

2012-11-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52161
        * coarray/sync_3.f90: Extend test.

From-SVN: r193924
2012-11-29 09:43:48 +01:00
Jakub Jelinek 2bc462ea54 re PR rtl-optimization/55512 (Various LRA ICEs with inline-asm)
PR rtl-optimization/55512
	* gcc.target/i386/pr55512-2.c: Remove unnecessary define.
	* gcc.target/i386/pr55512-4.c: Likewise.

From-SVN: r193923
2012-11-29 09:32:32 +01:00
Marek Polacek bfe7af891c Improve debug message.
From-SVN: r193922
2012-11-29 07:40:44 +00:00
Oleg Raikhman d45a0b2b5a epiphany.h (FIXED_REGISTERS, [...]): Make r40..r43 call-used.
* config/epiphany/epiphany.h (FIXED_REGISTERS, CALL_USED_REGISTERS):
        Make r40..r43 call-used.
        (REG_ALLOC_ORDER): Sort r40..r43 into the call-used registers.

From-SVN: r193921
2012-11-29 03:05:23 +00:00
Joern Rennecke d9b83a68e1 epiphany.c (epiphany_adjust_cost): Use reg_overlap_mentioned_p.
* config/epiphany/epiphany.c (epiphany_adjust_cost): Use
        reg_overlap_mentioned_p.

From-SVN: r193920
2012-11-29 02:43:19 +00:00
Joern Rennecke 9b7542b9c2 * config/epiphany/epiphany.md (isub_i+1): Work around generator bug.
From-SVN: r193919
2012-11-29 02:39:20 +00:00
Ed Smith-Rowland 2d7aa5780c re PR c++/52654 ([C++11] Warn on overflow in user-defined literals)
gcc/c-family/

2012-11-29  Ed Smith-Rowland  <3dw4rd@verizon.net>

	PR c++/52654
	* c-common.h (overflow_type): New enum.
	(build_userdef_literal): Add overflow_type argument.
	(tree_userdef_literal): Add overflow_type.
	(USERDEF_LITERAL_OVERFLOW): New access macro.
	* c-common.c (build_userdef_literal): Add overflow_type
	argument.
	* c-lex.c (c_lex_with_flags): Add overflow_type to
	build_userdef_literal calls.
	(interpret_integer, interpret_float): Add overflow_type argument.


gcc/cp/

2012-11-29  Ed Smith-Rowland  <3dw4rd@verizon.net>

	PR c++/52654
	* parser.c (cp_parser_string_literal): Add overflow_type arg.
	(cp_parser_userdef_numeric_literal): Warn on numeric overflow.


gcc/testsuite/

2012-11-29  Ed Smith-Rowland  <3dw4rd@verizon.net>

	PR c++/52654
	* g++.dg/cpp0x/udlit-overflow.C: New.
	* g++.dg/cpp0x/udlit-overflow-neg.C: New.

From-SVN: r193918
2012-11-29 02:30:44 +00:00
Joern Rennecke 48ac1c945b epiphany.h (EPIPHANY_LIBRARY_EXTRA_SPEC): Define.
* config/epiphany/epiphany.h (EPIPHANY_LIBRARY_EXTRA_SPEC): Define.
        (EXTRA_SPECS, DRIVER_SELF_SPECS): Likewise.
        * config/epiphany/t-epiphany (SPECS): Set.
        (specs): New rule.

From-SVN: r193917
2012-11-29 02:12:39 +00:00
Joern Rennecke f701d22393 Shift get_attr_sched_use_fpu declaration from last change from...
Shift get_attr_sched_use_fpu declaration from last change from
config/epiphany/epiphany.h to config/epiphany/epiphany-protos.h .

From-SVN: r193916
2012-11-29 01:56:26 +00:00
Joern Rennecke 447a7d2493 predicates.md (addsub_operator): New predicate.
* config/epiphany/predicates.md (addsub_operator): New predicate.
        * config/epiphany/epiphany-sched.md (sched_use_fpu): New attribute.
        * config/epiphany/epiphany.md (isub_i+1): New peephole2.
        * config/epiphany/epiphany.h (get_attr_sched_use_fpu): Declare.

From-SVN: r193915
2012-11-29 01:46:47 +00:00
GCC Administrator e7287433d8 Daily bump.
From-SVN: r193914
2012-11-29 00:17:58 +00:00
Jakub Jelinek f5d30aa62f re PR debug/36728 ([stack]: gdb doesn't work with stack alignment)
PR debug/36728
	PR debug/55467
	PR middle-end/55507
	PR bootstrap/55511
	* cselib.c (cselib_process_insn): If cselib_preserve_constants,
	don't reset table and exit early on volatile insns and setjmp.
	Reset table afterwards on setjmp.

	* gcc.dg/guality/pr36728-1.c: Include "../nop.h", make sure the asm
	are non-empty and add dependency between the first and second asm.
	* gcc.dg/guality/pr36728-2.c: Likewise.
	* gcc.dg/guality/pr36728-3.c: New test.
	* gcc.dg/guality/pr36728-4.c: New test.

From-SVN: r193911
2012-11-29 00:01:03 +01:00
Andrew Pinski 5d99894e65 re PR other/54279 (first stage build with g++ fails with "." as the first component of $PATH)
2012-11-28  Andrew Pinski  <apinski@cavium.com>

        PR bootstrap/54279
        * configure.ac (CXX_FOR_TARGET): Change over to use xg++.
        * configure: Regenerate.
        * Makefile.tpl (POSTSTAGE1_CXX_EXPORT): Change over to use xg++.
        * Makefile.in: Regenerate.

2012-11-28  Andrew Pinski  <apinski@cavium.com>

        PR bootstrap/54279
        * Makefile.in (${QMTEST_DIR}/context): Use xg++ instead of g++.

2012-11-28  Andrew Pinski  <apinski@cavium.com>

        PR bootstrap/54279
        * Make-lang.in (g++$(exeext)): Rename to
        (xg++$(exeext)): This.
        (g++-cross$(exeext)): Use xg++$(exeext) instead of g++$(exeext).
        (c++.start.encap): Likewise.
        (c++.install-common): Likewise.

2012-11-28  Andrew Pinski  <apinski@cavium.com>

        PR bootstrap/54279
        * lib/g++.exp (g++_init): Search for xg++ instead of g++ in the build
        directories.
        * lib/obj-c++.exp (obj-c++_init): Likewise.

2012-11-28  Andrew Pinski  <apinski@cavium.com>

        PR bootstrap/54279
        * scripts/testsuite_flags.in (--build-cxx): Use xg++ instead of g++.
        * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.

From-SVN: r193910
2012-11-28 14:11:29 -08:00
Richard Sandiford 373b9e782b re PR tree-optimization/55052 (vect-widening tests are failing and giving wrong results)
gcc/
	PR rtl-optimization/55052
	* simplify-rtx.c (simplify_subreg): Restore SCALAR_INT_MODE_P check.

From-SVN: r193909
2012-11-28 21:45:03 +00:00
Tobias Burnus 74c49505d0 re PR fortran/52161 (Internal compiler errors with -fcheck=bounds in coarray tests)
2012-11-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52161
        * trans-stmt.c (gfc_trans_sync): Fix bound checking.


2012-11-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52161
        * coarray/sync_3.f90: New.

From-SVN: r193908
2012-11-28 22:42:17 +01:00
Richard Henderson f4919e4a82 re PR libgcc/48076 (Unsafe double checked locking in __emutls_get_address)
PR libgcc/48076
        * emutls.c (__emutls_get_address): Avoid race condition between
        obj->loc.offset read and emutls_key initialization.

From-SVN: r193907
2012-11-28 13:01:26 -08:00
David Edelsohn 361a58da83 target.def (use_blocks_for_decl_p): New hook.
* target.def (use_blocks_for_decl_p): New hook.
        * varasm.c (use_blocks_for_decl_p): Apply hook as final condition.
        * doc/tm.texi.in (USE_BLOCKS_FOR_DECL_P): New description.
        * doc/tm.texi: Regenerated.

From-SVN: r193906
2012-11-28 15:22:58 -05:00
Richard Sandiford 00efe3ea3c re PR middle-end/55438 (tmpdir-gcc.dg-struct-layout-1/t001 - t028, gcc.c-torture/execute/991118-1.c, gcc.c-torture/execute/bf64-1.c, ICE)
gcc/
	PR middle-end/55438
	* expmed.c (simple_mem_bitfield_p): New function, extracted from
	store_bit_field_1 and extract_bit_field_1.  Use GET_MODE_ALIGNMENT
	rather than bitsize when checking the alignment.
	(store_bit_field_1, extract_bit_field_1): Call it.
	* stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator):
	Don't limit ALIGN_.  Assume that memory is mapped in chunks of at
	least word size, regardless of BIGGEST_ALIGNMENT.
	(bit_field_mode_iterator::get_mode): Use GET_MODE_ALIGNMENT rather
	than unit when checking the alignment.
	(get_best_mode): Use GET_MODE_ALIGNMENT.

From-SVN: r193905
2012-11-28 20:13:22 +00:00
Doug Evans 1099bb0a71 validate_failures.py: Use <target_alias> instead of <target>.
* testsuite-management/validate_failures.py: Use <target_alias> instead
	of <target>.  Minor whitespace changes.

From-SVN: r193904
2012-11-28 19:25:24 +00:00
Doug Evans b3891de433 validate_failures.py: Record ordinal with TestResult.
* testsuite-management/validate_failures.py: Record ordinal with
	TestResult.

From-SVN: r193903
2012-11-28 19:23:31 +00:00
Uros Bizjak cc13320468 pr55458.c: Require ia32 target instead of ilp32.
* gcc.target/i386/pr55458.c: Require ia32 target instead of ilp32.

From-SVN: r193902
2012-11-28 19:06:34 +01:00
Vladimir Makarov c656b86b8d re PR rtl-optimization/55512 (Various LRA ICEs with inline-asm)
2012-11-28  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/55512
	* lra-assigns.c (assign_by_spills): Assigned arbitrary hard regs
	to failed reload pseudos instead of changing asm pattern.
	* lra-constraints.c (MAX_CONSTRAINT_ITERATION_NUMBER): Increase
	value.

2012-11-28  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/55512
	* gcc.target/i386/pr55512-[1234].c: New tests.

From-SVN: r193901
2012-11-28 17:42:39 +00:00
Markus Trippelsdorf 77e21230ea re PR other/55358 (Valgrind errors)
PR other/55358
	* dse.c (rest_of_handle_dse): Remove superfluous clearing.

From-SVN: r193900
2012-11-28 17:49:35 +01:00
Jakub Jelinek 8b94f596b5 re PR testsuite/55505 (gcc.c-torture/execute/921202-1.c execution failures with -fsanitize=address)
PR testsuite/55505
	* gcc.c-torture/execute/921202-1.c: Increase size of dx and dy
	arrays.

From-SVN: r193899
2012-11-28 17:28:57 +01:00
Jakub Jelinek c7e20b0b08 re PR testsuite/55504 (gcc.c-torture/execute/20071018-1.c execution failures with -fsanitize=address)
PR testsuite/55504
	* gcc.c-torture/execute/20071018-1.c (foo): Add noinline/noclone
	attributes.  Avoid clobbering memory before malloced chunk.
	(main): Pass 1 instead of 0 as argument.

From-SVN: r193898
2012-11-28 17:28:06 +01:00
Joern Rennecke e87ef71b05 * config/epiphany/epiphgany.md (maddsi_combine): Fix output pattern.
From-SVN: r193897
2012-11-28 16:11:47 +00:00
Joern Rennecke 553bfa06c9 epiphany.opt (mfp-iarith): New option.
* config/epiphany/epiphany.opt (mfp-iarith): New option.
        * config/epiphany/epiphgany.md (addsi3): Check for TARGET_FP_IARITH.
        (subsi3, iadd, isub): Rename to ..
        (subsi3_i, iadd_i, isub_i): .. This.
        (subsi3, iadd, isub): New define_expands.

        * config/epiphany/epiphgany.md (attribute type): Add v2fp.
        (attribute fp_mode): Test for v2fp.
        (<float_operation:insn_opname>v2sf3_i): Change type to v2fp.
        * config/epiphany/epiphgany-sched.md (fp_arith_nearest, fp_arith_trunc):
        Combine to ..
        (fp_arith): .. this. 
        (v2fp_arith): New insn reservation.

From-SVN: r193896
2012-11-28 16:10:18 +00:00
Joern Rennecke e9aff0f685 Adjust last change to plus_constant change.
From-SVN: r193895
2012-11-28 16:03:00 +00:00
Joern Rennecke 0ccfc3ab15 predicates.md (move_double_src_operand): Check that misaligned addresses are offsettable.
* config/epiphany/predicates.md (move_double_src_operand):
        Check that misaligned addresses are offsettable.
        (move_dest_operand): Likewise.
        * config/epiphany/epiphany.c (REG_OK_FOR_BASE_P): Don't force a
        misaligned stack address to reg+index.

From-SVN: r193894
2012-11-28 15:36:13 +00:00
Oleg Raikhman 3000ffecd7 epiphany.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
2012-11-28  Oleg Raikhman  <oleg@adapteva.com>

        * config/epiphany/epiphany.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.

From-SVN: r193892
2012-11-28 13:56:28 +00:00
Joern Rennecke be74e49e0d epiphany.opt (-may-round-for-trunc): New option.
* config/epiphany/epiphany.opt (-may-round-for-trunc): New option.
        * config/epiphany/epiphany.md (*fix_truncsfsi2_i): Take it into account.

From-SVN: r193891
2012-11-28 13:28:57 +00:00
Joern Rennecke 9bc8692a42 epiphany.md (mov<mode>, [...]): Check for misaligned memory operands.
* config/epiphany/epiphany.md (mov<mode>, *mov<mode>_insn): Check
        for misaligned memory operands.
        * config/epiphany/predicates.md (misaligned_operand): New predicate.

From-SVN: r193890
2012-11-28 13:21:59 +00:00
Joern Rennecke ffcc7caf89 epiphany.h (HARD_REGNO_RENAME_OK): Define.
* config/epiphany/epiphany.h (HARD_REGNO_RENAME_OK): Define.
        * config/epiphany/epiphany-protos.h (epiphany_regno_rename_ok): Declare.
        * config/epiphany/epiphany.c (epiphany_regno_rename_ok): New function.

From-SVN: r193889
2012-11-28 13:18:25 +00:00
Richard Biener 1001fb60cc re PR tree-optimization/54547 (FAIL: gcc.dg/tree-ssa/pr37508.c scan-tree-dump-times vrp1 "Folding" 3)
2012-11-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/54547
	* tree-vrp.c (set_and_canonicalize_value_range): Handle
	1-bit anti-ranges explicitely.
	(extract_range_from_assert): Properly canonicalize all
	built anti-ranges.

From-SVN: r193888
2012-11-28 12:18:39 +00:00
Eric Botcazou 6625d7bc4c Fix date and trailing space in previous commit.
From-SVN: r193887
2012-11-28 10:58:11 +00:00
Eric Botcazou ce3da0d0d5 stor-layout.c (layout_type): Do not clear TREE_OVERFLOW on overflowed zeroes, except in one specific case.
* stor-layout.c (layout_type) <ARRAY_TYPE>: Do not clear TREE_OVERFLOW
	on overflowed zeroes, except in one specific case.
ada/
	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use
	valid_constant_size_p to detect too large objects.
	<E_Subprogram_Type>: Likewise for too large return types.
	(allocatable_size_p): Call valid_constant_size_p in the fixed case.
	(annotate_value) <INTEGER_CST>: Simplify.
	<BIT_AND_EXPR>: Deal with negative values here.
	* gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Use
	valid_constant_size_p to detect too large objects on the LHS.
	* gcc-interface/misc.c (default_pass_by_ref): Likewise for large types.
	And use TYPE_SIZE_UNIT throughout.
	(must_pass_by_ref): Likewise.
	* gcc-interface/utils.c (max_size) <tcc_unary>: Split from common case.
	<tcc_binary>: Likewise.  Call size_binop instead of fold_build2.
	<tcc_expression>: Simplify.
	* gcc-interface/utils2.c (build_allocator): Use valid_constant_size_p
	to detect too large allocations.

From-SVN: r193886
2012-11-28 10:51:19 +00:00
Paolo Carlini fb1fbef273 re PR c++/55497 (Local array (char[]) initialized with a size taken from a static variable creates an ICE)
2012-11-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/55497
	* g++.dg/init/pr55497.C: New.

From-SVN: r193885
2012-11-28 10:49:39 +00:00
Marc Glisse e9d6bd8c9b re PR middle-end/55266 (vector expansion: 24 movs for 4 adds)
2012-11-28  Marc Glisse  <marc.glisse@inria.fr>

	PR middle-end/55266
	* fold-const.c (fold_ternary_loc) [BIT_FIELD_REF]: Handle
	CONSTRUCTOR with vector elements.
	* tree-ssa-propagate.c (valid_gimple_rhs_p): Handle CONSTRUCTOR
	and BIT_FIELD_REF.

From-SVN: r193884
2012-11-28 10:11:27 +00:00
Richard Biener 2c3e2ce268 re PR testsuite/55327 (FAIL: gcc.dg/vect/slp-perm-8.c scan-tree-dump-times vect "vectorized 1 loops" 2)
2012-11-28  Richard Biener  <rguenther@suse.de>

	PR testsuite/55327
	* gcc.dg/vect/slp-perm-8.c: Mark worker as noinline.
	* gcc.dg/vect/slp-perm-9.c: Likewise.

From-SVN: r193883
2012-11-28 09:32:30 +00:00