Jakub Jelinek [Mon, 22 Feb 2016 19:55:47 +0000 (20:55 +0100)]
re PR target/69894 (dependency of gcc-plugin.h not installed on aarch64-linux-gnu)
PR target/69894
PR target/69895
* config/m68k/t-opts (OPTIONS_H_EXTRA): Add m68k-microarchs.def
and m68k-devices.def.
* config/c6x/t-c6x (OPTIONS_H_EXTRA): Add c6x-isas.def.
* config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add aarch64-arches.def.
From-SVN: r233611
David Malcolm [Mon, 22 Feb 2016 17:35:45 +0000 (17:35 +0000)]
MAINTAINERS: add myself to libcpp and diagnostic messages
2016-02-22 David Malcolm <dmalcolm@redhat.com>
* MAINTAINERS (libcpp): Add myself.
(diagnostic messages): Likewise.
From-SVN: r233608
Cesar Philippidis [Mon, 22 Feb 2016 16:28:25 +0000 (08:28 -0800)]
nvptx.c (nvptx_gen_shuffle): Add support for QImode and HImode registers.
gcc/
* config/nvptx/nvptx.c (nvptx_gen_shuffle): Add support for QImode
and HImode registers.
libgomp/
* testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
From-SVN: r233607
Richard Biener [Mon, 22 Feb 2016 14:53:17 +0000 (14:53 +0000)]
re PR tree-optimization/69882 (Excessive reduction statements generated by SLP)
2016-02-22 Richard Biener <rguenther@suse.de>
PR tree-optimization/69882
* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Properly
preserve permutations present because of gaps.
(vect_supported_load_permutation_p): Always continue checking
permutations after vect_attempt_slp_rearrange_stmts.
* gfortran.dg/vect/pr69882.f90: New testcase.
From-SVN: r233605
Bin Cheng [Mon, 22 Feb 2016 14:38:10 +0000 (14:38 +0000)]
tree-vect-loop.c (vect_estimate_min_profitable_iters): Dump min_profitable_estimate, rather than min_profitable_iters.
* tree-vect-loop.c (vect_estimate_min_profitable_iters): Dump
min_profitable_estimate, rather than min_profitable_iters.
From-SVN: r233604
Jakub Jelinek [Mon, 22 Feb 2016 14:22:07 +0000 (15:22 +0100)]
re PR bootstrap/69885 (ICE in maybe_legitimize_operand, at optabs.c:6903 on m68k-linux-gnu)
PR target/69885
* config/m68k/m68k.md (ashldi3, ashrdi3, lshrdi3): Use
SImode for last match_operand.
* gcc.dg/pr69885.c: New test.
From-SVN: r233603
Martin Liska [Mon, 22 Feb 2016 14:14:51 +0000 (15:14 +0100)]
HSA: fix emission of clrsb{l,ll} builtins
* hsa-gen.c (gen_hsa_clrsb): In case of zero value,
return bitsize - 1 as the return value.
From-SVN: r233602
Oleg Endo [Mon, 22 Feb 2016 13:33:31 +0000 (13:33 +0000)]
re PR rtl-optimization/69806 ([SH] Combine doesn't see constant)
gcc/
PR target/69806
PR target/54089
* config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p):
Handle negative shift counts.
* config/sh/sh.md (ashlsi3, lshrsi3_n, lshrsi3_n_clobbers_t): Don't use
force_reg on the shift constant.
(lshrsi3): Likewise. Expand into lshrsi3_n* instead of lshrsi3_d.
(lshrsi3_d): Handle negative shift counts.
gcc/testsuite/
PR target/69806
PR target/54089
* gcc.target/sh/pr54089-10.c: New.
From-SVN: r233601
Richard Biener [Mon, 22 Feb 2016 10:31:41 +0000 (10:31 +0000)]
Add dot-fn to gdbhooks.py
2016-02-22 Richard Biener <rguenther@suse.de>
Tom de Vries <tom@codesourcery.com>
* graph.c: Include dumpfile.h.
(print_graph_cfg): Split into three overloads.
* gdbhooks.py (class DotFn): Add and instantiate, adding command dot-fn.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r233600
Tom de Vries [Mon, 22 Feb 2016 10:31:32 +0000 (10:31 +0000)]
Add dump-fn to gdbhooks.py
2016-02-22 Tom de Vries <tom@codesourcery.com>
* gdbhooks.py (class DumpFn): Add and instantiate, adding command
dump-fn.
From-SVN: r233599
Richard Biener [Mon, 22 Feb 2016 09:32:35 +0000 (09:32 +0000)]
re PR middle-end/37448 (cannot compile big function)
2016-02-22 Richard Biener <rguenther@suse.de>
PR ipa/37448
* ipa-inline-transform.c (inline_call): When not updating
overall summaries adjust self size by the growth estimate.
* ipa-inline.c (inline_to_all_callers_1): Add to the callers
hash-set, do not update overall summaries here. Renamed from ...
(inline_to_all_callers): ... this which is now wrapping the
above and performing delayed overall summary update.
(early_inline_small_functions): Delay updating of the overall
summary.
From-SVN: r233598
GCC Administrator [Mon, 22 Feb 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233597
Markus Trippelsdorf [Sun, 21 Feb 2016 11:25:31 +0000 (11:25 +0000)]
Properly initialize variable in tree-chkp.c (chkp_mark_invalid_bounds_walker)
* tree-chkp.c (chkp_mark_invalid_bounds_walker): Initialize
variable.
From-SVN: r233593
GCC Administrator [Sun, 21 Feb 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233592
Paul Thomas [Sat, 20 Feb 2016 18:26:59 +0000 (18:26 +0000)]
re PR fortran/69423 (Invalid optimization with deferred-length character)
2016-02-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/69423
* trans-decl.c (create_function_arglist): Deferred character
length functions, with and without declared results, address
the passed reference type as '.result' and the local string
length as '..result'.
(gfc_null_and_pass_deferred_len): Helper function to null and
return deferred string lengths, as needed.
(gfc_trans_deferred_vars): Call it, thereby reducing repeated
code, add call for deferred arrays and reroute pointer function
results. Avoid using 'tmp' for anything other that a temporary
tree by introducing 'type_of_array' for the arrayspec type.
2016-02-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/69423
* gfortran.dg/deferred_character_15.f90 : New test.
From-SVN: r233589
Dominique d'Humieres [Sat, 20 Feb 2016 14:10:55 +0000 (15:10 +0100)]
[multiple changes]
2016-02-20 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/57365
gfortran.dg/allocate_with_source_18.f03: New test.
2016-02-20 Harald Anlauf <anlauf@gmx.de>
PR fortran/52531
gfortran.dg/gomp/pr52531.f90: New test.
From-SVN: r233588
Tom de Vries [Sat, 20 Feb 2016 11:42:54 +0000 (11:42 +0000)]
Fix whitespace in libgomp/ChangeLog
From-SVN: r233587
Tom de Vries [Sat, 20 Feb 2016 11:42:46 +0000 (11:42 +0000)]
Fix whitespace in gcc/testsuite/ChangeLog
From-SVN: r233586
Tom de Vries [Sat, 20 Feb 2016 11:42:35 +0000 (11:42 +0000)]
Fix whitespace in gcc/ChangeLog
From-SVN: r233585
Tom de Vries [Sat, 20 Feb 2016 11:42:25 +0000 (11:42 +0000)]
Fix whitespace in ChangeLog
From-SVN: r233584
Tom de Vries [Sat, 20 Feb 2016 11:42:16 +0000 (11:42 +0000)]
Remove stray log entry in gcc/ChangeLog-2015
From-SVN: r233583
Tom de Vries [Sat, 20 Feb 2016 11:27:08 +0000 (11:27 +0000)]
Fix whitespace in MAINTAINERS
2016-02-20 Tom de Vries <tom@codesourcery.com>
* MAINTAINERS: Fix whitespace.
From-SVN: r233582
Jason Merrill [Sat, 20 Feb 2016 04:31:16 +0000 (23:31 -0500)]
re PR c++/69743 (function overload with variadic arguments - template instantiation depth exceeds maximum (gcc4, clang - no problem))
PR c++/69743
* call.c (remaining_arguments): No longer static.
* cp-tree.h: Declare it.
* pt.c (more_specialized_fn): Use it.
From-SVN: r233579
GCC Administrator [Sat, 20 Feb 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233578
Bernd Edlinger [Fri, 19 Feb 2016 22:22:04 +0000 (22:22 +0000)]
re PR c++/69865 (-trigraphs option broken)
gcc/c-family/ChangeLog:
2016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR c++/69865
* c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
here...
(c_common_init_options): ...to here.
(set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
gcc/testsuite/ChangeLog:
2016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR c++/69865
* c-c++-common/Wshift-negative-value-6.c: Add -std=c++11 before
-std=c++03.
From-SVN: r233574
Jakub Jelinek [Fri, 19 Feb 2016 22:18:38 +0000 (23:18 +0100)]
re PR driver/69805 (ICE in greater_than_spec_func, at gcc.c:9722)
PR driver/69805
* gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use
:%* in %:gt() argument.
(greater_than_spec_func): Adjust for expecting only numbers,
if there are more than two numbers, compare the last two.
* testsuite/libgomp.c/pr69805.c: New test.
From-SVN: r233573
Jakub Jelinek [Fri, 19 Feb 2016 22:13:29 +0000 (23:13 +0100)]
Make-lang.in: Invoke gperf with -L C++.
2016-02-19 Jakub Jelinek <jakub@redhat.com>
Bernd Edlinger <bernd.edlinger@hotmail.de>
* Make-lang.in: Invoke gperf with -L C++.
* cfns.gperf: Remove prototypes for hash and libc_name_p
inlines.
* cfns.h: Regenerated.
* except.c (nothrow_libfn_p): Adjust.
Co-Authored-By: Bernd Edlinger <bernd.edlinger@hotmail.de>
From-SVN: r233572
Jakub Jelinek [Fri, 19 Feb 2016 22:12:54 +0000 (23:12 +0100)]
re PR c++/69826 (problem with cilkplus pragma and preprocessor variable)
PR c++/69826
* c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
(init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
flag_preprocess_only.
* c-c++-common/cilk-plus/CK/pr69826-1.c: New test.
* c-c++-common/cilk-plus/CK/pr69826-2.c: New test.
From-SVN: r233571
Jonathan Wakely [Fri, 19 Feb 2016 19:32:06 +0000 (19:32 +0000)]
invoke.texi (C++ Dialect Options): Clarify interaction of -Wnarrowing with -std.
* doc/invoke.texi (C++ Dialect Options): Clarify interaction of
-Wnarrowing with -std.
From-SVN: r233569
Jakub Jelinek [Fri, 19 Feb 2016 19:16:31 +0000 (20:16 +0100)]
re PR c++/69850 (unnecessary -Wnonnull-compare warning)
PR c++/69850
* rtti.c (ifnonnull): Set TREE_NO_WARNING on the condition, use
NE_EXPR instead of EQ_EXPR and swap last two arguments on COND_EXPR.
* g++.dg/warn/Wnonnull-compare-4.C: New test.
From-SVN: r233568
Jakub Jelinek [Fri, 19 Feb 2016 19:13:20 +0000 (20:13 +0100)]
Tweak comment further.
From-SVN: r233567
Jakub Jelinek [Fri, 19 Feb 2016 19:11:58 +0000 (20:11 +0100)]
re PR c++/69851 (ICE: in assign_temp, at function.c:961)
PR c++/69851
* expr.c (store_field): Don't use bit-field path if exp is
COMPONENT_REF with TREE_ADDRESSABLE type, where TYPE_SIZE is
different from bitsize, but DECL_SIZE of FIELD_DECL is bitsize
and the assignment can be performed by bitwise copy. Formatting
fix.
* g++.dg/torture/pr69851.C: New test.
From-SVN: r233566
Martin Sebor [Fri, 19 Feb 2016 18:37:40 +0000 (18:37 +0000)]
PR testsuite/69573 - FAIL: gcc.dg/pr61053.c (test for excess errors)
Tested on x86_64 by running make check-c with
RUNTESTFLAGS='--target_board=unix/-m32/-m128bit-long-double dg.exp=pr61053.c'
gcc/testsuite/ChangeLog:
2016-01-30 Martin Sebor <msebor@redhat.com>
PR testsuite/69573
* gcc.dg/pr61053.c: Tweaked test to avoid bogus failures.
From-SVN: r233564
Patrick Palka [Fri, 19 Feb 2016 17:04:29 +0000 (17:04 +0000)]
Adjust fix PR c++/68948
gcc/cp/ChangeLog:
PR c++/68948
* pt.c (tsubst_baselink): Don't diagnose an invalid constructor
call here.
* semantics.c (finish_call_expr): Don't assume a constructor
call is dependent if only the "this" pointer is dependent. When
building a constructor call, always use a dummy object.
From-SVN: r233563
Jakub Jelinek [Fri, 19 Feb 2016 16:25:58 +0000 (17:25 +0100)]
re PR middle-end/69838 (Lra deletes EH_REGION)
PR middle-end/69838
* lra.c (lra_process_new_insns): If non-call exceptions are enabled,
call copy_reg_eh_region_note_forward on before and/or after sequences
and remove note from insn if it no longer can throw.
From-SVN: r233562
Jakub Jelinek [Fri, 19 Feb 2016 16:02:51 +0000 (17:02 +0100)]
re PR c++/69850 (unnecessary -Wnonnull-compare warning)
PR c++/69850
* init.c (build_vec_delete_1): Set TREE_NO_WARNING on the NE_EXPR
condition.
* cp-gimplify.c (cp_fold): Propagate TREE_NO_WARNING from binary
operators if folding preserved the binop, just with different
arguments.
* g++.dg/warn/Wnonnull-compare-2.C: New test.
* g++.dg/warn/Wnonnull-compare-3.C: New test.
From-SVN: r233561
Jakub Jelinek [Fri, 19 Feb 2016 16:01:50 +0000 (17:01 +0100)]
re PR c++/67767 (-Wsuggest-attribute=noreturn suggests noreturn for function which already has noreturn and cold.)
PR c++/67767
* parser.c (cp_parser_std_attribute_spec_seq): Don't assume
attr_spec is always single element chain, chain all the attributes
properly together in the right order.
* g++.dg/cpp0x/pr67767.C: New test.
From-SVN: r233560
Kyrylo Tkachov [Fri, 19 Feb 2016 14:20:27 +0000 (14:20 +0000)]
[AArch64] Skip gcc.target/aarch64/assembler_arch_1.c if assembler does not support it
* lib/target-supports.exp: Define aarch64_asm_FUNC_ok checks
for fp, simd, crypto, crc, lse.
* doc/sourcebuild.texi (AArch64-specific attributes): Document the
above.
* gcc.target/aarch64/assembler_arch_1.c: Add aarch64_asm_lse_ok
effective target check.
From-SVN: r233559
Jakub Jelinek [Fri, 19 Feb 2016 13:42:38 +0000 (14:42 +0100)]
re PR tree-optimization/69820 (Test miscompiled with -O3 option)
PR target/69820
* config/i386/sse.md (VI_512): Only include V64QImode and V32HImode
if TARGET_AVX512BW.
* gcc.target/i386/pr69820.c: New test.
From-SVN: r233558
Andreas Krebbel [Fri, 19 Feb 2016 10:39:15 +0000 (10:39 +0000)]
S/390: z13 Add missing commutative operand markers.
gcc/ChangeLog:
* config/s390/vector.md: Add missing commutative operand markers
to the patterns which qualify for one.
* config/s390/vx-builtins.md: Likewise.
From-SVN: r233556
Andreas Krebbel [Fri, 19 Feb 2016 10:38:22 +0000 (10:38 +0000)]
S/390: Add single element vector types to iterators.
gcc/ChangeLog:
* config/s390/vector.md (VI, VI_QHS): Add single element vector
types to mode iterators.
(vec_double): ... and mode attribute.
* config/s390/vx-builtins.md (non_vec_int): Likewise.
From-SVN: r233555
Andreas Krebbel [Fri, 19 Feb 2016 10:37:19 +0000 (10:37 +0000)]
S/390: z13 Change predicates of 128 bit add sub.
So far usage of 128 bit add/sub instruction was rejected if the second
operand was a constant because the predicate rejected this.
gcc/testsuite/ChangeLog:
* gcc.target/s390/vector/int128-1.c: New test.
gcc/ChangeLog:
* config/s390/vector.md ("<ti*>add<mode>3", "<ti*>sub<mode>3"):
Change the predicate of op2 from nonimmediate to general and let
reload fix it if necessary.
From-SVN: r233554
Andreas Krebbel [Fri, 19 Feb 2016 10:35:48 +0000 (10:35 +0000)]
S/390: Add vec_sub_u128 to vecintrin.h
This adds a missing macro to the vecintrin.h header file.
gcc/ChangeLog:
* config/s390/vecintrin.h (vec_sub_u128): Define missing macro.
From-SVN: r233553
Andreas Krebbel [Fri, 19 Feb 2016 10:34:12 +0000 (10:34 +0000)]
S/390: z13 fix mode in vcond expansion
For floating point vector compares the target mode is an integer mode
which accidently was used as register mode when forcing the compare
operands into regs.
gcc/ChangeLog:
* config/s390/s390.c (s390_expand_vcond): Use the compare operand
mode.
gcc/testsuite/ChangeLog:
* gcc.target/s390/vector/vec-vcond-1.c: New test.
From-SVN: r233552
Andreas Krebbel [Fri, 19 Feb 2016 10:32:38 +0000 (10:32 +0000)]
S/390: Adjust movstr-1.c testcase to work with the z13 stpcpy implementation.
2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/md/movstr-1.c: Allow also the z13 strings
instruction pattern name to prevent the testcase from failing with
-march=z13.
From-SVN: r233551
Andreas Krebbel [Fri, 19 Feb 2016 10:31:05 +0000 (10:31 +0000)]
S/390: z13 inline stpcpy implementation.
A handwritten loop for stpcpy using the new z13 vector instructions
appears to be much faster than the millicoded instruction. However,
the implementation is much longer and therefore will only be enabled
when optimization for speed.
gcc/testsuite/ChangeLog:
* gcc.target/s390/md/movstr-2.c: New test.
gcc/ChangeLog:
* config/s390/s390-protos.h: Add s390_expand_vec_movstr prototype.
* config/s390/s390.c (s390_expand_vec_movstr): New function.
* config/s390/s390.md ("movstr<P:mode>"): Call
s390_expand_vec_movstr.
From-SVN: r233550
Andreas Krebbel [Fri, 19 Feb 2016 10:28:45 +0000 (10:28 +0000)]
S/390: z13 lcbb fix address operand.
gcc/ChangeLog:
2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.md: Add missing output modifier for operand 1
to print it as address properly.
From-SVN: r233549
Andreas Krebbel [Fri, 19 Feb 2016 10:27:12 +0000 (10:27 +0000)]
S/390: Add IBM z13 pipeline description
This patch adds proper support for the -mtune=z13 option by adding a
z13 pipeline description. As started with zEC12 we mostly make use of
the sched reorder hooks to implement a grouping strategy. However,
this time we also keep an eye at the instruction mix provided in the
out of order window to allow the hardware to exploit the different
units.
gcc/ChangeLog:
* config/s390/2827.md: Rename ooo_* insn attributes to zEC12_*.
* config/s390/2964.md: New file.
* config/s390/s390.c (s390_get_sched_attrmask): Use the right set
of insn grouping attributes depending on the CPU level.
(s390_get_unit_mask): New function.
(s390_sched_score): Remove the OOO from the scheduling macros.
Add loop to calculate a score for the instruction mix.
(s390_sched_reorder): Likewise plus improve debug output.
(s390_sched_variable_issue): Rename macros as above. Calculate
the unit distances after actually scheduling an insn. Improve
debug output.
(s390_sched_init): Clear last_scheduled_unit_distance array.
* config/s390/s390.md: Include 2964.md.
From-SVN: r233548
Marcin Kościelnicki [Fri, 19 Feb 2016 10:20:23 +0000 (10:20 +0000)]
S/390: Add __morestack test.
gcc/testsuite/ChangeLog:
* gcc.target/s390/morestack.c: New test.
From-SVN: r233547
Dominik Vogt [Fri, 19 Feb 2016 10:15:43 +0000 (10:15 +0000)]
S/390: PR 69625: Add test case
gcc/testsuite/ChangeLog
PR target/69625
* gcc.target/s390/pr69625.c: Add test case.
From-SVN: r233546
Jakub Jelinek [Fri, 19 Feb 2016 07:56:36 +0000 (08:56 +0100)]
re PR target/69671 (FAIL: gcc.target/i386/avx512vl-vpmovqb-1.c scan-assembler-times vpmovqb[ \\t]+[^{\n]*%ymm[0-9]+[^\n]*%xmm[0-9]+{%k[1-7]}{z}(?)
PR target/69671
* config/i386/sse.md (*<floatsuffix>floatv2div2sf2_mask_1,
*avx512vl_<code>v2div2qi2_mask_1, *avx512vl_<code><mode>v4qi2_mask_1,
*avx512vl_<code><mode>v8qi2_mask_1, *avx512vl_<code><mode>v4hi2_mask_1,
*avx512vl_<code>v2div2hi2_mask_1, *avx512vl_<code>v2div2si2_mask_1,
*avx512f_<code>v8div16qi2_mask_1): New insns.
From-SVN: r233545
Jason Merrill [Fri, 19 Feb 2016 06:25:05 +0000 (01:25 -0500)]
mangle.c (maybe_check_abi_tags): Add for_decl parm.
* mangle.c (maybe_check_abi_tags): Add for_decl parm. Call
mangle_decl.
(mangle_decl): Call maybe_check_abi_tags for function scope.
(mangle_guard_variable): Call maybe_check_abi_tags here.
(write_guarded_var_name): Not here.
From-SVN: r233544
GCC Administrator [Fri, 19 Feb 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233543
Bernd Edlinger [Thu, 18 Feb 2016 22:27:09 +0000 (22:27 +0000)]
re PR testsuite/68580 (FAIL: c-c++-common/tsan/pr65400-1.c -O0 execution test)
PR testsuite/68580
* c-c++-common/tsan/pr65400-1.c (v, q, o): Make 8-byte aligned.
From-SVN: r233538
Michael Meissner [Thu, 18 Feb 2016 19:36:39 +0000 (19:36 +0000)]
re PR bootstrap/68404 (PGO/LTO bootstrap failure on ppc64le)
[gcc]
2016-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/68404
* config/rs6000/predicates.md (fusion_gpr_addis): Revert
2016-02-09 change.
* config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove
earlyclobber from target. Use wF constraint for fused memory
address.
(fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
[gcc/testsuites]
2016-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/68404
* gcc.target/powerpc/fusion.c: Revert the 2016-02-09 change.
* gcc.target/powerpc/fusion3.c: Likewise.
From-SVN: r233532
Jakub Jelinek [Thu, 18 Feb 2016 17:15:25 +0000 (18:15 +0100)]
Do not emit red stack zones for a fn with no_sanitize_address
PR sanitizer/69863
* cfgexpand.c (asan_sanitize_stack_p): New function.
(partition_stack_vars): Use the function.
(expand_stack_vars): Likewise.
(defer_stack_allocation): Likewise.
(expand_used_vars): Likewise.
Co-Authored-By: Martin Liska <mliska@suse.cz>
From-SVN: r233524
Richard Biener [Thu, 18 Feb 2016 14:34:59 +0000 (14:34 +0000)]
re PR middle-end/69553 (Optimizations O1/O2 makes std::array value incorrect when passed to function)
2016-02-18 Richard Biener <rguenther@suse.de>
PR middle-end/69553
* fold-const.c (operand_equal_p): Properly compare offsets for
IMAGPART_EXPR and ARRAY_REF.
* g++.dg/torture/pr69553.C: New testcase.
From-SVN: r233520
Nick Clifton [Thu, 18 Feb 2016 13:23:06 +0000 (13:23 +0000)]
Fix PR number in changelog entries.
From-SVN: r233519
Nick Clifton [Thu, 18 Feb 2016 13:00:07 +0000 (13:00 +0000)]
PR target/62554
PR target/69610
gcc * config/arm/arm.c (arm_option_override_internal): Disable
interworking if the target does not support thumb instructions.
(arm_reload_in_hi): Handle the case where a register to register
move needs reloading because there is no simple pattern to handle
it.
(arm_reload_out_hi): Likewise.
tests * gcc.target/arm/pr62554.c: New test.
* gcc.target/arm/pr69610-1.c: New test.
* gcc.target/arm/pr69610-2.c: New test.
From-SVN: r233518
Richard Biener [Thu, 18 Feb 2016 08:43:58 +0000 (08:43 +0000)]
re PR middle-end/69854 (ICE: tree check: expected class 'constant', have 'binary' (plus_expr) in generic_simplify_65, at generic-match.c:3110)
2016-02-18 Richard Biener <rguenther@suse.de>
PR middle-end/69854
* match.pd: Don't use fold_binary or fold_unary for folding
constants.
* gcc.dg/torture/pr69854.c: New testcase.
From-SVN: r233516
Ian Lance Taylor [Thu, 18 Feb 2016 05:56:46 +0000 (05:56 +0000)]
libgo: Update to final Go 1.6 release.
Reviewed-on: https://go-review.googlesource.com/19592
From-SVN: r233515
Jason Merrill [Thu, 18 Feb 2016 05:08:09 +0000 (00:08 -0500)]
re PR c++/65985 (compiler segfault with assert() in constexpr constructor body)
PR c++/65985
* constexpr.c (build_constexpr_constructor_member_initializers):
Handle an additional STATEMENT_LIST.
From-SVN: r233514
Jason Merrill [Thu, 18 Feb 2016 05:08:02 +0000 (00:08 -0500)]
re PR c++/68585 (c++14 code accepted by 4.9 not accepted by 5 and 6)
PR c++/68585
* constexpr.c (cxx_eval_bare_aggregate): Fix 'changed' detection.
From-SVN: r233513
Jason Merrill [Thu, 18 Feb 2016 05:07:55 +0000 (00:07 -0500)]
re PR c++/68679 (gcc-5.2.1 ICE in C++11 anon union of structs with template fns, OK in gcc <= 4.9.3)
PR c++/68679
* decl2.c (reset_type_linkage_2): Look through member templates.
From-SVN: r233512
GCC Administrator [Thu, 18 Feb 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233511
Jakub Jelinek [Wed, 17 Feb 2016 22:27:24 +0000 (23:27 +0100)]
re PR c++/69850 (unnecessary -Wnonnull-compare warning)
PR c++/69850
* gimplify.c (gimplify_cond_expr): Call gimple_set_no_warning
on the cond_stmt from TREE_NO_WARNING on COND_EXPR_COND.
* gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Don't
warn on gimple_no_warning_p statements.
* init.c (build_delete): Set TREE_NO_WARNING on ifexp.
* g++.dg/warn/Wnonnull-compare-1.C: New test.
From-SVN: r233508
Jason Merrill [Wed, 17 Feb 2016 20:45:15 +0000 (15:45 -0500)]
re PR c++/69842 (Parameter deduction in polymorphic lambdas)
PR c++/69842
* method.c (forward_parm): Split out from...
(add_one_base_init): ...here.
* lambda.c (maybe_add_lambda_conv_op): Use it.
From-SVN: r233506
Max Filippov [Wed, 17 Feb 2016 20:21:48 +0000 (20:21 +0000)]
xtensa: fix libgcc build with --text-section-literals
Functions __muldf3_aux, __divdf3_aux, __mulsf3_aux and __divsf3_aux
don't start with leaf_entry, so they need explicit .literal_position,
otherwise libgcc build fails in the presence of --text-section-literals.
2016-02-17 Max Filippov <jcmvbkbc@gmail.com>
libgcc/
* config/xtensa/ieee754-df.S (__muldf3_aux, __divdf3_aux): Add
.literal_position before the function.
* config/xtensa/ieee754-sf.S (__mulsf3_aux, __divsf3_aux):
Likewise.
From-SVN: r233505
Jonathan Wakely [Wed, 17 Feb 2016 17:36:22 +0000 (17:36 +0000)]
extend.texi (C++ Attributes): Correct description of warn_unused type attribute.
* doc/extend.texi (C++ Attributes): Correct description of
warn_unused type attribute.
From-SVN: r233502
Jerry DeLisle [Wed, 17 Feb 2016 16:48:57 +0000 (16:48 +0000)]
re PR libfortran/69651 ([6 Regession] Usage of unitialized pointer io/list_read.c)
2016-02-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/69651
* io/list_read.c (push_char4): Fix the pointer usage for xrealloc.
From-SVN: r233500
Bill Schmidt [Wed, 17 Feb 2016 16:23:55 +0000 (16:23 +0000)]
altivec.md (*altivec_lvxl_<mode>_internal): Output correct instruction.
[gcc]
2016-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output
correct instruction.
[gcc/testsuite]
2012-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/vec-cg.c: New test.
From-SVN: r233499
Richard Biener [Wed, 17 Feb 2016 14:57:58 +0000 (14:57 +0000)]
re PR rtl-optimization/69609 (block reordering consumes an inordinate amount of time, REE consumes much memory)
2016-02-17 Richard Biener <rguenther@suse.de>
PR rtl-optimization/69609
* bb-reorder.c (struct bbro_basic_block_data): Add priority member.
(find_traces_1_round): When ending a trace update cached priority
of successors.
(bb_to_key): Use cached priority when available.
(copy_bb): Initialize cached priority.
(reorder_basic_blocks_software_trace_cache): Likewise.
From-SVN: r233498
Richard Biener [Wed, 17 Feb 2016 14:51:27 +0000 (14:51 +0000)]
re PR testsuite/69586 (FAIL: gcc.dg/uninit-21.c for target defaulting to short enum)
2016-02-17 Richard Biener <rguenther@suse.de>
PR testsuite/69586
* gcc.dg/uninit-21.c: Add -fno-short-enums.
From-SVN: r233497
Kyrylo Tkachov [Wed, 17 Feb 2016 13:42:35 +0000 (13:42 +0000)]
[AArch64] PR target/69161: Don't use special predicate for CCmode comparisons in expressions that require matching modes
PR target/69161
* config/aarch64/predicates.md (aarch64_comparison_operator_mode):
New predicate.
(aarch64_comparison_operator): Break overly long line into two.
(aarch64_comparison_operation): Likewise.
* config/aarch64/aarch64.md (cstorecc4): Use
aarch64_comparison_operator_mode instead of
aarch64_comparison_operator.
(cstore<mode>4): Likewise.
(aarch64_cstore<mode>): Likewise.
(*cstoresi_insn_uxtw): Likewise.
(cstore<mode>_neg): Likewise.
(*cstoresi_neg_uxtw): Likewise.
* gcc.c-torture/compile/pr69161.c: New test.
From-SVN: r233496
Kyrylo Tkachov [Wed, 17 Feb 2016 13:39:30 +0000 (13:39 +0000)]
[ARM] PR target/69161: Don't ignore mode when matching comparison operator in cstore-like patterns
PR target/69161
* config/arm/predicates.md (arm_comparison_operator_mode):
New predicate.
* config/arm/arm.md (*mov_scc): Use arm_comparison_operator_mode
instead of arm_comparison_operator.
(*mov_negscc): Likewise.
(*mov_notscc): Likewise.
* config/arm/thumb2.md (*thumb2_mov_scc): Likewise.
(*thumb2_mov_negscc): Likewise.
(*thumb2_mov_negscc_strict_it): Likewise.
(*thumb2_mov_notscc): Likewise.
(*thumb2_mov_notscc_strict_it): Likewise.
From-SVN: r233495
David Sherwood [Wed, 17 Feb 2016 13:16:31 +0000 (13:16 +0000)]
re PR target/69532 (FAIL: gcc.target/arm/{vect-,}fmaxmin.c execution test on armv7)
2016-02-17 David Sherwood <david.sherwood@arm.com>
gcc/testsuite:
PR target/69532
* gcc.target/arm/fmaxmin.c: Change effective target to arm_v8_neon_hw.
* gcc.target/arm/vect-fmaxmin.c: Likewise.
From-SVN: r233494
Wilco Dijkstra [Wed, 17 Feb 2016 11:52:35 +0000 (11:52 +0000)]
As part of the final cleanup of aarch64_internal_mov_immediate a return was accidentally removed.
As part of the final cleanup of aarch64_internal_mov_immediate a return was
accidentally removed. This causes the 2-instruction case to fallthrough
into the general case even when it found a match. An example immediate is
0xcccccccccccccccd which was using 2 instructions in GCC5 but now requires 4.
Adding the return fixes the regressions.
2016-02-17 Wilco Dijkstra <wdijkstr@arm.com>
gcc/
* config/aarch64/aarch64.c (aarch64_internal_mov_immediate):
Add missing return.
From-SVN: r233490
Eric Botcazou [Wed, 17 Feb 2016 11:20:06 +0000 (11:20 +0000)]
* gcc.dg/ifcvt-4.c: Skip on Visium.
From-SVN: r233489
Eric Botcazou [Wed, 17 Feb 2016 11:17:15 +0000 (11:17 +0000)]
visium.c (machine_libfunc_index): New enum.
* config/visium/visium.c (machine_libfunc_index): New enum.
(machine_libfuncs): New structure.
(visium_libfuncs): New static variable.
(TARGET_INIT_LIBFUNCS): Define to...
(visium_init_libfuncs): ...this. New function.
(expand_block_move_4): Use the appropriate libfunc.
(expand_block_move_2): Likewise.
(expand_block_move_1): Likewise.
(expand_block_set_4): Likewise.
(expand_block_set_2): Likewise.
(expand_block_set_1): Likewise.
(visium_trampoline_init): Likewise.
From-SVN: r233488
Nick Clifton [Wed, 17 Feb 2016 09:53:42 +0000 (09:53 +0000)]
msp430.c (msp430_mcu_data): Sync with data from TI's devices.csv file as of March 2016.
* config/msp430/msp430.c (msp430_mcu_data): Sync with data from
TI's devices.csv file as of March 2016.
From-SVN: r233487
Eric Botcazou [Wed, 17 Feb 2016 09:21:58 +0000 (09:21 +0000)]
exp_ch4.adb (Expand_N_Indexed_Component): Active synchronization if the prefix denotes an entity which Has_Atomic_Components.
* exp_ch4.adb (Expand_N_Indexed_Component): Active synchronization if
the prefix denotes an entity which Has_Atomic_Components.
* gcc-interface/trans.c (node_is_atomic): Return true if the prefix
denotes an entity which Has_Atomic_Components.
From-SVN: r233485
Eric Botcazou [Wed, 17 Feb 2016 09:08:09 +0000 (09:08 +0000)]
utils2.c (gnat_protect_expr): Make a SAVE_EXPR only for fat pointer or scalar types.
* gcc-interface/utils2.c (gnat_protect_expr): Make a SAVE_EXPR only
for fat pointer or scalar types.
From-SVN: r233484
Tim Shen [Wed, 17 Feb 2016 03:33:02 +0000 (03:33 +0000)]
re PR libstdc++/69794 (std::regex_search match failure with regex object with flags grep|icase)
2016-02-16 Tim Shen <timshen@google.com>
PR libstdc++/69794
* include/bits/regex_scanner.h: Add different special character
sets for grep and egrep regex.
* include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
* testsuite/28_regex/regression.cc: Add new testcase.
From-SVN: r233482
Jason Merrill [Wed, 17 Feb 2016 00:50:23 +0000 (19:50 -0500)]
re PR c++/10200 (Weird clash with same names in different scopes)
PR c++/10200
PR c++/69753
* call.c, cp-tree.h, name-lookup.c, pt.c, search.c, semantics.c,
tree.c, typeck2.c: Revert earlier changes.
* parser.c (cp_parser_lookup_name): Ignore namespace-scope
non-type templates after -> or .
From-SVN: r233481
GCC Administrator [Wed, 17 Feb 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233480
Kelvin Nilsen [Tue, 16 Feb 2016 23:12:19 +0000 (23:12 +0000)]
re PR target/48344 (powerpc ICE with -fstack-limit-register=r2)
[gcc]
2016-02-16 Kelvin Nilsen <kelvin@gcc.gnu.org>
PR Target/48344
* opts-global.c (handle_common_deferred_options): Introduce and
initialize two global variables to remember command-line options
specifying a stack-limiting register.
* opts.h: Add extern declarations of the two new global variables.
* emit-rtl.c (init_emit_once): Initialize the stack_limit_rtx
variable based on the values of the two new global variables.
[gcc/testsuite]
2016-02-16 Kelvin Nilsen <kelvin@gcc.gnu.org>
PR Target/48344
* gcc.target/powerpc/pr48344-1.c: New test.
From-SVN: r233477
Thomas Koenig [Tue, 16 Feb 2016 21:10:00 +0000 (21:10 +0000)]
re PR fortran/69742 (ICE with -O3 and ASSOCIATE containing repeated expression)
2015-02-16 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/69742
* frontend-passes.c (cfe-expr_0): Don't register functions
from within an ASSOCIATE statement.
2015-02-16 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/69742
* gfortran.dg/associate_21.f90: New test.
From-SVN: r233474
Jakub Jelinek [Tue, 16 Feb 2016 20:46:17 +0000 (21:46 +0100)]
re PR c/69835 (-Wnonnull diagnoses parameter comparisons with NULL even when those could have changed)
PR c/69835
* common.opt (Wnonnull-compare): New warning.
* doc/invoke.texi (-Wnonnull): Remove text about comparison
of arguments against NULL.
(-Wnonnull-compare): Document.
* Makefile.in (OBJS): Add gimple-ssa-nonnull-compare.o.
* tree-pass.h (make_pass_warn_nonnull_compare): Declare.
* passes.def (pass_warn_nonnull_compare): Add.
* gimple-ssa-nonnull-compare.c: New file.
c-family/
* c.opt (Wnonnull-compare): Enable for -Wall.
c/
* c-typeck.c (build_binary_op): Revert 2015-09-09 change.
cp/
* typeck.c (cp_build_binary_op): Revert 2015-09-09 change.
testsuite/
* c-c++-common/nonnull-1.c: Use -Wnonnull-compare instead of
-Wnonnull in dg-options.
* c-c++-common/nonnull-2.c: New test.
From-SVN: r233472
Jason Merrill [Tue, 16 Feb 2016 19:01:49 +0000 (14:01 -0500)]
re PR c++/69657 (abs() not inlined after including math.h)
PR c++/69657
* name-lookup.c (lookup_qualified_name): Add find_hidden parm.
(set_decl_namespace): Pass it. Complain about finding a hidden friend.
* name-lookup.h: Adjust.
From-SVN: r233470
Eric Botcazou [Tue, 16 Feb 2016 18:01:04 +0000 (18:01 +0000)]
gigi.h (maybe_debug_type): New inline function.
* gcc-interface/gigi.h (maybe_debug_type): New inline function.
* gcc-interface/misc.c (gnat_get_array_descr_info): Use it.
Call maybe_character_value on the array bounds. Get to the base type
of the index type and call maybe_debug_type on it.
* gcc-interface/utils.c (finish_character_type): Add special treatment
From-SVN: r233469
Eric Botcazou [Tue, 16 Feb 2016 17:51:56 +0000 (17:51 +0000)]
misc.c (gnat_enum_underlying_base_type): New function.
* gcc-interface/misc.c (gnat_enum_underlying_base_type): New function.
(LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Define to above.
From-SVN: r233467
James Greenhalgh [Tue, 16 Feb 2016 16:04:42 +0000 (16:04 +0000)]
[AArch64] Remove AARCH64_EXTRA_TUNE_RECIP_SQRT from Cortex-A57 tuning
gcc/
* config/aarch64/aarch64.c (cortexa57_tunings): Remove
AARCH64_EXTRA_TUNE_RECIP_SQRT.
From-SVN: r233463
James Greenhalgh [Tue, 16 Feb 2016 16:03:27 +0000 (16:03 +0000)]
[Patch AArch64] Use software sqrt expansion always for -mlow-precision-recip-sqrt
gcc/
* config/aarch64/aarch64.c (use_rsqrt_p): Always use software
reciprocal sqrt for -mlow-precision-recip-sqrt.
From-SVN: r233462
James Greenhalgh [Tue, 16 Feb 2016 16:02:09 +0000 (16:02 +0000)]
[Patch AArch64] GCC 6 regression in vector performance. - Fix vector initialization to happen with lane load instructions.
gcc/
* config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor,
always use lane loads to construct non-constant vectors.
gcc/testsuite/
* gcc.target/aarch64/vector_initialization_nostack.c: New.
Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
From-SVN: r233461
James Greenhalgh [Tue, 16 Feb 2016 15:59:51 +0000 (15:59 +0000)]
[Patch AArch64] Restrict 16-bit sqrdml{sa}h instructions to FP_LO_REGS
gcc/
* config/aarch64/aarch64.md
(arch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Fix register
constraints for operand 3.
(aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise.
From-SVN: r233460
Jakub Jelinek [Tue, 16 Feb 2016 15:34:07 +0000 (16:34 +0100)]
re PR tree-optimization/69801 (gcc ICE on valid code on x86_64-linux-gnu in "operand_equal_p")
PR middle-end/69801
* gcc.dg/pr69801.c: Add empty dg-options.
From-SVN: r233459
James Norris [Tue, 16 Feb 2016 15:29:04 +0000 (15:29 +0000)]
re PR c/64748 (OpenACC: "is not a variable" error with deviceptr())
PR c/64748
gcc/c/
* c-parser.c (c_parser_oacc_data_clause_deviceptr): Allow parms.
gcc/cp/
* parser.c (cp_parser_oacc_data_clause_deviceptr): Remove checking.
* semantics.c (finish_omp_clauses): Add deviceptr checking.
gcc/testsuite/
* c-c++-common/goacc/deviceptr-1.c: Add tests.
* g++.dg/goacc/deviceptr-1.c: New file.
From-SVN: r233458
Jakub Jelinek [Tue, 16 Feb 2016 15:16:48 +0000 (16:16 +0100)]
re PR tree-optimization/69820 (Test miscompiled with -O3 option)
PR tree-optimization/69820
* tree-vect-patterns.c (type_conversion_p): Return false if
*orig_type is unsigned single precision or boolean.
(vect_recog_dot_prod_pattern, vect_recog_widen_mult_pattern):
Formatting fix.
* gcc.dg/vect/pr69820.c: New test.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r233457
Jakub Jelinek [Tue, 16 Feb 2016 15:15:40 +0000 (16:15 +0100)]
re PR rtl-optimization/69764 (ICE on x86_64-linux-gnu at -O0 (in decompose, at rtl.h:2107))
PR rtl-optimization/69764
PR rtl-optimization/69771
* optabs.c (expand_binop): Ensure for shift optabs invalid CONST_INT
op1 is valid for GET_MODE_INNER (mode) and force it into a reg.
From-SVN: r233456
Richard Biener [Tue, 16 Feb 2016 15:00:45 +0000 (15:00 +0000)]
re PR tree-optimization/69776 (Wrong optimization with aliasing)
2016-02-16 Richard Biener <rguenther@suse.de>
PR tree-optimization/69776
* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias
sets from caller.
(indirect_refs_may_alias_p): Likewise.
(refs_may_alias_p_1): Pass alias sets as from ao_ref.
* tree-ssa-sccvn.c (vn_reference_lookup): Also adjust vr alias-set
according to tbaa_p.
* tree-ssa-dom.c (lookup_avail_expr): Add tbaa_p flag.
(optimize_stmt): For redundant store discovery do not allow tbaa.
* gcc.dg/torture/pr69776-2.c: New testcase.
From-SVN: r233453