144605 Commits

Author SHA1 Message Date
Jakub Jelinek
09c92f1c27 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
2016-02-22 15:22:07 +01:00
Martin Liska
f91d04e77d 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
2016-02-22 14:14:51 +00:00
Oleg Endo
f88d45dc17 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
2016-02-22 13:33:31 +00:00
Richard Biener
bddb7adb44 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
2016-02-22 10:31:41 +00:00
Tom de Vries
b6e5b400c3 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
2016-02-22 10:31:32 +00:00
Richard Biener
bddead150b 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
2016-02-22 09:32:35 +00:00
GCC Administrator
f97374a73f Daily bump.
From-SVN: r233597
2016-02-22 00:16:13 +00:00
Markus Trippelsdorf
30b3b0f84a 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
2016-02-21 11:25:31 +00:00
GCC Administrator
ced0847e5b Daily bump.
From-SVN: r233592
2016-02-21 00:16:17 +00:00
Paul Thomas
ce1ff48e57 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
2016-02-20 18:26:59 +00:00
Dominique d'Humieres
bbf2720856 [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
2016-02-20 15:10:55 +01:00
Tom de Vries
34b1816913 Fix whitespace in libgomp/ChangeLog
From-SVN: r233587
2016-02-20 11:42:54 +00:00
Tom de Vries
6daecd7a3e Fix whitespace in gcc/testsuite/ChangeLog
From-SVN: r233586
2016-02-20 11:42:46 +00:00
Tom de Vries
d6451de9f1 Fix whitespace in gcc/ChangeLog
From-SVN: r233585
2016-02-20 11:42:35 +00:00
Tom de Vries
423ea09f06 Fix whitespace in ChangeLog
From-SVN: r233584
2016-02-20 11:42:25 +00:00
Tom de Vries
a05a8eac60 Remove stray log entry in gcc/ChangeLog-2015
From-SVN: r233583
2016-02-20 11:42:16 +00:00
Tom de Vries
607bda60cf Fix whitespace in MAINTAINERS
2016-02-20  Tom de Vries  <tom@codesourcery.com>

	* MAINTAINERS: Fix whitespace.

From-SVN: r233582
2016-02-20 11:27:08 +00:00
Jason Merrill
2207c59959 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
2016-02-19 23:31:16 -05:00
GCC Administrator
313efd9efb Daily bump.
From-SVN: r233578
2016-02-20 00:16:15 +00:00
Bernd Edlinger
268be88cbe 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
2016-02-19 22:22:04 +00:00
Jakub Jelinek
f3609a89f4 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
2016-02-19 23:18:38 +01:00
Jakub Jelinek
3a27b4db56 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
2016-02-19 22:13:29 +00:00
Jakub Jelinek
871b3f473a 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
2016-02-19 23:12:54 +01:00
Jonathan Wakely
77a37715c6 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
2016-02-19 19:32:06 +00:00
Jakub Jelinek
7a965d5121 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
2016-02-19 20:16:31 +01:00
Jakub Jelinek
c464c0db19 Tweak comment further.
From-SVN: r233567
2016-02-19 20:13:20 +01:00
Jakub Jelinek
4b6c824a58 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
2016-02-19 20:11:58 +01:00
Martin Sebor
15fca21a3e 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
2016-02-19 11:37:40 -07:00
Patrick Palka
200e869c8f 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
2016-02-19 17:04:29 +00:00
Jakub Jelinek
de4fcb999f 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
2016-02-19 17:25:58 +01:00
Jakub Jelinek
03a616ac36 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
2016-02-19 17:02:51 +01:00
Jakub Jelinek
19e2158623 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
2016-02-19 17:01:50 +01:00
Kyrylo Tkachov
2db16594fe [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
2016-02-19 14:20:27 +00:00
Jakub Jelinek
5a7d9d1e13 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
2016-02-19 14:42:38 +01:00
Andreas Krebbel
d9128d88e6 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
2016-02-19 10:39:15 +00:00
Andreas Krebbel
90573e884b 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
2016-02-19 10:38:22 +00:00
Andreas Krebbel
6448f0645b 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
2016-02-19 10:37:19 +00:00
Andreas Krebbel
ece33b1b76 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
2016-02-19 10:35:48 +00:00
Andreas Krebbel
d0a859e621 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
2016-02-19 10:34:12 +00:00
Andreas Krebbel
9e4eb64394 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
2016-02-19 10:32:38 +00:00
Andreas Krebbel
859a4c0e84 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
2016-02-19 10:31:05 +00:00
Andreas Krebbel
9a36359ec6 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
2016-02-19 10:28:45 +00:00
Andreas Krebbel
239020213a 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
2016-02-19 10:27:12 +00:00
Marcin Kościelnicki
efc2340b5f S/390: Add __morestack test.
gcc/testsuite/ChangeLog:

	* gcc.target/s390/morestack.c: New test.

From-SVN: r233547
2016-02-19 10:20:23 +00:00
Dominik Vogt
ca2bfbc2ca S/390: PR 69625: Add test case
gcc/testsuite/ChangeLog

	PR target/69625
	* gcc.target/s390/pr69625.c: Add test case.

From-SVN: r233546
2016-02-19 10:15:43 +00:00
Jakub Jelinek
7082a7621a 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
2016-02-19 08:56:36 +01:00
Jason Merrill
747b61fcb3 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
2016-02-19 01:25:05 -05:00
GCC Administrator
654f089a92 Daily bump.
From-SVN: r233543
2016-02-19 00:16:16 +00:00
Bernd Edlinger
efd4bd05f3 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
2016-02-18 22:27:09 +00:00
Michael Meissner
2bf2078afb 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
2016-02-18 19:36:39 +00:00