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