Commit Graph

164688 Commits

Author SHA1 Message Date
Paul A. Clarke dbafa0f51f [rs6000] x86 vector intrinsics compatibility: clean-ups for 32bit support
Implement various corrections in the compatibility implementations of the
x86 vector intrinsics found after enabling 32bit mode for the associated
test cases.  (Actual enablement coming in a subsequent patch.)

2018-10-26  Paul A. Clarke  <pc@us.ibm.com>

gcc/ChangeLog:

	* config/rs6000/mmintrin.h: Enable 32bit compilation.
	* config/rs6000/xmmintrin.h: Likewise.

From-SVN: r265535
2018-10-26 17:23:46 +00:00
Ian Lance Taylor dbd93b9dbb libgo: avoid use of 'local' directive in shell script
Avoid declaring shell variables with 'local' (not supported
    on all systems of interest).
    
    Reviewed-on: https://go-review.googlesource.com/c/145021

From-SVN: r265534
2018-10-26 16:58:13 +00:00
Ian Lance Taylor 797ea25427 libgo: fix improperly mangled linker symbol directive
Fix asm name directive for the C version of log/syslog.syslog_c,
    which didn't get included in the recent name mangling change.
    
    Reviewed-on: https://go-review.googlesource.com/c/145017

From-SVN: r265533
2018-10-26 16:53:24 +00:00
Paul A. Clarke 4fa008a718 [rs6000] Fix _mm_extract_pi16 for big-endian
For compatibility implementation of x86 vector intrinsic, _mm_extract_pi16,
adjust shift value for big-endian mode.

gcc/ChangeLog:

2018-10-25  Paul A. Clarke  <pc@us.ibm.com>

	* config/rs6000/xmmintrin.h (_mm_extract_pi16): Fix for big-endian.

From-SVN: r265531
2018-10-26 15:01:22 +00:00
Richard Biener 4bfcf87914 tree-vect-slp.c (vect_mark_slp_stmts): Add visited hash_set and wrapper.
2018-10-26  Richard Biener  <rguenther@suse.de>

	* tree-vect-slp.c (vect_mark_slp_stmts): Add visited hash_set
	and wrapper.
	(vect_mark_slp_stmts_relevant): Likewise.
	(vect_detect_hybrid_slp_stmts): Likewise.
	(vect_bb_slp_scalar_cost): Likewise.
	(vect_remove_slp_scalar_calls): Likewise.

From-SVN: r265528
2018-10-26 11:52:10 +00:00
Jakub Jelinek 6d2027241f update_version_svn (IGNORE_BRANCHES): Add gcc-6-branch.
* update_version_svn (IGNORE_BRANCHES): Add gcc-6-branch.
	* crontab: Remove gcc-6-branch entry.

From-SVN: r265527
2018-10-26 12:29:15 +02:00
Jakub Jelinek 9038a1de78 gcc_release (error, inform): Use $@ instead of $1.
* gcc_release (error, inform): Use $@ instead of $1.
	(build_sources): Check for ^[[:blank:]]*GCC in both index.html
	and changes.html, rather than for GCC in one and ^GCC in another one.

From-SVN: r265526
2018-10-26 12:26:17 +02:00
Jan Hubicka abb967da1c ipa-devirt.c (odr_subtypes_equivalent_p): Fix recursion.
* ipa-devirt.c (odr_subtypes_equivalent_p): Fix recursion.
	(warn_types_mismatch): Fix walk of DECL_NAME.
	(odr_types_equivalent_p): Fix overactive assert.
	* lto/lto-symtab.c (lto_symtab_merge_decls_2): Fix extra space.

	* g++.dg/lto/odr-1_0.C: Fix template.
	* g++.dg/lto/odr-1_1.C: Fix template.

