Commit Graph

161038 Commits

Author SHA1 Message Date
Richard Biener d160ae7814 [lto] Fixup loops before lto write-out
2018-04-26  Richard Biener <rguenther@suse.de>
	    Tom de Vries  <tom@codesourcery.com>

	PR lto/85422
	* lto-streamer-out.c (output_function): Fixup loops if required to match
	discovery done in the reader.

	* testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.

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

From-SVN: r259675
2018-04-26 13:26:25 +00:00
Tom de Vries ca9dc64220 [nvptx, libgomp, testsuite] Reduce recursion depth in declare_target-{1,2}.f90
2018-04-26  Tom de Vries  <tom@codesourcery.com>

	PR target/85519
	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
	recursion depth from 25 to 23.
	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.

From-SVN: r259674
2018-04-26 13:26:09 +00:00
Richard Biener 1c53fa8ca9 re PR libstdc++/85116 (std::min_element does not optimize well with inlined predicate)
2018-04-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/85116
	* tree-ssa-loop-ch.c (do_while_loop_p): A do-while loop should
	have a loop exit from the single latch predecessor.  Remove
	case of header with just condition.
	(ch_base::copy_headers): Exclude infinite loops from any
	processing.
	(pass_ch::execute): Record exits.

	* gcc.dg/tree-ssa/copy-headers-2.c: New testcase.
	* gcc.dg/tree-ssa/copy-headers-3.c: Likewise.
	* gcc.dg/tree-ssa/copy-headers-4.c: Likewise.
	* gcc.dg/tree-ssa/loadpre6.c: Adjust.

From-SVN: r259672
2018-04-26 12:18:58 +00:00
Richard Biener ae05281f4a Makefile.tpl (STAGE1_TFLAGS): Add -fno-checking.
2018-04-26  Richard Biener  <rguenther@suse.de>

	* Makefile.tpl (STAGE1_TFLAGS): Add -fno-checking.
	(STAGE2_CFLAGS): Likewise.
	(STAGE2_TFLAGS): Likewise.
	(STAGE3_CFLAGS): Add -fchecking.
	(STAGE3_TFLAGS): Likewise.
	(STAGEtrain_CFLAGS): Filter out -fchecking.
	(STAGEtrain_TFLAGS): Likewise.
	* Makefile.in: Re-generate.

From-SVN: r259669
2018-04-26 08:47:31 +00:00
Richard Biener c76d9edb09 tree-vect-data-refs.c (vect_get_data_access_cost): Get prologue cost vector and pass it to vect_get_load_cost.
2018-04-26  Richard Biener  <rguenther@suse.de>

	* tree-vect-data-refs.c (vect_get_data_access_cost): Get
	prologue cost vector and pass it to vect_get_load_cost.
	(vect_get_peeling_costs_all_drs): Likewise.
	(vect_peeling_hash_get_lowest_cost): Likewise.
	(vect_enhance_data_refs_alignment): Likewise.

From-SVN: r259668
2018-04-26 07:30:55 +00:00
Richard Biener bde84d5120 re PR middle-end/85450 (ICE: invalid types in nop conversion during GIMPLE pass: ompexp)
2018-04-26  Richard Biener  <rguenther@suse.de>

	PR middle-end/85450
	* tree-cfg.c (verify_gimple_assign_unary): Restore proper
	checking of integer<->pointer conversions.
	* omp-expand.c (expand_omp_for_static_nochunk): Avoid
	sign-/zero-extending pointer types.
	(expand_omp_for_static_chunk): Likewise.

From-SVN: r259667
2018-04-26 07:21:42 +00:00
Hans-Peter Nilsson e92306590e mips.c (mips_asan_shadow_offset): New function.
* config/mips/mips.c (mips_asan_shadow_offset): New function.
	(TARGET_ASAN_SHADOW_OFFSET): Define.
	* config/mips/mips.h (FRAME_GROWS_DOWNWARD): Augment to also be
	true for -fsanitize=address.

Co-Authored-By: Jean Lee <xiaoyur347@gmail.com>

