Commit Graph

129043 Commits

Author SHA1 Message Date
Kyrylo Tkachov
b10baa9584 [ARM/AArch64][1/2] Crypto intrinsics tuning for Cortex-A53 - "type" Attribute restructuring
* config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
     Use crypto_aese type.
     (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
     * config/arm/arm.md (is_neon_type): Replace crypto_aes with
     crypto_aese, crypto_aesmc.  Move to types.md.
     * config/arm/types.md (crypto_aes): Split into crypto_aese,
     crypto_aesmc.
     * config/arm/iterators.md (crypto_type): Likewise.

From-SVN: r208908
2014-03-28 17:22:47 +00:00
Jakub Jelinek
97b733ac56 re PR c++/58678 (pykde4-4.11.2 link error (devirtualization too trigger happy))
PR c++/58678
	* g++.dg/abi/thunk6.C: Scan assembler for _ZTv0_n32_N1CD1Ev
	only for lp64 targets and scan for _ZTv0_n16_N1CD1Ev for ilp32
	targets.

From-SVN: r208907
2014-03-28 18:17:56 +01:00
Jan Hubicka
23a042164f cgraph.c: Include expr.h and tree-dfa.h.
* cgraph.c: Include expr.h and tree-dfa.h.
	(cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn; remove LHS.

From-SVN: r208901
2014-03-28 15:30:58 +00:00
Vladimir Makarov
a4971e6893 re PR target/60675 ([aarch64] internal compiler error: Max. number of generated reload insns per insn is achieved (90))
2014-03-28  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/60675
	* lra-assigns.c (find_hard_regno_for): Remove unavailable hard
	regs from checking multi-reg pseudos.

2014-03-28  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/60675
	* gcc.target/aarch64/pr60675.C: New.

From-SVN: r208900
2014-03-28 15:27:58 +00:00
Richard Biener
2486c24a8c simple-object.c (simple_object_internal_read): Handle EINTR and short reads.
2014-03-28  Richard Biener  <rguenther@suse.de>

	libiberty/
	* simple-object.c (simple_object_internal_read): Handle
	EINTR and short reads.

	lto-plugin/
	* lto-plugin.c (process_symtab): Handle EINTR and short reads.

From-SVN: r208898
2014-03-28 14:05:49 +00:00
Andreas Krebbel
44d627891f ssa-dom-thread-4.c: Remove s390 special option.
2014-03-28  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* gcc.dg/tree-ssa/ssa-dom-thread-4.c: Remove s390 special
          option.
	* lib/target-supports.exp: Return true for s390
          in check_effective_logical_op_short_circuit.

From-SVN: r208897
2014-03-28 13:44:58 +00:00
Ramana Radhakrishnan
7ac84c0218 Fix A12 multilib rule.
This affects only arm-none-eabi targets and those using t-aprofile in
their multilib lists. The problem here is that when the A12 support
was added, we mistakenly added this to the MULTILIB_MATCHES rule for
the A15 rather than putting out a separate line for this.

Fixed thusly and verified that the correct multilibs are now chosen.


     * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.

From-SVN: r208896
2014-03-28 13:43:21 +00:00
Ulrich Weigand
bd302a183a rs6000.c (fusion_gpr_load_p): Refuse optimization if it would clobber the stack pointer, even temporarily.
* config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
	if it would clobber the stack pointer, even temporarily.

From-SVN: r208895
2014-03-28 12:42:40 +00:00
Kirill Yukhin
efeaaaafad avx512f-vshuff32x4-2.c: Fix initialization of second source operand.
gcc/testsuite
	* gcc.target/i386/avx512f-vshuff32x4-2.c: Fix initialization
	  of second source operand.
	* gcc.target/i386/avx512f-vshuff64x2-2.c: Ditto.
	* gcc.target/i386/avx512f-vshufi32x4-2.c: Ditto.
	* gcc.target/i386/avx512f-vshufi64x2-2.c: Ditto.

From-SVN: r208894
2014-03-28 11:10:13 +00:00
Jakub Jelinek
54689b4fc9 re PR ipa/60315 (template constructor switch optimization)
PR ipa/60315
	* g++.dg/torture/pr60315.C: Add -std=c++11 to dg-options.

From-SVN: r208893
2014-03-28 11:25:34 +01:00
Eric Botcazou
cee9defb69 * mode-switching.c: Make small adjustments to the top comment.
From-SVN: r208892
2014-03-28 10:20:41 +00:00
Tobias Burnus
066adee80c cilk-plus-dg.exp: New.
2014-03-28  Tobias Burnus  <burnus@net-b.de>

        * lib/cilk-plus-dg.exp: New.
        * g++.dg/cilk-plus/cilk-plus.exp: Use it.
        * gcc.dg/cilk-plus/cilk-plus.exp: Use it.

From-SVN: r208889
2014-03-28 07:57:54 +01:00
Ian Lance Taylor
3700e94730 re PR other/59545 (Signed integer overflow issues)
PR other/59545
compiler: Fix bogus invalid static_cast to Unary_expression.

From-SVN: r208888
2014-03-28 05:20:48 +00:00
GCC Administrator
c63de3b3f8 Daily bump.
From-SVN: r208886
2014-03-28 00:17:18 +00:00
Thomas Koenig
4f83d583ec re PR fortran/60522 (WHERE construct causes an ICE in gfc_trans_where_2)
2014-04-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/60522
	* frontend-passes.c (cfe_code):  Do not walk subtrees
	for WHERE.

2014-04-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/60522
	* gfortran.dg/where_4.f90:  New test case.

From-SVN: r208883
2014-03-27 22:21:35 +00:00
Michael Meissner
6788164be4 extend.texi (PowerPC AltiVec/VSX Built-in Functions): Document use of vec_xxsldwi and vec_xxpermdi builtins.
2014-03-27  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
	Document use of vec_xxsldwi and vec_xxpermdi builtins.

From-SVN: r208880
2014-03-27 21:43:27 +00:00
Tobias Burnus
7651172f59 re PR fortran/58880 ([OOP] ICE on valid with FINAL function and type extension)
2014-03-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58880
        * trans-expr.c (gfc_conv_scalar_to_descriptor): Fix handling
        of nonpointers.

2014-03-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58880
        * gfortran.dg/finalize_24.f90: New.

From-SVN: r208879
2014-03-27 22:17:43 +01:00
Michael Meissner
117f16fbba re PR testsuite/60672 (FAIL: g++.dg/cpp1y/auto-fn25.C -std=gnu++1y (test for errors, line 7))
[gcc]
2014-03-27  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/constraints.md (wD constraint): New constraint to
	match the constant integer to get the top DImode/DFmode out of a
	vector in a VSX register.

	* config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
	match the constant integer to get the top DImode/DFmode out of a
	vector in a VSX register.

	* config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
	for ISA 2.07.

	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
	vbpermq builtins.

	* config/rs6000/rs6000.c (rs6000_debug_reg_global): If
	-mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.

	* config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
	Optimize vec_extract of 64-bit values, where the value being
	extracted is in the top word, where we can use scalar
	instructions.  Add direct move and store support.  Combine the big
	endian/little endian vector select load support into a single
	insn.
	(vsx_extract_<mode>_internal1): Likewise.
	(vsx_extract_<mode>_internal2): Likewise.
	(vsx_extract_<mode>_load): Likewise.
	(vsx_extract_<mode>_store): Likewise.
	(vsx_extract_<mode>_zero): Delete, big and little endian insns are
	combined into vsx_extract_<mode>_load.
	(vsx_extract_<mode>_one_le): Likewise.

	* config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
	define the top 64-bit vector element.

	* doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
	constraint.

	PR target/60672
	* config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
	enable use of xxsldwi and xxpermdi builtin functions.
	(vec_xxpermdi): Likewise.

	* doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
	Document use of vec_xxsldwi and vec_xxpermdi builtins.

[gcc/testsuite]
2014-03-27  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/p8vector-vbpermq.c: New test to test the
	vbpermq builtin.

	* gcc.target/powerpc/vsx-extract-1.c: New test to test VSX
	vec_select optimizations.
	* gcc.target/powerpc/vsx-extract-2.c: Likewise.
	* gcc.target/powerpc/vsx-extract-3.c: Likewise.

	PR target/60672
	* gcc.target/powerpc/pr60676.c: New file, make sure xxsldwi and
	xxpermdi builtins are supported.

From-SVN: r208877
2014-03-27 20:07:16 +00:00
Vladimir Makarov
9e038952c5 re PR rtl-optimization/60650 ([ARM] LRA ICE in assign_by_spills)
2014-03-27  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/60650
	* lra-asign.c (find_hard_regno_for, spill_for): Add parameter
	first_p.  Use it.
	(find_spills_for): New.
	(assign_by_spills): Pass the new parameter to find_hard_regno_for.
	Spill all pseudos on the second iteration.

2014-03-27  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/60650
	* gcc.target/arm/pr60650.c: New.

From-SVN: r208876
2014-03-27 18:49:44 +00:00
Jonathan Wakely
ffcbf03ffb * doc/html/*: Regenerate.
From-SVN: r208875
2014-03-27 18:22:46 +00:00
Jonathan Wakely
b08d3b681a containers.xml (associative.bitset.size_variable): Fix bad s/part/chapter/ substitutions.
* doc/xml/manual/containers.xml (associative.bitset.size_variable):
	Fix bad s/part/chapter/ substitutions.
	* doc/xml/manual/io.xml (std.io): Likewise.
	* doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
	* doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.

From-SVN: r208874
2014-03-27 18:22:38 +00:00
Jonathan Wakely
6f8b5e0cda faq.xml (faq): Refer to clauses instead of chapters.
* doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
	* doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
	Likewise.
	* doc/xml/manual/backwards_compatibility.xml (backwards.third):
	Likewise.
	* doc/xml/manual/test.xml (test.organization.layout): Likewise.

From-SVN: r208873
2014-03-27 18:22:33 +00:00
Jonathan Wakely
25d24c421a * doc/xml/manual/io.xml (std.io.objects): Additional markup.
From-SVN: r208872
2014-03-27 18:22:27 +00:00
Jonathan Wakely
3941b26033 re PR libstdc++/60612 (Throwing exception, catching and rethrowing (std::exception_ptr) in destructor leads to segfault)
PR libstdc++/60612
	* libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
	compatible with __cxa_exception.
	* libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
	Fix typos in comments.
	* testsuite/18_support/exception_ptr/60612-terminate.cc: New.
	* testsuite/18_support/exception_ptr/60612-unexpected.cc: New.

From-SVN: r208871
2014-03-27 18:07:25 +00:00
Marek Polacek
324dc401fe re PR c/50347 (unexpected -Wconversion error from gcc builtin)
PR c/50347
	* doc/extend.texi (ffs Builtins): Change unsigned types to signed
	types.

From-SVN: r208870
2014-03-27 15:59:07 +00:00
Andreas Krebbel
59976ef878 config.host: Append t-floattodi to tmake_file depending on host_address.
2014-03-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config.host: Append t-floattodi to tmake_file depending on
	host_address.

From-SVN: r208868
2014-03-27 15:40:31 +00:00
Andreas Krebbel
6e77facf95 s390.c (s390_can_use_return_insn): Check for call-saved FPRs on 31 bit.
2014-03-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (s390_can_use_return_insn): Check for
	call-saved FPRs on 31 bit.

2014-03-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* gcc.target/s390/20140327-1.c: New testcase.

From-SVN: r208867
2014-03-27 15:38:29 +00:00
Yaakov Selkowitz
ba1925c368 Makefile.def (dependencies): Make all-ld depend on all-binutils for WINDRES_FOR_TARGET in default-manifest.o...
* Makefile.def (dependencies): Make all-ld depend on all-binutils
	for WINDRES_FOR_TARGET in default-manifest.o rule.
	* Makefile.in: Regenerate.

From-SVN: r208865
2014-03-27 13:36:21 +00:00
Jakub Jelinek
47519a1446 re PR middle-end/60682 ([OpenMP] ICE on an assignment of local variable inside SIMD loop)
PR middle-end/60682
	* omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
	if they need regimplification, just drop them instead of
	calling gimple_regimplify_operands on them.

	* g++.dg/gomp/pr60682.C: New test.

From-SVN: r208864
2014-03-27 14:18:52 +01:00
John David Anglin
82bb2e4069 pr60092.c: Remove default dg-skip-if arguments.
* gcc.dg/torture/pr60092.c: Remove default dg-skip-if arguments.

From-SVN: r208863
2014-03-27 12:33:06 +00:00
Marcus Shawcroft
0b7f81668e [PR 60580, AArch64] Fix __attribute__ ((optimize("no-omit-frame-pointer")))
The implementation of -m[no-]omit-leaf-frame-pointer and
-f[no-]omit-frame-pointer in the AArch64 target does not behave
correctly in the presence of __attribute__ optimize.

This patch adjusts the implementation to work in a similar fashion to
the same functionality in the i386 target.

The problem occurs because the current implementation uses a global
'faked_omit_frame_pointer' to retain the original value of
flag_omit_frame_pointer.  The global does not form part of the
optimization save state.

This solution removes the global and instead tracks required behaviour
using only flag_omit_frame_pointer and flag_omit_leaf_frame_pointer.
These two form part of the optimziation save state and target save
state respectively.

The additional complication for AArch64 is that the PCS requires that
given -fno-omit-frame-pointer -momit-leave-frame-pointer, a leaf
function that kills LR must create a frame record.  This is readily
handled in aarch64_frame_pointer_required().  I've dropped logic in
aarch64_can_eliminate() that attempts to detect this scenario since it

From-SVN: r208862
2014-03-27 10:13:50 +00:00
Dehao Chen
2f2a7d1543 * ipa-inline.c (early_inliner): Update node's inline info.
From-SVN: r208861
2014-03-27 01:01:07 +00:00
Dehao Chen
a0dbf28553 dojump.c (do_compare_rtx_and_jump): Sets correct probability for compiler inserted conditional jumps for NAN float...
* dojump.c (do_compare_rtx_and_jump): Sets correct probability for
	compiler inserted conditional jumps for NAN float check.
	* gcc.dg/predict-8.c: New test.

From-SVN: r208860
2014-03-27 00:41:10 +00:00
GCC Administrator
e5d6141d82 Daily bump.
From-SVN: r208859
2014-03-27 00:16:59 +00:00
Jakub Jelinek
7cc51d643e futex_bits.h: Include errno.h.
* config/linux/futex_bits.h: Include errno.h.
	(sys_futex0): If syscall returns -1, return -errno rather than
	-1.

From-SVN: r208855
2014-03-26 22:52:16 +01:00
Fabien Chêne
816551fe37 re PR c++/52369 (Const-qualified non-class base member and defaulted default constructor)
2014-03-26  Fabien Chene  <fabien@gcc.gnu.org>
        PR c++/52369
        * cp/method.c (walk_field_subobs): improve the diagnostic
	locations for both REFERENCE_TYPEs and non-static const members.
	* cp/init.c (diagnose_uninitialized_cst_or_ref_member): use %q#D
	instead of %qD to be consistent with the c++11 diagnostic.

2014-03-26  Fabien Chene  <fabien@gcc.gnu.org>

        PR c++/52369
        * g++.dg/init/const10.C: New.
	* g++.dg/init/const11.C: New.
	* g++.dg/init/pr25811.C: Adjust.
	* g++.dg/init/pr29043.C: Likewise.
	* g++.dg/init/pr43719.C: Likewise.
	* g++.dg/init/pr44086.C: Likewise.
	* g++.dg/init/ctor8.C: Likewise.
	* g++.dg/init/uninitialized1.C: Likewise.

From-SVN: r208854
2014-03-26 22:33:28 +01:00
Joseph Myers
c288ec8f21 * libitm.texi (Index): Rename to Library Index.
From-SVN: r208853
2014-03-26 21:20:04 +00:00
Dominique d'Humieres
274c7b7b4c re PR fortran/34928 (Extension: volatile common blocks)
PR fortran/34928
        * fortran.texi: Document Volatile COMMON as not supported.

From-SVN: r208852
2014-03-26 21:39:42 +01:00
Tobias Burnus
6690cb2ea5 Add libcilkrts/libcilkrts.spec.in, missing from r208847
From-SVN: r208851
2014-03-26 20:43:17 +01:00
Jakub Jelinek
07d72e1df3 ubsan.h (ubsan_create_data): Change second argument's type to const location_t *.
* ubsan.h (ubsan_create_data): Change second argument's type
	to const location_t *.
	* ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
	_("<unknown>").
	(ubsan_create_data): Change second argument to const location_t *PLOC.
	Create Loc field whenever PLOC is non-NULL.
	(ubsan_instrument_unreachable, ubsan_expand_null_ifn,
	ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
	callers.
c-family/
	* c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
	ubsan_instrument_vla, ubsan_instrument_return): Adjust
	ubsan_create_data callers.

From-SVN: r208849
2014-03-26 20:33:40 +01:00
Jakub Jelinek
ed0ca1e1ea re PR other/59545 (Signed integer overflow issues)
PR other/59545
	* real.c (real_to_integer2): Change type of low to UHWI.

From-SVN: r208848
2014-03-26 20:32:40 +01:00
Tobias Burnus
b9487dd868 gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
gcc/
2014-03-26  Tobias Burnus  <burnus@net-b.de>

        * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
        (CILK_SELF_SPECS): New define.
        (driver_self_specs): Use it.

libcilkrts/
2014-03-26  Tobias Burnus  <burnus@net-b.de>

        * libcilkrts.spec.in: New.
        * Makefile.am: Handle libcilkrts.spec.
        * configure.ac: Determine link options for libcilkrts.spec.
        * Makefile.in: Regenerate.
        * configure: Regenerate.
        * aclocal.m4: Regenerate.

From-SVN: r208847
2014-03-26 20:16:35 +01:00
Dominique d'Humieres
8707b3bcc0 MAINTAINERS (Write After Approval): Add myself.
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r208846
2014-03-26 18:33:09 +01:00
Jason Merrill
d74db8ff1c re PR c++/60566 (r208573 omits needed thunks)
PR c++/60566
	PR c++/58678
	* class.c (build_vtbl_initializer): Handle abstract dtors here.
	* search.c (get_pure_virtuals): Not here.

From-SVN: r208845
2014-03-26 12:50:26 -04:00
Richard Biener
3a2700f61b tree-pretty-print.c (percent_K_format): Implement special case for LTO and its stripped down BLOCK tree.
2014-03-26  Richard Biener  <rguenther@suse.de>

	* tree-pretty-print.c (percent_K_format): Implement special
	case for LTO and its stripped down BLOCK tree.

From-SVN: r208843
2014-03-26 09:47:36 +00:00
Jakub Jelinek
9e1c8fc1a5 re PR sanitizer/56781 (boostrap-asan failure: fixincl fails to link (missing -lasan))
PR sanitizer/56781
	* Makefile.def: Set bootstrap=true; for host fixincludes.
	* configure.ac: Don't bootstrap host fixincludes unless
	--with-build-config=bootstrap-{a,ub}san.
	* Makefile.in: Regenerated.
	* configure: Regenerated.

From-SVN: r208842
2014-03-26 10:19:44 +01:00
Jakub Jelinek
aa6b742f0f re PR sanitizer/60636 (ubsan doesn't instrument signed integer ABS_EXPR)
PR sanitizer/60636
	* ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.

	* c-c++-common/ubsan/pr60636.c: New test.

From-SVN: r208841
2014-03-26 10:18:26 +01:00
Jakub Jelinek
368b454d67 tree-vrp.c (simplify_internal_call_using_ranges): If only one range is range_int_cst_p...
* tree-vrp.c (simplify_internal_call_using_ranges): If only
	one range is range_int_cst_p, but not both, at least optimize
	addition/subtraction of 0 and multiplication by 0 or 1.
	* gimple-fold.c (gimple_fold_call): Fold
	IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
	(gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
	INTEGER_CSTs, try to fold at least x * 0 and y - y.

From-SVN: r208840
2014-03-26 10:17:10 +01:00
Andreas Schwab
ee0cff6049 * g++.dg/torture/pr60315.C: Remove duplication.
From-SVN: r208839
2014-03-26 08:31:30 +00:00
Eric Botcazou
c7e30a96b1 re PR rtl-optimization/60452 (wrong code at -O1 with large offsets in the frame)
PR rtl-optimization/60452
	* rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
	<case REG>: Return 1 for invalid offsets from the frame pointer.

From-SVN: r208837
2014-03-26 07:38:30 +00:00