From-SVN: r265523
2018-10-26 09:32:47 +00:00
Richard Biener a1f072e244 re PR tree-optimization/87105 (Autovectorization [X86, SSE2, AVX2, DoublePrecision])
2018-10-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/87105
	* tree-vectorizer.h (_slp_tree::refcnt): New member.
	* tree-vect-slp.c (vect_free_slp_tree): Decrement and honor
	refcnt.
	(vect_create_new_slp_node): Initialize refcnt to one.
	(bst_traits): Move.
	(scalar_stmts_set_t, bst_fail): Remove.
	(vect_build_slp_tree_2): Add bst_map argument and adjust calls.
	(vect_build_slp_tree): Add bst_map argument and lookup
	already created SLP nodes.
	(vect_print_slp_tree): Handle a SLP graph, print SLP node
	addresses.
	(vect_slp_rearrange_stmts): Handle a SLP graph.
	(vect_analyze_slp_instance): Adjust and free SLP nodes from
	the CSE map.  Fix indenting.
	(vect_schedule_slp_instance): Add short-cut.

	* g++.dg/vect/slp-pr87105.cc: Adjust.
	* gcc.dg/torture/20181024-1.c: New testcase.
	* g++.dg/opt/20181025-1.C: Likewise.

From-SVN: r265522
2018-10-26 07:38:59 +00:00
Martin Liska 74ca1c01d0 Relax hash function to match equals function behavior (PR testsuite/86158).
2018-10-26  Martin Liska  <mliska@suse.cz>

	PR testsuite/86158
	* ipa-prop.c (struct ipa_vr_ggc_hash_traits): Hash with
	addr_expr and not with pointers.

From-SVN: r265521
2018-10-26 07:23:33 +00:00
Jan Hubicka b322cdb21a * tree.c (free_lang_data_in_type): Only check main variants.
From-SVN: r265520
2018-10-26 07:21:04 +00:00
Jan Hubicka 420672bc92 ipa-devirt.c (warn_odr): Make static.
* ipa-devirt.c (warn_odr): Make static.
	(types_same_for_odr): Drop strict variant.
	(types_odr_comparable): Likewise.
	(odr_or_derived_type_p): Look for main variants.
	(odr_name_hasher::equal): Cleanup comment.
	(odr_subtypes_equivalent): Add warn and warned arguments; check main
	variants.
	(type_variants_equivalent_p): break out from ...
	(odr_types_equivalent): ... here; go for main variants where needed.
	(warn_odr): ... here; turn static.
	(warn_types_mismatch): Compare mangled names of main variants.
	* ipa-utils.h (types_odr_comparable): Drop strict parameter.
	(type_with_linkage_p): Sanity check that we look at main variant.
	* lto.c (lto_read_decls): Only consider main variant to be ODR type.
	* tree.h (types_same_for_odr): Drop strict argument.

From-SVN: r265519
2018-10-26 07:20:01 +00:00
Richard Biener 99976e2700 re PR lto/87754 (ICE in odr_types_equivalent_p, at ipa-devirt.c:1250)
2018-10-26  Richard Biener  <rguenther@suse.de>

	PR testsuite/87754
	* g++.dg/lto/odr-1_0.C: Fix pattern.

From-SVN: r265518
2018-10-26 07:19:07 +00:00
Richard Biener 7ea4b8ed7b re PR tree-optimization/87746 (ICE in vect_update_misalignment_for_peel, at tree-vect-data-refs.c:1035)
2018-10-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/87746
	* tree-vect-data-refs.c (vect_update_misalignment_for_peel):
	Simplify and fix WRT strided store groups with size not
	equal to step in element count.
	(vect_analyze_group_access_1): Dump the whole group.

	* gcc.dg/pr87746.c: New testcase.

From-SVN: r265517
2018-10-26 07:12:02 +00:00
Rainer Orth 682f212a90 Don't xfail gcc.dg/pr78973-2.c on non-ilp64 targets
* gcc.dg/pr78973-2.c: Remove xfail on dg-warning.

