Commit Graph

160899 Commits

Author SHA1 Message Date
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
Jakub Jelinek
53de8a7e13 PR c++/85470 - wrong error with static data member.
* decl.c (check_initializer): Check DECL_INITIALIZED_IN_CLASS_P.
	* typeck2.c (store_init_value): Likewise.

Co-Authored-By: Jason Merrill <jason@redhat.com>

From-SVN: r259571
2018-04-23 15:11:22 -04:00
Paul Clarke
ae9fb56f6c Add myself to MAINTAINERS.
* MAINTAINERS (write after approval): Add myself.

From-SVN: r259570
2018-04-23 18:53:34 +00:00
Andrey Belevantsev
99219dba37 re PR rtl-optimization/85423 (ICE in code_motion_process_successors, at sel-sched.c:6403)
PR rtl-optimization/85423

        * sel-sched-ir.c (has_dependence_note_mem_dep): Only discard
        dependencies to debug insns when the previous insn is non-debug.

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

From-SVN: r259563
2018-04-23 18:19:06 +03:00
H.J. Lu
0ef9f21d3c x86/cet: Use unsigned integer to unwind shadow stack
Use unsigned integer to unwind shadow stack by replacing jle with jbe and
jg with ja.

	PR target/85489
	* config/x86/sjlj.S (GTM_longjmp): Replace jle/jg with jbe/ja.

From-SVN: r259559
2018-04-23 05:29:00 -07:00
Claudiu Zissulescu
9ba5e5fcee [ARC] Fix FLS, SETI patterns.
Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc.md ("vunspec"): Delete it, unify all the unspec
	enums into a single definition.
	(fls): Fix predicates and printing.
	(seti): Likewise.

From-SVN: r259558
2018-04-23 11:55:14 +02:00
Claudiu Zissulescu
31d2e01ad4 [ARC] Update sleep builtin.
gcc/
2018-04-23  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc-protos.h (check_if_valid_sleep_operand): Remove.
	* config/arc/arc.c (arc_expand_builtin): Sleep accepts registers
	and short u6 immediate.
	(check_if_valid_sleep_operand): Remove.
	* config/arc/arc.md (Sleep): Accepts registers and u6 immediates.

changelog

From-SVN: r259557
2018-04-23 11:54:59 +02:00
GCC Administrator
6dfcb0c474 Daily bump.
From-SVN: r259556
2018-04-23 00:16:27 +00:00
Chung-Ju Wu
1311665187 [NDS32] Add new option -malways-save-lp.
gcc/
	* config/nds32/nds32.c (nds32_compute_stack_frame): Consider
	flag_always_save_lp condition.
	* config/nds32/nds32.opt (malways-save-lp): New option.

From-SVN: r259553
2018-04-22 10:10:00 +00:00
Shiva Chen
c411e9aa4f [NDS32] Implment USE_LOAD_POST_INCREMENT, USE_LOAD_POST_DECREMENT, USE_STORE_POST_DECREMENT and USE_STORE_POST_INCREMENT.
gcc/
	* config/nds32/nds32-protos.h (nds32_use_load_post_increment): Declare.
	* config/nds32/nds32.c (nds32_use_load_post_increment): New.
	* config/nds32/nds32.h
	(USE_LOAD_POST_INCREMENT, USE_LOAD_POST_DECREMENT): Define.
	(USE_STORE_POST_INCREMENT, USE_STORE_POST_DECREMENT): Define.

From-SVN: r259552
2018-04-22 09:05:10 +00:00
Shiva Chen
029db20edd [NDS32] Remove unused function: nds32_ls_333_p().
gcc/
	* config/nds32/nds32-protos.h (nds32_ls_333_p): Remove.
	* config/nds32/nds32.c (nds32_ls_333_p): Remove.

From-SVN: r259551
2018-04-22 08:51:26 +00:00
Shiva Chen
2f1bb3ca91 [NDS32] Refine CASE_VECTOR_SHORTEN_MODE to function.
gcc/
	* config/nds32/nds32-protos.h (nds32_case_vector_shorten_mode):
	Declare.
	* config/nds32/nds32.c (nds32_case_vector_shorten_mode): New function.
	* config/nds32/nds32.h (CASE_VECTOR_SHORTEN_MODE): Modify.

Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com>

From-SVN: r259550
2018-04-22 08:42:18 +00:00
Chung-Ju Wu
361292be13 [NDS32] Fix wrong input value of parameter from stack for variable-length function.
gcc/
	* config/nds32/nds32.c (nds32_compute_stack_frame): Fix wrong value.