From-SVN: r259666
2018-04-26 01:21:32 +00:00
Hans-Peter Nilsson 752361c980 If someone has access to a 64-bit mips-linux system to test this (with the obvious edit), that'd be really nice.
If someone has access to a 64-bit mips-linux system to test
this (with the obvious edit), that'd be really nice.  Until
then, best to not introduce possible build failures.

	* configure.tgt <mips*-*-linux*>: Enable build, excluding
	mips*64*-*-linux*.

From-SVN: r259665
2018-04-26 01:16:47 +00:00
Hans-Peter Nilsson 9f943b2446 As mentioned in <http://gcc.gnu.org/ml/gcc/2018-03/msg00133.html> the bogus adjustment to 160 from 144 (which is reverted here)...
As mentioned in <http://gcc.gnu.org/ml/gcc/2018-03/msg00133.html>
the bogus adjustment to 160 from 144 (which is reverted here),
is a single-token commit in upstream r301307, an attempt to
correct a failed build due to an upstream change to compile the
runtime with D_FILE_OFFSET_BITS=64.  The correct fix is here:
just use the right include.  Yes, user-struct-stat64-as-stat is
actually 160 for MIPS o32 and I hear user-struct-stat is also
160 for n32.  There are additional fields appended for
user-struct-stat!  I guess for MIPS it's as bad as it gets for
mixing up kernel and user struct stat.  The context of the patch
doesn't show that in the #else there's the correct include, the
one for <asm/stat.h> to get the kernel-struct-stat.  If you
can't compile it, IMHO the kernel headers are just too old; 3.2
is fine for example.

	* sanitizer_common/sanitizer_platform_limits_linux.cc: Do not
	take the shortcut to #include <sys/stat.h> for MIPS instead of
	the kernel <asm/stat.h>.  Explain why sys/stat.h is misleading
	or wrong to get the kernel struct stat.
	* sanitizer_common/sanitizer_platform_limits_posix.h [__mips__]:
	Correct the value for 32-bit non-android struct_kernel_stat_sz.

From-SVN: r259664
2018-04-26 01:12:56 +00:00
Hans-Peter Nilsson bc40f16691 This appears to be present in compiler-rt upstream, but as part of more intrusive changes.
This appears to be present in compiler-rt upstream, but as part
of more intrusive changes.  For gcc, the lack of this results in
a fatal warning (-Werror) at build-time.

	* sanitizer_common/sanitizer_atomic_clang_other.h [_MIPS_SIM
	&& _MIPS_SIM == _ABIO32] (lock): Add initializer for .pad member.

From-SVN: r259663
2018-04-26 01:09:27 +00:00
GCC Administrator 3ce4730b76 Daily bump.
From-SVN: r259662
2018-04-26 00:16:35 +00:00
Catherine Moore c6e34a9bb9 MAINTAINERS (mips): Remove myself as MIPS maintainer.
2018-04-25  Catherine Moore <clm@codesourcery.com>

        * MAINTAINERS (mips): Remove myself as MIPS maintainer.

From-SVN: r259658
2018-04-25 18:40:04 -04:00
Mark Wielaard 1b08ada61e DWARF sort longer dirs before shorter ones in directory table.
When gcc dwarf2out generates the .debug_line table itself (for example
when generating one for a split DWARF .dwo) it uses natural sorting for
the directory table. Shorter directory paths come before longer directory
paths with the same prefix. This causes the files in the line table to
pick the shorter dir. Creating slightly ineffecient line tables because
the longer directory paths will never be used.

Fix this by changing file_info_cmp () to pick longer directory prefixes
before shorter ones. We still sort files (the compilation unit) without
any directory path before all entries with a directory path, so they
will still use dir entry 0 (the working directory).

A hello.c program would get the following dir and line table before:

Directory table:
 /opt/local/install/gcc/lib/gcc/x86_64-pc-linux-gnu/8.0.1/include
 /usr/include
 /usr/include/bits

File name table:
 Entry Dir   Time      Size      Name
 1     0     0         0         hello.c
 2     1     0         0         stddef.h
 3     2     0         0         bits/types.h
 4     2     0         0         libio.h
 5     2     0         0         stdio.h
 6     2     0         0         bits/sys_errlist.h