From-SVN: r265516
2018-10-26 06:46:26 +00:00
Ian Lance Taylor c404b3b9c6 libgo: don't use wc in gotest
The wc command is not in the GNU approved list of Makefile utilities
    (https://www.gnu.org/prep/standards/html_node/Utilities-in-Makefiles.html#Utilities-in-Makefiles).
    
    Reviewed-on: https://go-review.googlesource.com/c/144897

From-SVN: r265515
2018-10-26 02:43:35 +00:00
GCC Administrator 03f7544f8d Daily bump.
From-SVN: r265514
2018-10-26 00:17:05 +00:00
Ian Lance Taylor 34489eb2af compiler: improve name mangling for packpaths
The current implementation of Gogo::pkgpath_for_symbol was written in
    a way that allowed two distinct package paths to map to the same
    symbol, which could cause collisions at link- time or compile-time.
    
    Switch to a better mangling scheme to insure that we get a unique
    packagepath symbol for each package. In the new scheme instead of having
    separate mangling schemes for identifiers and package paths, the
    main identifier mangler ("go_encode_id") now handles mangling of
    both packagepath characters and identifier characters.
    
    The new mangling scheme is more intrusive: "foo/bar.Baz" is mangled as
    "foo..z2fbar.Baz" instead of "foo_bar.Baz". To mitigate this, this
    patch also adds a demangling capability so that function names
    returned from runtime.CallersFrames are converted back to their
    original unmangled form.
    
    Changing the pkgpath_for_symbol scheme requires updating a number of
    //go:linkname directives and C "__asm__" directives to match the new
    scheme, as well as updating the 'gotest' driver (which makes
    assumptions about the correct mapping from pkgpath symbol to package
    name).
    
    Fixes golang/go#27534.
    
    Reviewed-on: https://go-review.googlesource.com/c/135455

From-SVN: r265510
2018-10-25 22:18:08 +00:00
Carl Love fc756f9f46 rs6000-c.c (P9V_BUILTIN_VEC_VSCEDPGT, [...]): Rename base overloaded name.
gcc/ChangeLog:

2018-10-25  Carl Love  <cel@us.ibm.com>

	* config/rs6000/rs6000-c.c (P9V_BUILTIN_VEC_VSCEDPGT,
	P9V_BUILTIN_VEC_VSCEDPLT, P9V_BUILTIN_VEC_VSCEDPEQ,
	P9V_BUILTIN_VEC_VSCEDPUO): Rename base overloaded name.  Add quad
	precicion entry for each overloaded builtin.
	* config/rs6000/rs6000-builtin.def (VSCEDPGT, VSCEDPLT, VSCEDPEQ,
	VSCEDPUO): Rename overloaded name.
	(VSCEDPGT, VSCEQPGT, VSCEDPLT, VSCEQPLT, VSCEDPEQ, VSCEQPEQ,
	VSCEDPUO, VSCEQPUO): Add defitions for overloaded builtins.
	* config/rs6000/vsx.md (xscmpexpqp_<code>_<mode>): Add
	define_expand for xscmpexqp instruction.
	(*xscmpexpqp): Add define_insn for the xscmpexqp instruction.

gcc/testsuite/ChangeLog:

2018-10-25  Carl Love  <cel@us.ibm.com>

	* gcc.target/powerpc/float128-cmp2-runnable.c: New test file.

From-SVN: r265509
2018-10-25 20:41:57 +00:00
Bill Schmidt 80a2dd51de emmintrin.h (_mm_slli_epi16): Replace deprecated function with vec_sl.
2018-10-25  Bill Schmidt  <wschmidt@linux.ibm.com>
	    Jinsong Ji <jji@us.ibm.com>

	* config/rs6000/emmintrin.h (_mm_slli_epi16): Replace deprecated
	function with vec_sl.
	(_mm_slli_epi32): Likewise.
	(_mm_slli_epi64): Likewise.
	(_mm_srai_epi16): Replace deprecated function with vec_sra.
	(_mm_srai_epi32): Likewise.
	(_mm_srli_epi16): Replace deprecated function with vec_sr.
	(_mm_srli_epi32): Likewise.
	(_mm_srli_epi64): Likewise.
	(_mm_sll_epi16): Replace deprecated function with vec_sl.
	(_mm_sll_epi32): Likewise.
	(_mm_sll_epi64): Likewise.
	(_mm_sra_epi16): Replace deprecated function with vec_sra.
	(_mm_sra_epi32): Likewise.
	(_mm_srl_epi16): Replace deprecated function with vec_sr.
	(_mm_srl_epi32): Likewise.
	(_mm_srl_epi64): Likewise.


Co-Authored-By: Jinsong Ji <jji@us.ibm.com>

From-SVN: r265508
2018-10-25 20:16:39 +00:00
Bill Schmidt 1d3d27032b emmintrin.h (_mm_sll_epi16): Replace comparison operators with vec_cmp* for compatibility due to unfortunate...
2018-10-25  Bill Schmidt  <wschmidt@linux.ibm.com>
	    Jinsong Ji <jji@us.ibm.com>

	* gcc/config/rs6000/emmintrin.h (_mm_sll_epi16): Replace
	comparison operators with vec_cmp* for compatibility due to
	unfortunate history; clean up formatting and use types more
	appropriately.
	(_mm_sll_epi32): Likewise.
	(_mm_sll_epi64): Likewise.
	(_mm_srl_epi16): Likewise.
	(_mm_srl_epi32): Likewise.
	(_mm_srl_epi64): Likewise.


Co-Authored-By: Jinsong Ji <jji@us.ibm.com>

From-SVN: r265507
2018-10-25 20:14:40 +00:00
Bill Schmidt 71c3949eea emmintrin.h (_mm_sll_epi64): Remove wrong cast.
2018-10-25  Bill Schmidt  <wschmidt@linux.ibm.com>
	    Jinsong Ji <jji@us.ibm.com>

	* config/rs6000/emmintrin.h (_mm_sll_epi64): Remove wrong cast.
	* config/rs6000/xmmintrin.h (_mm_min_ps): Change m's type to
	__vector __bool int.  Use vec_cmpgt in preference to deprecated
	function vec_vcmpgtfp.
	(_mm_max_ps): Likewise.


Co-Authored-By: Jinsong Ji <jji@us.ibm.com>

From-SVN: r265506
2018-10-25 20:09:24 +00:00
Jeff Law 7959b94e08 rl78.c (insn_ok_now): Always re-recognize the insn if returning false.
* config/rl78/rl78.c (insn_ok_now): Always re-recognize the insn
	if returning false.

From-SVN: r265505
2018-10-25 13:35:52 -06:00
Jason Merrill b15e280216 * parser.c (cp_parser_sizeof_operand): Remove redundant grokdeclarator.
From-SVN: r265503
2018-10-25 15:23:33 -04:00
Martin Sebor 8145e6a0cc extend.texi (aligned): Expand attribute description.
gcc/ChangeLog:

	* doc/extend.texi (aligned): Expand attribute description.
	(Alignment): Rename section.  Discuss function arguments.

From-SVN: r265498
2018-10-25 10:34:36 -06:00
Martin Liska 30e874615f Use signed char in a test (PR testsuite/87739).
2018-10-25  Martin Liska  <mliska@suse.cz>

	PR testsuite/87739
	* gcc.dg/tree-ssa/pr84436-5.c (foo): Use signed char.

From-SVN: r265495
2018-10-25 15:36:48 +00:00
Martin Liska 3239d72683 Revert partially changes from r265454 (PR other/87735).
2018-10-25  Martin Liska  <mliska@suse.cz>

	PR other/87735
	* gcc.dg/tree-prof/time-profiler-1.c: Revert.
	* gcc.dg/tree-prof/time-profiler-2.c: Likewise.
	* gcc.dg/tree-prof/time-profiler-3.c: Likewise.
2018-10-25  Martin Liska  <mliska@suse.cz>

	PR other/87735
	* libgcov-profiler.c: Revert.

From-SVN: r265494
2018-10-25 15:36:12 +00:00
Jonathan Wakely 71e093897c PR libstdc++/87749 fix (and optimize) string move construction
The move constructor for the SSO string uses assign(const basic_string&)
when either:

(1) the source string is "local" and so the contents of the small string
buffer need to be copied, or

(2) the allocator does not propagate and is_always_equal is false.

Case (1) is suboptimal, because the assign member is not noexcept and
the compiler isn't smart enough to see it won't actually throw in this
case. This causes extra code in the move assignment operator so that any
exception will be turned into a call to std::terminate. This can be
fixed by copying small strings inline instead of calling assign.

Case (2) is a bug, because the specific instances of the allocators
could be equal even if is_always_equal is false. This can result in an
unnecessary deep copy (and potentially-throwing allocation) when the
storage should be moved. This can be fixed by simply checking if the
allocators are equal.

	PR libstdc++/87749
	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
	(basic_string::operator=(basic_string&&)): For short strings copy the
	buffer inline. Only fall back to using assign(const basic_string&) to
	do a deep copy when reallocation is needed.
	* testsuite/21_strings/basic_string/modifiers/assign/char/87749.cc:
	New test.
	* testsuite/21_strings/basic_string/modifiers/assign/char/
	move_assign_optim.cc: New test.
	* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/87749.cc:
	New test.
	* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
	move_assign_optim.cc: New test.

From-SVN: r265493
2018-10-25 16:34:04 +01:00
Jan Hubicka 1afca3f426 ipa-devirt.c (main_odr_variant): Remove.
* ipa-devirt.c (main_odr_variant): Remove.
	(hash_odr_name, types_same_for_odr, types_odr_comparable,
	odr_name_hasher::equal, odr_subtypes_equivalent_p):
	Drop use of main_odr_variant.
	(add_type_duplicate): Silence confused warnings on integer types.
	(get_odr_type): Always look for main variant.
	(register_odr_type): Simplify.

From-SVN: r265492
2018-10-25 14:33:27 +00:00
Richard Biener 303d8f7792 tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Initialize ng to silence error with release checking bootstrap.
2018-10-25  Richard Biener  <rguenther@suse.de>

	* tree-vect-data-refs.c (vect_analyze_data_ref_accesses):
	Initialize ng to silence error with release checking bootstrap.

From-SVN: r265491
2018-10-25 14:28:18 +00:00
Ilya Leoshkevich b6f517556c S/390: Merge movdi_larl into movdi_64
Consider the following RTL:

(insn (set (mem/f/c:DI (reg/f:DI 60))
           (const:DI (plus:DI (symbol_ref:DI ("*.LANCHOR0"))
                              (const_int 8)))))

generated by cse2 pass.  It is matched to movdi_64, resulting in
the following inefficient code:

	larl	%r5,.L6			# Load literal pool@
	lg	%r1,.L7-.L6(%r5)	# Load .LANCHOR0+8
	stgrl	%r1,.LANCHOR0
	br	%r14

Matching it to movdi_larl improves the code, eliminating one
instruction and the literal pool entry:

	larl	%r1,.LANCHOR0+8
	stgrl	%r1,.LANCHOR0
	br	%r14

Taking it one step further, there is no reason to keep movdi_64 and
movdi_larl separate, since this could potentially improve code in other
ways by giving lra one more alternative to choose from.

gcc/ChangeLog:

2018-10-25  Ilya Leoshkevich  <iii@linux.ibm.com>

	* config/s390/constraints.md (ZL): New constraint.
	* config/s390/s390.c (legitimate_pic_operand_p): Accept LARL
	operands.
	* config/s390/s390.md (movdi_larl): Remove.
	(movdi_64): Add the LARL alternative.

gcc/testsuite/ChangeLog:

2018-10-25  Ilya Leoshkevich  <iii@linux.ibm.com>

	* gcc.target/s390/global-array-almost-huge-element.c: New test.
	* gcc.target/s390/global-array-almost-negative-huge-element.c: New test.
	* gcc.target/s390/global-array-element-pic.c: New test.
	* gcc.target/s390/global-array-even-element.c: New test.
	* gcc.target/s390/global-array-huge-element.c: New test.
	* gcc.target/s390/global-array-negative-huge-element.c: New test.
	* gcc.target/s390/global-array-odd-element.c: New test.

From-SVN: r265490
2018-10-25 14:23:31 +00:00
Richard Biener 4dd7c0dcd8 tree-if-conv.c: Include tree-ssa-sccvn.h.
2018-10-25  Richard Biener  <rguenther@suse.de>

	* tree-if-conv.c: Include tree-ssa-sccvn.h.
	(tree_if_conversion): Run CSE on the if-converted loop body.

From-SVN: r265489
2018-10-25 14:03:24 +00:00
Ilya Leoshkevich cd747405e4 Fix rtx_code_size static initialization order fiasco
r264556 and r264537 changed the format of EQ_ATTR_ALT RTXs to "ww",
which also required adjusting rtx_code_size initializer.  In order to
simplify things, the list of rtx_codes known to use HOST_WIDE_INTs was
replaced by the format string check.  However, unlike the old one, this
new check cannot be always performed at compile time, in which case a
static constructor is generated.  This may lead to a static
initialization order fiasco with respect to other static constructors
in the compiler, in case of PR87747, cselib's pool_allocator.

gcc/ChangeLog:

2018-10-25  Ilya Leoshkevich  <iii@linux.ibm.com>

	PR bootstrap/87747
	* rtl.c (RTX_CODE_HWINT_P_1): New helper macro.
	(RTX_CODE_HWINT_P): New macro.
	(rtx_code_size): Use RTX_CODE_HWINT_P ().

From-SVN: r265488
2018-10-25 13:47:10 +00:00
Marc Glisse 0f317ef762 Relocation (= move+destroy)
2018-10-25  Marc Glisse  <marc.glisse@inria.fr>

	PR libstdc++/87106
	* include/bits/alloc_traits.h (_S_construct, _S_destroy, construct,
	destroy): Add noexcept specification.
	* include/bits/allocator.h (construct, destroy): Likewise.
	* include/ext/alloc_traits.h (construct, destroy): Likewise.
	* include/ext/malloc_allocator.h (construct, destroy): Likewise.
	* include/ext/new_allocator.h (construct, destroy): Likewise.
	* include/bits/stl_uninitialized.h (__relocate_object_a, __relocate_a,
	__relocate_a_1): New functions.
	(__is_trivially_relocatable): New class.
	* include/bits/stl_vector.h (__use_relocate): New static member.
	* include/bits/vector.tcc (reserve, _M_realloc_insert,
	_M_default_append): Use __relocate_a.
	(reserve, _M_assign_aux, _M_realloc_insert, _M_fill_insert,
	_M_default_append, _M_range_insert): Move _GLIBCXX_ASAN_ANNOTATE_REINIT
	after _Destroy.
	* testsuite/23_containers/vector/modifiers/push_back/49836.cc:
	Replace CopyConsOnlyType with DelAnyAssign.

From-SVN: r265485
2018-10-25 13:03:13 +00:00
Jan Hubicka 09d3f04eae ipa-devirt.c (odr_types_equivalent_p): Do not ICE if one of types is anonymous.
* ipa-devirt.c (odr_types_equivalent_p): Do not ICE if one of types
	is anonymous.
	* g++.dg/lto/odr-1_0.C: New test.
	* g++.dg/lto/odr-1_1.C: New test.

From-SVN: r265484
2018-10-25 12:18:28 +00:00
Thomas Preud'homme 46ec926100 dg-cmp-results: display NA->FAIL & NA->UNRESOLVED by default
Currently, dg-cmp-results will not print anything for a test that was
not run before, even if it is a FAIL or UNRESOLVED now. This means that
when contributing a code change together with a testcase in the same
commit one must run dg-cmp-results twice: once to check for regression
on a full testsuite run and once against the new testcase with -v -v.
This also prevents using dg-cmp-results on sum files generated with
test_summary since these would not contain PASS.

This patch changes dg-cmp-results to print NA->FAIL and NA->UNRESOLVED
changes by default.

2018-10-25  Thomas Preud'homme  <thomas.preudhomme@linaro.org>

    contrib/
    * dg-cmp-results.sh: Print NA-FAIL and NA->UNRESOLVED changes at
    default verbosity.

From-SVN: r265483
2018-10-25 10:35:21 +00:00
Thomas Preud'homme 541eccada3 [testsuite] Fix sibcall-9 & sibcall-10 with -fPIC
gcc.dg/sibcall-9.c and gcc.dg/sibcall-10.c give execution failure
on ARM when compiled with -fPIC due to the PIC access to volatile
variable v creating an extra spill which causes the frame size of the
two recursive functions to be different. Making the variable static
solve the issue because the variable can be access in a PC-relative way
and avoid the spill, while still testing sibling call as originally
intended.

2018-10-25  Thomas Preud'homme  <thomas.preudhomme@linaro.org>

gcc/testsuite/
    * gcc.dg/sibcall-9.c: Make v static.
    * gcc.dg/sibcall-10.c: Likewise.

From-SVN: r265482
2018-10-25 10:19:49 +00:00
Richard Biener 7852940e7b re PR tree-optimization/87665 (gcc HEAD (svn: 265340) breaks elements on resize)
2018-10-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/87665
	PR tree-optimization/87745
	* tree-vectorizer.h (get_earlier_stmt): Remove.
	(get_later_stmt): Pick up UID from the original non-pattern stmt.

	* gfortran.dg/20181025-1.f: New testcase.

From-SVN: r265481
2018-10-25 08:59:07 +00:00
Sam Tebbs 86f36311bc [DOC] Relocate list under Deprecated in options.texi to Var
gcc/doc
2018-10-25  Sam Tebbs  <sam.tebbs@arm.com>

	* options.texi (Deprecated): Move list to Var section.

From-SVN: r265480
2018-10-25 08:57:24 +00:00
Jakub Jelinek 37bc33f72c re PR fortran/87725 (OpenMP 4.5 clause schedule(simd,monotonic:static) not understood)
PR fortran/87725
	* openmp.c (gfc_match_omp_clauses): Parse simd, monotonic and
	nonmonotonic modifiers regardless of if they have been parsed
	already or if the opposite one has.  Fix up check whether
	comma after modifier should be parsed.
	(resolve_omp_clauses): Diagnose schedule modifier restrictions.

	* c-c++-common/gomp/schedule-modifiers-1.c (bar): Separate modifier
	from kind with a colon rather than comma.
	* gfortran.dg/gomp/schedule-modifiers-1.f90: New test.
	* gfortran.dg/gomp/schedule-modifiers-2.f90: New test.

From-SVN: r265479
2018-10-25 09:56:55 +02:00
GCC Administrator 872324bed4 Daily bump.
From-SVN: r265478
2018-10-25 00:16:38 +00:00
Segher Boessenkool b8ac95761a combine: Don't do make_more_copies for dest PC (PR87720)
Jumps are written in RTL as moves to PC.  But the latter has no mode,
so we shouldn't try to use it.  Since the optimization this routine
does does not really help for jumps at all, let's just skip it.


	PR rtl-optimization/87720
	* combine.c (make_more_copies): Skip if the dest is pc_rtx.

From-SVN: r265474
2018-10-25 00:34:40 +02:00
Alexandre Oliva f8719680bf gOlogy: do not change code in isolate-paths for warnings only
The isolate-paths pass is activated by various -f flags, but also by
-Wnull-dereference.  Most of its codegen changes are conditioned on at
least one of the -f flags, but those that detect, warn about and
isolate paths that return the address of local variables are enabled
even if the pass is activated only by -Wnull-dereference.

-W flags should not cause codegen changes, so this patch makes the
codegen changes conditional on the presence of any of the -f flags
that activate the pass.  Should we have a separate option to activate
only this kind of transformation?

for  gcc/ChangeLog

	* gimple-ssa-isolate-paths.c
	(find_implicit_erroneous_behavior): Do not change code if the
	pass is running for warnings only.
	(find_explicit_erroneous_behavior): Likewise.

From-SVN: r265473
2018-10-24 21:55:39 +00:00
Michael Meissner f78f04627d rs6000.c (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Define as rs6000_mangle_decl_assembler_name.
[gcc]
2018-10-24  Michael Meissner  <meissner@linux.ibm.com>

	* config/rs6000/rs6000.c (TARGET_MANGLE_DECL_ASSEMBLER_NAME):
	Define as rs6000_mangle_decl_assembler_name.
	(rs6000_mangle_decl_assembler_name): If the user switched from IBM
	long double to IEEE long double, switch the names of the long
	double built-in functions to be <func>f128 instead of <func>l.

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

	* gcc.target/powerpc/float128-math.c: New test to make sure the
	long double built-in function names use the f128 form if the user
	switched from IBM long double to IEEE long double.
	* gcc.target/powerpc/ppc-fortran/ieee128-math.f90: Likewise.

From-SVN: r265471
2018-10-24 20:16:31 +00:00
Jakub Jelinek df51934dce re PR c++/86288 (Recognize __gnu and/or __gnu__ as attribute-namespace)
PR c++/86288
	* parser.c (cp_parser_std_attribute): Canonicalize attr_ns, and when
	:: is not present and attr_ns non-NULL, canonicalize also attr_id.
	(cp_parser_attribute_spec): Fix comment typo.

	* g++.dg/cpp0x/gen-attrs-66.C: New test.

From-SVN: r265470
2018-10-24 21:39:23 +02:00
Martin Sebor a703b16ba4 extend.texi (nonnull): List no-argument form.
gcc/ChangeLog:

	* doc/extend.texi (nonnull): List no-argument form.  Reference
	-fno-delete-null-pointer-checks and -fisolate-erroneous-paths-attribute.

From-SVN: r265469
2018-10-24 13:33:56 -06:00
Martin Sebor fd85b88869 PR c++/84851 - missing -Wclass-memaccess for a memcpy in a copy ctor with a non-trivial member
gcc/cp/ChangeLog:

	PR c++/84851
	* call.c (maybe_warn_class_memaccess): Tighten up.

gcc/testsuite/ChangeLog:

	PR c++/84851
	* g++.dg/Wclass-memaccess-4.C: Remove XFAIL.

From-SVN: r265467
2018-10-24 12:06:14 -06:00
Richard Biener 313c39912b tree-ssa-sccvn.c (do_rpo_vn): Free rpo_state.
2018-10-24  Richard Biener  <rguenther@suse.de>

	* tree-ssa-sccvn.c (do_rpo_vn): Free rpo_state.

From-SVN: r265465
2018-10-24 14:31:17 +00:00
William Schmidt 28d2dc757e emmintrin.h (_mm_cvtpd_epi32): Change deprecated __vector long to __vector long long.
2018-10-24  Bill Schmidt  <wschmidt@linux.ibm.com>
	    Jinsong Ji <jji@us.ibm.com>

	* config/rs6000/emmintrin.h (_mm_cvtpd_epi32): Change deprecated
	__vector long to __vector long long.
	(_mm_cvtpd_ps): Likewise.
	(_mm_cvttpd_epi32): Likewise.
	(_mm_cvtpi32_pd): Likewise.
	(_mm_unpackhi_epi64): Likewise.
	(_mm_unpacklo_epi64): Likewise.

From-SVN: r265464
2018-10-24 14:29:11 +00:00
Martin Liska 767d455188 Switch conversion: support any ax + b transformation (PR tree-optimization/84436).
2018-10-24  Martin Liska  <mliska@suse.cz>

	PR tree-optimization/84436
	* tree-switch-conversion.c (switch_conversion::contains_same_values_p):
	Remove.
	(switch_conversion::contains_linear_function_p): New.
	(switch_conversion::build_one_array): Support linear
	transformation on input.
	* tree-switch-conversion.h (struct switch_conversion): Add
	contains_linear_function_p declaration.
2018-10-24  Martin Liska  <mliska@suse.cz>

	PR tree-optimization/84436
	* gcc.dg/tree-ssa/pr84436-1.c: New test.
	* gcc.dg/tree-ssa/pr84436-2.c: New test.
	* gcc.dg/tree-ssa/pr84436-3.c: New test.
	* gcc.dg/tree-ssa/pr84436-4.c: New test.
	* gcc.dg/tree-ssa/pr84436-5.c: New test.

From-SVN: r265463
2018-10-24 13:52:21 +00:00