From-SVN: r259549
2018-04-22 08:25:47 +00:00
Chung-Ju Wu
79498ad8ba [NDS32] Implement DATA_ALIGNMENT, LOCAL_ALIGNMENT and TARGET_CONSTANT_ALIGNMENT.
gcc/
	* config/nds32/nds32-protos.h (nds32_data_alignment,
	nds32_local_alignment): Declare.
	* config/nds32/nds32.c (nds32_data_alignment, nds32_constant_alignment,
	nds32_local_alignment): New functions.
	(TARGET_CONSTANT_ALIGNMENT): Define.
	* config/nds32/nds32.h (DATA_ALIGNMENT, LOCAL_ALIGNMENT): Define.

From-SVN: r259548
2018-04-22 08:19:38 +00:00
Chung-Ju Wu
50256c75f4 [NDS32] Move some target hooks to the bottom of nds32.c file.
gcc/
	* config/nds32/nds32.c
	(TARGET_HARD_REGNO_MODE_OK): Move to the bottom of file.
	(TARGET_MODES_TIEABLE_P): Likewise.

From-SVN: r259547
2018-04-22 08:07:08 +00:00
Chung-Ju Wu
10c8bd03e3 [NDS32] Consider -Ofast and -Og in nds32_asm_file_start function.
gcc/
	* config/nds32/nds32.c (nds32_asm_file_start): Display optimization
	level Ofast and Og.

From-SVN: r259546
2018-04-22 07:57:06 +00:00
Monk Chiang
bc8a88100d [NDS32] Add unaligned access support.
gcc/
	* config/nds32/constants.md (unspec_volatile_element): Add enum values
	for unaligned access.
	* config/nds32/nds32-intrinsic.c: Implementation of expanding
	unaligned access.
	* config/nds32/nds32-intrinsic.md: Likewise.
	* config/nds32/nds32_intrinsic.h: Likewise.
	* config/nds32/nds32.h (nds32_builtins): Likewise.
	* config/nds32/nds32.opt (munaligned-access): New option.
	* config/nds32/nds32.c (nds32_asm_file_start): Display
	flag_unaligned_access status.

Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com>

From-SVN: r259545
2018-04-22 07:46:39 +00:00
GCC Administrator
020c350c3c Daily bump.
From-SVN: r259544
2018-04-22 00:16:24 +00:00
Kito Cheng
559fb136c9 RISC-V: Pass --no-relax to linker if -mno-relax is present.
gcc/
	2018-04-20  Kito Cheng  <kito.cheng@gmail.com>
	* config/riscv/elf.h (LINK_SPEC): Pass --no-relax if
	-mno-relax is present.
	* config/riscv/linux.h (LINK_SPEC): Ditto.

From-SVN: r259540
2018-04-20 18:03:30 -07:00
GCC Administrator
f046f4b07c Daily bump.
From-SVN: r259539
2018-04-21 00:16:14 +00:00
Martin Sebor
8cd95cec0f PR c/85365 - -Wrestrict false positives with -fsanitize=undefined
gcc/ChangeLog:

	PR c/85365
	* gimple-fold.c (gimple_fold_builtin_strcpy): Suppress -Wrestrict
	for null pointers.
	(gimple_fold_builtin_stxcpy_chk): Same.
	* gimple-ssa-warn-restrict.c (check_bounds_or_overlap): Same.

gcc/testsuite/ChangeLog:

	PR c/85365
	* gcc.dg/Wrestrict-15.c: New test.

From-SVN: r259535
2018-04-20 17:43:51 -06:00
Michael Meissner
661eb8f9e5 re PR target/85456 (PowerPC: Using -mabi=ieeelongdouble calls wrong function for __builtin_powi.)
[libgcc]
2018-04-20  Michael Meissner  <meissner@linux.ibm.com>

	PR target/85456
	* config/rs6000/_powikf2.c: New file.  Add support for the
	__builtin_powil function when long double is IEEE 128-bit floating
	point.
	* config/rs6000/float128-ifunc.c (__powikf2_resolve): Add
	__powikf2 support.
	(__powikf2): Likewise.
	* config/rs6000/quad-float128.h (__powikf2_sw): Likewise.
	(__powikf2_hw): Likewise.
	(__powikf2): Likewise.
	* config/rs6000/t-float128 (fp128_ppc_funcs): Likewise.
	* config/rs6000/t-float128-hw (fp128_hw_func): Likewise.
	(_powikf2-hw.c): Likewise.

[gcc]
2018-04-20  Michael Meissner  <meissner@linux.ibm.com>

	PR target/85456
	* config/rs6000/rs6000.c (init_float128_ieee): Add support to call
	__powikf2 when long double is IEEE 128-bit.

[gcc/testsuite]
2018-04-20  Michael Meissner  <meissner@linux.ibm.com>

	PR target/85456
	* gcc.target/powerpc/pr85456.c: New test.

From-SVN: r259533
2018-04-20 21:27:08 +00:00
Bill Schmidt
8833e667be undef-bool-1.C: Require lp64.
[gcc/testsuite]