Note that the last directory table entry is never used.
After this patch it looks as follows:

Directory table:
 /opt/local/install/gcc/lib/gcc/x86_64-pc-linux-gnu/8.0.1/include
 /usr/include/bits
 /usr/include

File name table:
 Entry Dir   Time      Size      Name
 1     0     0         0         hello.c
 2     1     0         0         stddef.h
 3     2     0         0         types.h
 4     3     0         0         libio.h
 5     3     0         0         stdio.h
 6     2     0         0         sys_errlist.h

Which is similar to what gas would output.

gcc/ChangeLog:

	* dwarf2out.c (file_info_cmp): Sort longer dir prefixes before
	shorter ones.

From-SVN: r259655
2018-04-25 17:34:00 +00:00
Jakub Jelinek 971424e418 i386.md (*x86_mov<mode>cc_0_m1): Use type "alu1" rather than "alu"...
* config/i386/i386.md (*x86_mov<mode>cc_0_m1): Use type "alu1" rather
	than "alu", remove explicit "memory" and "imm_disp" attributes.
	(*x86_mov<mode>cc_0_m1_se, *x86_mov<mode>cc_0_m1_neg): Likewise.

From-SVN: r259650
2018-04-25 15:11:03 +02:00
Jakub Jelinek b15b6fc564 re PR middle-end/85414 (ICE: in ix86_expand_prologue, at config/i386/i386.c:13810 with -Og -fgcse)
PR middle-end/85414
	* simplify-rtx.c (simplify_unary_operation_1) <case SIGN_EXTEND,
	case ZERO_EXTEND>: Pass SUBREG_REG (op) rather than op to
	gen_lowpart_no_emit.

From-SVN: r259649
2018-04-25 15:10:01 +02:00
Sebastian Peryt be3830f845 re PR target/85473 (internal compiler error: in emit_move_insn, at expr.c:3722)
2018-04-25  Sebastian Peryt  <sebastian.peryt@intel.com>

	gcc/ChangeLog:

	PR target/85473
	* config/i386/i386.c (ix86_expand_builtin): Change memory
	operand to XI, extend p0 to Pmode.
	* config/i386/i386.md: Change unspec volatile and operand
	1 mode to XI, change operand 0 mode to P.

	gcc/testsuite/ChangeLog:

	PR target/85473
	* gcc.target/i386/pr85473-1.c: New test.
	* gcc.target/i386/pr85473-2.c: New test.

From-SVN: r259648
2018-04-25 14:39:57 +02:00
Chung-Ju Wu d3e6cab2e0 [NDS32] Fix bug in bit-instruction checking functions.
gcc/
	* config/nds32/nds32-predicates.c (nds32_can_use_bclr_p): Mask with
	GET_MODE_MASK before any checking.
	(nds32_can_use_bset_p): Likewise.
	(nds32_can_use_btgl_p): Likewise.

From-SVN: r259647
2018-04-25 12:32:19 +00:00
Chung-Ju Wu ed4230b2f9 [NDS32] Split movdi/df if reigster number is illegal.
gcc/
	* config/nds32/nds32-doubleword.md: New define_split pattern for
	illegal register number.

From-SVN: r259646
2018-04-25 12:17:29 +00:00
Chung-Ju Wu ba169b7424 [NDS32] Fix incorrect settings in sfp-machine.h and t-nds32-newlib for hard fp.
libgcc/
	* config/nds32/sfp-machine.h: Fix settings for NDS32_ABI_2FP_PLUS.
	* config/nds32/t-nds32-newlib (HOST_LIBGCC2_CFLAGS): Use -fwrapv.

From-SVN: r259645
2018-04-25 12:08:14 +00:00
Chung-Ju Wu bfeb66850f [NDS32] Fix print operand for cctl register.
gcc/
	* config/nds32/nds32.c (nds32_print_operand): Set op_value ealier.