2018-04-20  Bill Schmidt  <wschmidt@linux.ibm.com>

	* g++.dg/ext/undef-bool-1.C: Require lp64.
	* gcc.target/powerpc/undef-bool-2.c: Likewise.

From-SVN: r259532
2018-04-20 21:00:41 +00:00
Ian Lance Taylor
447638d2c4 gotest: only use [TD] on big-endian PPC64 non-AIX systems
Reviewed-on: https://go-review.googlesource.com/108457

From-SVN: r259531
2018-04-20 20:40:27 +00:00
Kito Cheng
9b922d6aaf RISC-V: Make sure stack is always aligned during adjusting stack.
gcc/
	2018-04-20  Kito Cheng  <kito.cheng@gmail.com>
	* config/riscv/riscv.c (riscv_first_stack_step): Round up min
	step to make sure stack always aligned.

From-SVN: r259530
2018-04-20 12:03:19 -07:00
Jeff Law
b593a195f9 stack-check-5.c: Improve dg-skip-if selector for the stack protector.
* gcc.dg/stack-check-5.c: Improve dg-skip-if selector for the
        stack protector.
        * gcc.dg/stack-check-6.c: Likewise.
        * gcc.dg/stack-check-6a.c: Likewise.
        * gcc.target/i386/stack-check-17.c: Add dg-skip-if selector.
        * gcc.target/i386/stack-check-18.c: Likewise.
        * gcc.target/i386/stack-check-19.c: Likewise.

From-SVN: r259528
2018-04-20 11:20:46 -06:00
Kyrylo Tkachov
f04fb28eda Fix missing hunk from previous commit
From-SVN: r259527
2018-04-20 16:33:53 +00:00
Kyrylo Tkachov
db994ead87 PR testsuite/85483: Move aarch64/sve/vcond_1.c test to g++.dg/other/
I totally botched up this sve test file in 259437.
It needs C++, so move it to g++.dg/other and make it a .C file.
Also adds the target guards to prevent it from running on non-aarch64 targets.

Tested that it passes on aarch64-none-elf and doesn't get run on arm-none-eabi.

Committing to trunk as obvious.

	PR testsuite/85483
	* gcc.target/aarch64/sve/vcond_1.c: Move to...
	* g++.dg/other/sve_vcond_1.C: ... Here.  Add target directives.
	* gcc.target/aarch64/sve/vcond_1_run.c: Move to...
	* g++.dg/other/sve_vcond_1_run.C: ... Here.  Change include file name.

From-SVN: r259526
2018-04-20 16:31:19 +00:00
Carl Love
a3b82e156d re PR target/83402 (PPC64 implementation of ./rs6000/emmintrin.h gives out of range for _mm_slli_epi32)
gcc/ChangeLog:

2018-04-20  Carl Love  <cel@us.ibm.com>

        PR target/83402
        * config/rs6000/rs6000-c.c (rs6000_gimple_fold_builtin): Add
        size check for arg0.

From-SVN: r259524
2018-04-20 15:18:24 +00:00
Nathan Sidwell
e91eba31fd [nvptx] Fix calls to vector and worker routines
2018-04-20  Nathan Sidwell  <nathan@codesourcery.com>
	    Tom de Vries  <tom@codesourcery.com>

	PR target/85445
	* config/nvptx/nvptx.c (nvptx_emit_forking, nvptx_emit_joining):
	Emit insns for calls too.
	(nvptx_find_par): Always look for worker-level predecessor insn.
	(nvptx_propagate): Add is_call parm, return bool.  Copy frame for
	calls.
	(nvptx_vpropagate, nvptx_wpropagate): Adjust.
	(nvptx_process_pars): Propagate frames for calls.

	* testsuite/libgomp.oacc-c++/ref-1.C: New.

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

From-SVN: r259523
2018-04-20 13:46:07 +00:00
H.J. Lu
e95dda951f Define __CET__ for -fcf-protection and remove -mibt
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

-mibt does nothing and can be removed.  Define __CET__ to indicate level
protection with -fcf-protection:

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

gcc/

	PR target/85469
	* common/config/i386/i386-common.c (OPTION_MASK_ISA_IBT_SET):
	Removed.
	(OPTION_MASK_ISA_IBT_UNSET): Likewise.
	(ix86_handle_option): Don't handle OPT_mibt.
	* config/i386/cet.h: Check __CET__ instead of __IBT__ and
	__SHSTK__.
	* config/i386/driver-i386.c (host_detect_local_cpu): Remove
	has_ibt and ibt.
	* config/i386/i386-c.c (ix86_target_macros_internal): Don't
	check OPTION_MASK_ISA_IBT nor flag_cf_protection.
	(ix86_target_macros): Define __CET__ with flag_cf_protection
	for -fcf-protection.
	* config/i386/i386.c (isa2_opts): Remove -mibt.
	* config/i386/i386.h (TARGET_IBT): Removed.
	(TARGET_IBT_P): Likewise.
	(ix86_valid_target_attribute_inner_p): Don't check OPT_mibt.
	* config/i386/i386.md (nop_endbr): Don't check TARGET_IBT.
	* config/i386/i386.opt (mcet): Update help message.
	(mshstk): Likewise.
	(mibt): Removed.
	* doc/invoke.texi: Remove -mibt.  Document __CET__.  Document
	-mcet as an alias for -mshstk.