From-SVN: r259643
2018-04-25 11:22:55 +00:00
Chung-Ju Wu c77562ca50 [NDS32] Add missing newline character into ASM_APP_ON macro.
gcc/
	* config/nds32/nds32.h (ASM_APP_ON): Add missing newline character.

From-SVN: r259642
2018-04-25 10:24:49 +00:00
Jakub Jelinek b33a0cb323 re PR sanitizer/84307 (asan blocks dead-store elimination)
PR sanitizer/84307
	* c-decl.c (build_compound_literal): Call pushdecl (decl) even when
	it is not TREE_STATIC.
	* c-typeck.c (c_mark_addressable) <case COMPOUND_LITERAL_EXPR>: Mark
	not just the COMPOUND_LITERAL_EXPR node itself addressable, but also
	its COMPOUND_LITERAL_EXPR_DECL.

From-SVN: r259641
2018-04-25 12:02:24 +02:00
Eric Botcazou 87ed4159ac re PR ada/85007 (-b flag to gnatlink not recognized)
PR ada/85007
	* gnat_ugn.texi: Regenerate.

From-SVN: r259639
2018-04-25 10:01:13 +00:00
Richard Biener 09304ef4a8 lto-streamer.h (LTO_major_version): Bump to 8.
2018-04-25  Richard Biener  <rguenther@suse.de>

	* lto-streamer.h (LTO_major_version): Bump to 8.

From-SVN: r259638
2018-04-25 08:14:36 +00:00
Jakub Jelinek 49b7ffb711 * crontab: Enable snapshots from gcc-8-branch.
From-SVN: r259637
2018-04-25 09:46:31 +02:00
Jakub Jelinek 3bedd34631 * BASE-VER: Set to 9.0.0.
From-SVN: r259635
2018-04-25 09:42:00 +02:00
Jakub Jelinek 7d75ea04cf re PR c++/85437 (member pointer static upcast rejected in a constexpr context)
PR c++/85437
	PR c++/49171
	* cp-tree.h (REINTERPRET_CAST_P): New.
	* constexpr.c (cxx_eval_constant_expression) <case NOP_EXPR>:
	Reject REINTERPET_CAST_P conversions.  Use cplus_expand_constant
	for non-trivial PTRMEM_CST cases.
	* typeck.c (build_nop_reinterpret): New.
	(build_reinterpret_cast_1): Use it.  Set REINTERPRET_CAST_P on
	NOP_EXPRs returned by cp_convert.

	* g++.dg/cpp0x/addressof1.C: Make reinterpret cases runtime checks.
	* g++.dg/cpp0x/constexpr-cast.C: Remove xfails
	* g++.dg/cpp0x/constexpr-nullptr-2.C: Likewise.
	* g++.dg/cpp0x/constexpr-pmf1.C: Check when optimized.
	* g++.dg/cpp0x/pr85437-1.C: New.
	* g++.dg/cpp0x/pr85437-2.C: New.
	* g++.dg/cpp0x/pr85437-3.C: New.
	* g++.dg/cpp0x/pr85437-4.C: New.

From-SVN: r259629
2018-04-25 09:10:16 +02:00
GCC Administrator 908553397a Daily bump.
From-SVN: r259628
2018-04-25 00:16:37 +00:00
Steven G. Kargl 58da192e7a re PR fortran/85520 (Out of memory when declaring a character with len << 0)
2018-04-24  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/85520
	* decl.c (gfc_match_char_spec): Check for negative length and set to 0.

2018-04-24  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/85520
	* gfortran.dg/pr85520.f90: New test.

From-SVN: r259623
2018-04-24 23:17:29 +00:00
Segher Boessenkool 08417efa3a rs6000: Fix __powikf2 and __abskf2 spelling
Both of these libfuncs had a "tkf" misspelling, which caused
gcc.target/powerpc/pr85456.c to fail (there is no test for __abskf2).


	* config/rs6000/rs6000.c (init_float128_ieee): Fix spelling mistakes
	in __abskf2 and __powikf2.

From-SVN: r259622
2018-04-25 00:49:41 +02:00
H.J. Lu ffc2fc06e3 x86: Update __CET__ check
__CET__ has been changed by revision 259522:

commit d59cfa9a4064339cf2bd2da828c4c133f13e57f0
Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Fri Apr 20 13:30:13 2018 +0000

    Define __CET__ for -fcf-protection and remove -mibt

to

    (__CET__ & 1) != 0: -fcf-protection=branch or -fcf-protection=full
    (__CET__ & 2) != 0: -fcf-protection=return or -fcf-protection=full

We should check (__CET__ & 2) != 0 for shadow stack.

libgcc/

	* config/i386/linux-unwind.h: Add (__CET__ & 2) != 0 check
	when including "config/i386/shadow-stack-unwind.h".

libitm/

	* config/x86/sjlj.S (_ITM_beginTransaction): Add
	(__CET__ & 2) != 0 check for shadow stack.
	(GTM_longjmp): Likewise.

From-SVN: r259621
2018-04-24 15:15:51 -07:00
H.J. Lu e59133c36c x86/CET: Add -fcf-protection to STAGE4_CFLAGS
Since profiledbootstrap uses

STAGEfeedback_CFLAGS = $(STAGE4_CFLAGS) -fprofile-use

add

STAGE4_CFLAGS += -fcf-protection -mcet

to bootstrap-cet.mk to support profiledbootstrap with CET.

	PR bootstrap/85490
	* bootstrap-cet.mk (STAGE4_CFLAGS): New.