gcc/testsuite/

	PR target/85469
	* gcc.target/i386/pr85044.c (dg-options): Remove -mibt.
	* gcc.target/i386/sse-26.c (dg-options): Remove -mno-ibt.

From-SVN: r259522
2018-04-20 06:30:13 -07:00
Martin Liska
fffefbf85f Do not overflow string buffer (PR objc/85476).
2018-04-20  Martin Liska  <mliska@suse.cz>

	PR objc/85476
	* objc-act.c (finish_class): Do not overflow string buffer.

From-SVN: r259521
2018-04-20 12:55:36 +00:00
Richard Biener
b46ebc6c45 re PR tree-optimization/85475 (Compile time hog w/ -O1 -fpeel-loops)
2018-04-20  Richard Biener <rguenther@suse.de>

	PR middle-end/85475
	* match.pd ((X * CST) * Y -> (X * Y) * CST): Avoid exponential
	complexity by forcing a single use of the multiply operand.

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

From-SVN: r259519
2018-04-20 10:31:23 +00:00
Martin Jambor
2f1f3ac438 Fix IPA-CP test for self-feeding recursive dependency
2018-04-20  Martin Jambor  <mjambor@suse.cz>

	ipa/85449
	* ipa-cp.c (cgraph_edge_brings_value_p): Move check for self-feeding
	recursion dependency to only apply to non-clones.

testsuite/
	* gcc.dg/ipa/pr85449.c: New test.

From-SVN: r259518
2018-04-20 11:35:33 +02:00
Martin Jambor
5fc1b92025 Check that clones of edges exist during IPA-CP
2018-04-20  Martin Jambor  <mjambor@suse.cz>

	ipa/85447
	* ipa-cp.c (create_specialized_node): Check that clones of
	self-recursive edges exist during IPA-CP.

testsuite/
	* g++.dg/ipa/pr85447.C: New file.
	* gcc.dg/ipa/ipcp-self-recursion-1.c: Likewise.

From-SVN: r259517
2018-04-20 11:19:39 +02:00
Jakub Jelinek
e00e62761d re PR c++/85462 (internal compiler error: in inc_refcount_use, at cp/pt.c:8955)
PR c++/85462
	* cp-tree.h (tinst_level): Remove in_system_header_p member,
	change refcount member from unsigned char to unsigned short,
	add refcount_infinity static data member, adjust comments.
	* pt.c (tinst_level::refcount_infinity): Define.
	(inc_refcount_use): Remove assert, don't increment if refcount
	is already refcount_infinity, adjust comment.
	(dec_refcount_use): Remove assert, don't decrement if refcount
	is refcount_infinity, adjust comment.
	(push_tinst_level_loc): Formatting fix.

	* g++.dg/cpp0x/pr85462.C: New test.

From-SVN: r259516
2018-04-20 09:56:52 +02:00
GCC Administrator
774c08306d Daily bump.
From-SVN: r259515
2018-04-20 00:16:26 +00:00
Toon Moene
b81f7a6137 invoke.texi: Add -floop-unroll-and-jam to options enabled by -O3.
2018-04-19  Toon Moene  <toon@moene.org>

	* doc/invoke.texi: Add -floop-unroll-and-jam to options enabled
	by -O3.

From-SVN: r259509
2018-04-19 19:29:26 +00:00
H.J. Lu
c7cec03345 Require CET target on gcc.target/i386/pr85404.c
Need a working CET assembler to assemble the compiler output.

	* gcc.target/i386/pr85404.c: Require CET target.

From-SVN: r259508
2018-04-19 12:20:37 -07:00
Jakub Jelinek
18108d94e9 re PR tree-optimization/85467 (ICE: verify_gimple failed: non-trivial conversion at assignment with -O2 -fno-tree-ccp --param=sccvn-max-scc-size=10)
PR tree-optimization/85467
	* fold-const.c (fold_ternary_loc) <case BIT_FIELD_REF>: Use
	VECTOR_TYPE_P macro.  If type is vector type, VIEW_CONVERT_EXPR the
	VECTOR_CST element to type.

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

From-SVN: r259507
2018-04-19 21:16:18 +02:00