From-SVN: r259620
2018-04-24 15:12:46 -07:00
Kyrylo Tkachov 0603375cbc [AArch64] PR target/85512: Tighten SIMD right shift immediate constraints
In this testcase it is possible to generate an invalid SISD shift of zero:
Error: immediate value out of range 1 to 64 at operand 3 -- `sshr v9.2s,v0.2s,0'

The SSHR and USHR instructions require a shift from 1 up to the element size.
However our constraints on the scalar shifts that generate these patterns
allow a shift amount of zero as well. The pure GP-reg ASR and LSR instructions allow a shift amount of zero.

It is unlikely that a shift of zero will survive till the end of compilation, but it's not impossible, as this PR shows.

The patch tightens up the constraints in the offending patterns by adding two new constraints
that allow shift amounts [1,32] and [1,64] and using them in *aarch64_ashr_sisd_or_int_<mode>3
and *aarch64_lshr_sisd_or_int_<mode>3.
The left-shift SISD instructions SHL and USHL allow a shift amount of zero so don't need adjustment
The vector shift patterns that map down to SSHR and USHR already enforce the correct immediate range. 

        PR target/85512
        * config/aarch64/constraints.md (Usg, Usj): New constraints.
        * config/aarch64/iterators.md (cmode_simd): New mode attribute.
        * config/aarch64/aarch64.md (*aarch64_ashr_sisd_or_int_<mode>3):
        Use the above on operand 2.  Reindent.
        (*aarch64_lshr_sisd_or_int_<mode>3): Likewise.

        * gcc.dg/pr85512.c: New test.

From-SVN: r259614
2018-04-24 16:58:49 +00:00
H.J. Lu 231baae28e x86/CET: Remove the -mcet command-lint option
With revision 259496:

commit b1384095a7c1d06a44b70853372ebe037b2f7867
Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Thu Apr 19 15:15:04 2018 +0000

    x86: Enable -fcf-protection with multi-byte NOPs

-fcf-protection no longer depens on -mcet and with revision 259522:

commit d59cfa9a4064339cf2bd2da828c4c133f13e57f0
Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Fri Apr 20 13:30:13 2018 +0000

    Define __CET__ for -fcf-protection and remove -mibt

-mcet becomes an alias for -mshstk.  Since all usages of -mcet and
-mno-cet have either been removed or replaced, we can remove the -mcet
command-lint option.

	PR target/85485
	* common/config/i386/i386-common.c (ix86_handle_option): Don't
	handle OPT_mcet.
	* config/i386/i386.opt (mcet): Removed.
	* doc/install.texi: Remove -mcet documentation.
	* doc/invoke.texi: Likewise.

From-SVN: r259613
2018-04-24 09:56:04 -07:00
H.J. Lu d16d033bf9 x86/CET tests: Remove -mcet/-mno-cet or replace -mcet with -mshstk
With revision 259496:

commit b1384095a7c1d06a44b70853372ebe037b2f7867
Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Thu Apr 19 15:15:04 2018 +0000

    x86: Enable -fcf-protection with multi-byte NOPs

-fcf-protection no longer depens on -mcet and with revision 259522:

commit d59cfa9a4064339cf2bd2da828c4c133f13e57f0
Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Fri Apr 20 13:30:13 2018 +0000

    Define __CET__ for -fcf-protection and remove -mibt

-mcet becomes an alias for -mshstk.

We can remove -mcet/-mno-cet where they are unused and replace -mcet
with -mshstk where -mcet is used as an alias for -mshstk.

	PR target/85485
	* g++.dg/cet-notrack-1.C (dg-options): Remove -mcet.
	* g++.dg/torture/pr85334.C (dg-additional-options): Likwise.
	* gcc.dg/pr85388-1.c (dg-options): Likwise.
	* gcc.dg/pr85388-2.c (dg-options): Likwise.
	* gcc.dg/pr85388-3.c (dg-options): Likwise.
	* gcc.dg/pr85388-4.c (dg-options): Likwise.
	* gcc.dg/pr85388-5.c (dg-options): Likwise.
	* gcc.dg/pr85388-6.c (dg-options): Likwise.
	* gcc.dg/torture/pr85397-1.c (dg-additional-options): Likwise.
	* gcc.target/i386/attr-nocf-check-1a.c (dg-options): Likwise.
	* gcc.target/i386/attr-nocf-check-3a.c (dg-options): Likwise.
	* gcc.target/i386/cet-label.c (dg-options): Likwise.
	* gcc.target/i386/cet-label-2.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-1b.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-2a.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-2b.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-3.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-4b.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-5a.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-5b.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-6a.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-6b.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-7.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-icf-2.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-icf-4.c (dg-options): Likwise.
	* gcc.target/i386/cet-property-1.c (dg-options): Likwise.
	* gcc.target/i386/cet-property-2.c (dg-options): Likwise.
	* gcc.target/i386/cet-sjlj-1.c (dg-options): Likwise.
	* gcc.target/i386/cet-sjlj-2.c (dg-options): Likwise.
	* gcc.target/i386/cet-sjlj-3.c (dg-options): Likwise.
	* gcc.target/i386/cet-sjlj-4.c (dg-options): Likwise.
	* gcc.target/i386/cet-sjlj-5.c (dg-options): Likwise.
	* gcc.target/i386/cet-sjlj-6a.c (dg-options): Likwise.
	* gcc.target/i386/cet-sjlj-6b.c (dg-options): Likwise.
	* gcc.target/i386/cet-switch-1.c (dg-options): Likwise.
	* gcc.target/i386/cet-switch-2.c (dg-options): Likwise.
	* gcc.target/i386/cet-switch-3.c (dg-options): Likwise.
	* gcc.target/i386/indirect-thunk-11.c (dg-options): Likwise.
	* gcc.target/i386/indirect-thunk-12.c (dg-options): Likwise.
	* gcc.target/i386/indirect-thunk-attr-12.c (dg-options): Likwise.
	* gcc.target/i386/indirect-thunk-attr-13.c (dg-options): Likwise.
	* gcc.target/i386/indirect-thunk-attr-14.c (dg-options): Likwise.
	* gcc.target/i386/indirect-thunk-attr-15.c (dg-options): Likwise.
	* gcc.target/i386/indirect-thunk-attr-16.c (dg-options): Likwise.
	* gcc.target/i386/indirect-thunk-extern-8.c (dg-options): Likwise.
	* gcc.target/i386/indirect-thunk-extern-9.c (dg-options): Likwise.
	* gcc.target/i386/indirect-thunk-extern-10.c (dg-options): Likwise.
	* gcc.target/i386/pr82659-1.c (dg-options): Likwise.
	* gcc.target/i386/pr82659-2.c (dg-options): Likwise.
	* gcc.target/i386/pr82659-3.c (dg-options): Likwise.
	* gcc.target/i386/pr82659-4.c (dg-options): Likwise.
	* gcc.target/i386/pr82659-5.c (dg-options): Likwise.
	* gcc.target/i386/pr82659-6.c (dg-options): Likwise.
	* gcc.target/i386/pr84146.c (dg-options): Likwise.
	* gcc.target/i386/pr85403.c (dg-options): Likwise.
	* gcc.target/i386/pr85404.c (dg-options): Likwise.
	* gcc.target/i386/cet-intrin-3.c (dg-options): Replace -mcet
	with -mshstk.
	* gcc.target/i386/cet-intrin-5.c (dg-options): Likwise.
	* gcc.target/i386/cet-intrin-6.c (dg-options): Likwise.
	* gcc.target/i386/cet-intrin-7.c (dg-options): Likwise.
	* gcc.target/i386/cet-intrin-8.c (dg-options): Likwise.
	* gcc.target/i386/cet-intrin-9.c (dg-options): Likwise.
	* gcc.target/i386/cet-intrin-10.c (dg-options): Likwise.
	* gcc.target/i386/cet-rdssp-1.c (dg-options): Likwise.
	* (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-1a.c (dg-options): Remove
	-mno-cet.
	* gcc.target/i386/cet-notrack-4a.c (dg-options): Likwise.
	* gcc.target/i386/cet-label-3.c: Removed.
	* gcc.target/i386/cet-property-3.c: Likwise.
	* gcc.target/i386/cet-sjlj-7.c: Likwise.

From-SVN: r259612
2018-04-24 09:54:35 -07:00
H.J. Lu 48f64e053e Don't bootstrap GCC with -mcet
With revision 259496:

commit b1384095a7c1d06a44b70853372ebe037b2f7867
Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Thu Apr 19 15:15:04 2018 +0000

    x86: Enable -fcf-protection with multi-byte NOPs

-fcf-protection no longer requires -mcet.

config/

	PR target/85485
	* bootstrap-cet.mk (STAGE2_CFLAGS): Remove -mcet.
	(STAGE3_CFLAGS): Likewise.

gcc/

	PR target/85485
	* doc/install.texi: Remove -mcet from bootstrap-cet.

From-SVN: r259611
2018-04-24 09:47:24 -07:00
H.J. Lu 7b47ecf2f7 Regenerate configure of target libraries
* configure: Regenerated.

From-SVN: r259610
2018-04-24 09:45:26 -07:00
Jakub Jelinek e8ac3359dc re PR target/85511 ([X86] Using __builtin_ia32_writeeflags_u32 in 64-bit mode causes internal compiler error)
PR target/85511
	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Don't define
	__builtin_ia32_readeflags_u32 and __builtin_ia32_writeeflags_u32
	if TARGET_64BIT.

	* gcc.target/i386/pr85511.c: New test.

From-SVN: r259609
2018-04-24 18:42:59 +02:00
H.J. Lu 8624f8685d x86/CET: Build target libraries with -mshstk
With revision 259522:

commit d59cfa9a4064339cf2bd2da828c4c133f13e57f0
Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Fri Apr 20 13:30:13 2018 +0000

    Define __CET__ for -fcf-protection and remove -mibt

-mcet becomes an alias for -mshstk.

	PR target/85485
	* cet.m4 (GCC_CET_FLAGS): Replace -mcet with -mshstk.

From-SVN: r259608
2018-04-24 09:41:01 -07:00
Jakub Jelinek c61199f2df re PR target/85503 (ICE in replace_swapped_load_constant, at config/rs6000/rs6000-p8swap.c:1853 on powerpc64le-linux-gnu)
PR target/85503
	* config/rs6000/rs6000-p8swap.c (const_load_sequence_p): Punt if
	const_vector is not CONST_VECTOR or SYMBOL_REF for a constant pool
	containing a CONST_VECTOR.

	* g++.dg/ext/pr85503.C: New test.

From-SVN: r259607
2018-04-24 18:05:19 +02:00
Jason Merrill 7f3c03bfc1 Testsuite fixes for C++11 alignof change.
gcc/testsuite:
	* c-c++-common/attr-aligned-1.c: Use __alignof__ in C++11.
	* g++.dg/cpp0x/alignas4.C: Expect 4-byte alignment on x86.

From-SVN: r259606
2018-04-24 11:54:56 -04:00
Cesar Philippidis 8ff02f9647 [nvptx] Update newlib dependency.
gcc/
	* doc/install.texi: Update newlib dependency for nvptx.

From-SVN: r259596
2018-04-24 07:36:15 -07:00
Jakub Jelinek 1704194ae7 re PR target/85508 (runtime error in config/i386/i386.c)
PR target/85508
	* config/i386/i386.c (ix86_expand_vector_init_one_var): Use UINTVAL
	instead of INTVAL when shifting x left.

	* gcc.target/i386/pr85508.c: New test.

From-SVN: r259594
2018-04-24 15:20:20 +02:00
Andreas Krebbel 062c0a7b2f re PR tree-optimization/85478 (ICE with single element vector)
Fix PR85478

gcc/ChangeLog:

2018-04-24  Andreas Krebbel  <krebbel@linux.ibm.com>

	PR tree-optimization/85478
	* tree-vect-loop.c (vect_analyze_loop_2): Do not call
	vect_grouped_store_supported for single element vectors.

gcc/testsuite/ChangeLog:

2018-04-24  Andreas Krebbel  <krebbel@linux.ibm.com>

	PR tree-optimization/85478
	* g++.dg/pr85478.C: New test.

From-SVN: r259593
2018-04-24 12:18:26 +00:00
Richard Biener 4149dd37d9 re PR target/85491 (nbench LU Decomposition test 15% slower than GCC 7, 30% slower than peak)
2018-04-24  Richard Biener  <rguenther@suse.de>

	PR target/85491
	* config/i386/i386.c (ix86_add_stmt_cost): Restrict strided
	load cost increase to the case of non-constant step.

From-SVN: r259592
2018-04-24 08:46:55 +00:00
Jakub Jelinek b72139eac2 re PR target/84828 (ICE in verify_flow_info at gcc/cfghooks.c:265)
PR target/84828
	* reg-stack.c (move_for_stack_reg): Don't fail assertion about dead
	destination if any_malformed_asm.

From-SVN: r259591
2018-04-24 09:40:04 +02:00
GCC Administrator 950ec7e90a Daily bump.
From-SVN: r259589
2018-04-24 00:16:27 +00:00
Jason Merrill aa2b105511 PR c++/69560 - wrong alignof(double) on x86.
CWG 1879 - Inadequate definition of alignment requirement.
	* cp-tree.h (ALIGNOF_EXPR_STD_P): New.
	* typeck.c (cxx_sizeof_or_alignof_type): Add std_alignof parm.
	(cxx_sizeof_expr, cxx_sizeof_nowarn, cxx_alignas_expr)
	(cxx_alignof_expr): Pass it.
	* parser.c (cp_parser_unary_expression): Pass it.
	* pt.c (tsubst_copy): Copy it.
	(tsubst_copy_and_build): Pass it.
	* decl.c (fold_sizeof_expr): Pass it.

From-SVN: r259578
2018-04-23 16:49:38 -04:00
Joseph Myers 71fbbf65fa Regenerate .pot files.
gcc/po:
	* gcc.pot: Regenerate.

libcpp/po:
	* cpplib.pot: Regenerate.

From-SVN: r259575
2018-04-23 21:27:02 +01:00
Eric Botcazou a689171e50 re PR middle-end/85496 (internal compiler error: in emit_move_insn, at expr.c:3722)
PR middle-end/85496
	* expr.c (store_field): In the bitfield case, if the value comes from
	a function call and is returned in registers by means of a PARALLEL,
	do not change the mode of the temporary unless BLKmode and VOIDmode.

From-SVN: r259574
2018-04-23 20:19:39 +00:00