Commit Graph

168378 Commits

Author SHA1 Message Date
Richard Biener
8964432ad6 re PR tree-optimization/89653 (Missing vectorization of loop containing std::min/std::max and temporary)
2019-05-02  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/89653
	* tree-ssa-loop.c (pass_data_tree_loop_init): Execute
	update-address-taken before the pass.
	* passes.def (pass_tree_loop_init): Put comment before it.

	* g++.dg/vect/pr89653.cc: New testcase.

From-SVN: r270800
2019-05-02 14:08:08 +00:00
Richard Biener
420ee75d7d re PR tree-optimization/89509 (restrict doesnt work with subfield accesses)
2019-05-02  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/89509
	* tree-ssa-structalias.c (compute_dependence_clique): Look
	at the first subvar when determining whether it is restrict.

	* gcc.dg/torture/restrict-8.c: New testcase.

From-SVN: r270799
2019-05-02 14:05:27 +00:00
Richard Biener
5fe6af6dcf re PR lto/85574 (LTO bootstapped binaries differ)
2019-05-02  Richard Biener  <rguenther@suse.de>

	PR bootstrap/85574
	* Makefile.tpl (compare target): Also compare extra-compare
	files.
	* Makefile.in: Regenerate.

	config/
	* bootstrap-lto.mk (extra-compare): Set to gcc/lto1$(exeext).

From-SVN: r270798
2019-05-02 13:58:47 +00:00
Iain Sandoe
0b76886269 darwin - fix a failing test
An inflexible regex caused these tests to regress.

2019-05-02  Iain Sandoe  <iain@sandoe.co.uk>

	* gcc.dg/tree-prof/section-attr-1.c: Update scan-asm regex
	for cold section label.
	* gcc.dg/tree-prof/section-attr-2.c: Likewise.
	* gcc.dg/tree-prof/section-attr-3.c: Likewise.

From-SVN: r270797
2019-05-02 13:44:17 +00:00
Rainer Orth
eca1a60b62 Restrict gcc.target/i386/spellcheck-options-5.c to Linux targets
* gcc.target/i386/spellcheck-options-5.c: Restrict to Linux and
	GNU targets.

From-SVN: r270795
2019-05-02 13:31:04 +00:00
Jakub Jelinek
5cf393b236 Makefile.am (gfor_cdir): Remove $(MULTISUBDIR).
* Makefile.am (gfor_cdir): Remove $(MULTISUBDIR).
	* Makefile.in: Regenerated.

From-SVN: r270793
2019-05-02 15:02:27 +02:00
Nathan Sidwell
c2aa34b5a9 [C++ PATCH] remove unreachable code
https://gcc.gnu.org/ml/gcc-patches/2019-05/msg00039.html
	* semantics.c (finish_id_expression_1): Remove unreachable code.

From-SVN: r270792
2019-05-02 12:42:32 +00:00
Richard Biener
c27998546a re PR tree-optimization/90273 (GCC runs out of memory building Firefox)
2019-05-02  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/90273
	* tree-ssa-dce.c (eliminate_unnecessary_stmts): Eliminate
	useless debug stmts.

From-SVN: r270791
2019-05-02 11:17:00 +00:00
Alejandro Martinez
9feeafd7f9 [Aarch64][SVE] Dot product support
This patch does two things. For the general vectoriser, it adds support to
perform fully masked reductions over expressions that don't support masking.
This is achieved by using VEC_COND_EXPR where possible.  At the moment this is
implemented for DOT_PROD_EXPR only, but the framework is there to extend it to
other expressions.

Related to that, this patch adds support to vectorize dot product using SVE.  It
also uses the new functionality to ensure that the resulting loop is masked.

Given this input code:

uint32_t
dotprod (uint8_t *restrict x, uint8_t *restrict y, int n)
{
  uint32_t sum = 0;

  for (int i = 0; i < n; i++)
    {
      sum += x[i] * y[i];
    }

  return sum;
}

The resulting SVE code is:

0000000000000000 <dotprod>:
   0:	7100005f 	cmp	w2, #0x0
   4:	5400024d 	b.le	4c <dotprod+0x4c>
   8:	d2800003 	mov	x3, #0x0                   	// #0
   c:	93407c42 	sxtw	x2, w2
  10:	2538c001 	mov	z1.b, #0
  14:	25221fe0 	whilelo	p0.b, xzr, x2
  18:	2538c003 	mov	z3.b, #0
  1c:	d503201f 	nop
  20:	a4034002 	ld1b	{z2.b}, p0/z, [x0, x3]
  24:	a4034020 	ld1b	{z0.b}, p0/z, [x1, x3]
  28:	0430e3e3 	incb	x3
  2c:	0523c000 	sel	z0.b, p0, z0.b, z3.b
  30:	25221c60 	whilelo	p0.b, x3, x2
  34:	44820401 	udot	z1.s, z0.b, z2.b
  38:	54ffff41 	b.ne	20 <dotprod+0x20>  // b.any
  3c:	2598e3e0 	ptrue	p0.s
  40:	04812021 	uaddv	d1, p0, z1.s
  44:	1e260020 	fmov	w0, s1
  48:	d65f03c0 	ret
  4c:	1e2703e1 	fmov	s1, wzr
  50:	1e260020 	fmov	w0, s1
  54:	d65f03c0 	ret

Notice how udot is used inside a fully masked loop.

I tested this patch in an aarch64 machine bootstrapping the compiler and
running the checks.
gcc/Changelog:

2019-05-02  Alejandro Martinez  <alejandro.martinezvicente@arm.com>

	* config/aarch64/aarch64-sve.md (<sur>dot_prod<vsi2qi>): Taken from SVE
	ACLE branch.
	* config/aarch64/iterators.md: Copied Vetype_fourth, VSI2QI and vsi2qi from
	SVE ACLE branch.
	* tree-vect-loop.c (use_mask_by_cond_expr_p): New function to check if a
	VEC_COND_EXPR be inserted to emulate a conditional internal function.
	(build_vect_cond_expr): Emit the VEC_COND_EXPR.
	(vectorizable_reduction): Use the functions above to vectorize in a
	fully masked loop codes that don't have a conditional internal
	function.

gcc/testsuite/Changelog:
 
2019-05-02  Alejandro Martinez  <alejandro.martinezvicente@arm.com>

	* gcc.target/aarch64/sve/dot_1.c: New test for dot product.

From-SVN: r270790
2019-05-02 09:58:00 +00:00
Martin Liska
cc2a672a60 Enhance target and target_clone error messages.
2019-05-02  Martin Liska  <mliska@suse.cz>

	* cgraphclones.c: Call valid_attribute_p with 1 for
	target_clone.
	* config/i386/i386-c.c (ix86_pragma_target_parse): Use 0 as
	it's for target attribute.
	* config/i386/i386-protos.h (ix86_valid_target_attribute_tree):
	Add new boolean argument.
	* config/i386/i386.c (ix86_valid_target_attribute_inner_p):
	Likewise.
	(ix86_valid_target_attribute_tree): Pass target_clone_attr
	to ix86_valid_target_attribute_inner_p.
	(ix86_valid_target_attribute_p): Pass flags argument to
	ix86_valid_target_attribute_inner_p.
	(get_builtin_code_for_version): Use 0 as it's target attribute.
2019-05-02  Martin Liska  <mliska@suse.cz>

	* gcc.target/i386/funcspec-4.c: Update scanned pattern.
	* g++.target/i386/pr57362.C: Likewise.

From-SVN: r270789
2019-05-02 08:43:25 +00:00
Martin Liska
2dcfc8722b Postpone print of --help=* option.
2019-05-02  Martin Liska  <mliska@suse.cz>

	* gcc.c (process_command): Add dummy file only
	if n_infiles == 0.
	* opts-global.c (decode_options): Pass lang_mask.
	* opts.c (print_help): New function.
	(finish_options): Print --help if help_option_argument
	is set.
	(common_handle_option): Factor out content of OPT__help_
	into print_help.
	* opts.h (finish_options): Add new argument.

From-SVN: r270788
2019-05-02 08:16:12 +00:00
Martin Liska
786e0e5239 Prefer to use strlen call instead of inline expansion (PR target/88809).
2019-05-02  Martin Liska  <mliska@suse.cz>

	PR target/88809
	* config/i386/i386.c (ix86_expand_strlen): Use strlen call.
	With -minline-all-stringops use inline expansion using 4B loop.
	* doc/invoke.texi: Document the change of
	-minline-all-stringops.
2019-05-02  Martin Liska  <mliska@suse.cz>

	PR target/88809
	* gcc.target/i386/pr88809.c: New test.
	* gcc.target/i386/pr88809-2.c: New test.

From-SVN: r270787
2019-05-02 07:57:38 +00:00
GCC Administrator
06ceaa1d78 Daily bump.
From-SVN: r270786
2019-05-02 00:16:20 +00:00
Ian Lance Taylor
58dbd45339 compiler: recognize and optimize map range clear
Recognize
    
            for k := range m { delete(m, k) }
    
    for map m, and rewrite it to runtime.mapclear, as the gc compiler
    does.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/169397

From-SVN: r270780
2019-05-01 21:37:00 +00:00
Ian Lance Taylor
5e87c2806f compiler,runtime: do more direct interfaces
A direct interface is an interface whose data word contains the
    actual data value, instead of a pointer to it. The gc toolchain
    creates a direct interface if the value is pointer shaped, that
    includes pointers (including unsafe.Pointer), functions, channels,
    maps, and structs and arrays containing a single pointer-shaped
    field. In gccgo, we only do this for pointers. This CL unifies
    direct interface types with gc. This reduces allocations when
    converting such types to interfaces.
    
    Our method functions used to always take pointer receivers, to
    make interface calls easy. Now for direct interface types, their
    value methods will take value receivers. For a pointer to those
    types, when converted to interface, the interface data contains
    the pointer. For that interface to call a value method, it will
    need a wrapper method that dereference the pointer and invokes
    the value method. The wrapper method, instead of the actual one,
    is put into the itable of the pointer type.
    
    In the runtime, adjust funcPC for the new layout of interfaces of
    functions.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/168409

From-SVN: r270779
2019-05-01 21:34:16 +00:00
Ian Lance Taylor
1da37f43b2 runtime: persistentalloc and cache itabs
Previously, each time we do an interface conversion for which the
    method table is not known at compile time, we allocate a new
    method table.
    
    This CL ports the mechanism of itab caching from the gc runtime,
    adapted to our itab representation and method finding mechanism.
    With the cache, we reuse the same itab for the same (interface,
    concrete) type pair. This reduces allocations in interface
    conversions.
    
    Unlike the gc runtime, we don't prepopulate the cache with
    statically allocated itabs, as currently we don't have a way to
    find them. This means we don't deduplicate run-time allocated
    itabs with compile-time allocated ones. But that is not too bad
    -- it is just a cache anyway.
    
    As now itabs are never freed, it is also possible to drop the
    write barrier for writing the first word of an interface header.
    I'll leave this optimization for the future.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/171617

From-SVN: r270778
2019-05-01 20:27:36 +00:00
Andrew Benson
9f3a481e08 module.c (write_module): Initialize module_column before writing module to ensure line break occurs at...
* module.c (write_module): Initialize module_column before writing
module to ensure line break occurs at correct column

From-SVN: r270777
2019-05-01 19:47:51 +00:00
Dominique d'Humieres
db9c372941 re PR fortran/60144 (Misleading error message when missing "then" after "if" and "else if")
2019-05-01 Dominique d'Humieres  <dominiq@gcc.gnu.org>

	PR fortran/60144
	* match.c (gfc_match_parens): Change the location for missing ')'.
	(gfc_match_if): Detect a missing '('. Remove the spurious named
	constant error. Change the wording of some errors.
	(gfc_match_else): Change the wording of an error.
	(gfc_match_elseif): Detect a missing '('. Improve the matching
	process to get a better syntax analysis.

	PR fortran/60144
	* gfortran.dg/block_name_2.f90: Adjust dg-error.
	* gfortran.dg/dec_type_print_3.f90.f90: Likewise
	* gfortran.dg/pr60144.f90: New test.

From-SVN: r270776
2019-05-01 19:40:22 +02:00
Jeff Law
d364053442 re PR tree-optimization/88797 (Unneeded branch added when function is inlined (function runs faster if not inlined))
PR tree-optimization/88797
	* gimple-ssa-split-paths (is_feasible_trace): Reject cases where the
	PHI feeds a conditional on the RHS of an assignment.

	PR tree-optimization/88797
	* g++.dg/tree-ssa/pr88797.C: New test.

From-SVN: r270775
2019-05-01 11:33:32 -06:00
Rainer Orth
7ee7c29355 Update Solaris baselines for GCC 9.1
* config/abi/post/i386-solaris2.10/baseline_symbols.txt: Regenerate.
	* config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: Likewise.
	* config/abi/post/i386-solaris2.11/baseline_symbols.txt: Likewise.
	* config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: Likewise.
	* config/abi/post/sparc-solaris2.10/baseline_symbols.txt: Likewise.
	* config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt:
	Likewise.
	* config/abi/post/sparc-solaris2.11/baseline_symbols.txt: Likewise.
	* config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt:
	Likewise.

From-SVN: r270773
2019-05-01 16:14:30 +00:00
Nathan Sidwell
9a54a0d916 [C++ PATCH] Simplify class member lookup
https://gcc.gnu.org/ml/gcc-patches/2019-05/msg00004.html
	gcc/cp/
	* name-lookup.h (get_class_binding_direct): Change final arg to
	bool.
	(get_class_binding): Likewise.
	* name-lookup.c (get_class_binding_direct): Replace TYPE_OR_FNS
	arg with WANT_TYPE bool.  Simplify.
	(get_class_binding): Adjust final arg.
	* decl.c (reshape_init_class): Adjust get_class_binding calls.

	gcc/testsuite/
	* g++.dg/cpp0x/decltype9.C: Adjust expected diagnostics.

From-SVN: r270765
2019-05-01 11:38:54 +00:00
Andrew Waterman
243dd48646 RISC-V: Update last ChangeLog entry to mention Andrew Waterman.
From-SVN: r270764
2019-04-30 21:45:34 -07:00
GCC Administrator
fc2749e5fd Daily bump.
From-SVN: r270763
2019-05-01 00:16:14 +00:00
Jonathan Wakely
4f75543dc4 PR libstdc++/61761 fix std::proj for targets without C99 cproj
The current generic implementation of __complex_proj used when cproj is
not available calculates the wrong projection, giving a different result
than given by C99's cproj.

When C99 cproj is not available but isinf and copysign are, use those to
give correct results for float, double and long double. Otherwise, and
for other specializations of std::complex, just use a generic version
that returns its argument, and so doesn't support infinities.

We might want to consider adding additional overloads of __complex_proj
to support extended types such as _Float64x, _Float128 etc.

	PR libstdc++/61761
	* include/std/complex (__complex_proj): Return parameter unchanged.
	[_GLIBCXX_USE_C99_COMPLEX] (__complex_proj): Change overloads for
	floating-point types to take std::complex arguments.
	[_GLIBCXX_USE_C99_MATH_TR1] (__complex_proj): Add overloads for
	floating-point types.
	* testsuite/26_numerics/complex/proj.cc: New test.

From-SVN: r270759
2019-05-01 01:08:36 +01:00
Andrew Waterman
4f47539144 RISC-V: Short-forward-branch opt for SiFive 7 series cores.
gcc/
	* config/riscv/constraints.md (L): New.
	* config/riscv/predicates.md (lui_operand): New.
	(sfb_alu_operand): New.
	* config/riscv/riscv-protos.h (riscv_expand_conditional_move): Declare.
	* config/riscv/riscv.c (riscv_expand_conditional_move): New.
	* config/riscv/riscv.h (TARGET_SFB_ALU): New.
	* config/riscv/risc.md (type): Add sfb_alu.
	(branch<mode>): Renamed from branch_order<mode>.  Change predicate for
	operand 3 to reg_or_0_operand.  In output string, change %3 to %z3.
	(branch_zero<mode>): Delete.
	(mov<mode>cc): New.
	(mov<GPR:mode><X:mode>cc): Likewise.
	* config/riscv/sifive-7.md (sifive_7_sfb_alu): New.  Use in bypasses.

From-SVN: r270758
2019-04-30 16:45:36 -07:00
Nathan Sidwell
598f50d789 [GC PATCH] Correct TS marking of _EXPR nodes
https://gcc.gnu.org/ml/gcc-patches/2019-04/msg01266.html
	gcc/
	* tree.h (MARK_TS_EXP): New.

	gcc/c-family/
	* c-common.c (c_common_init_ts): Use MARK_TS_EXP.  Mark SIZEOF_EXPR.

	gcc/cp/
	* cp-objcp-common.c (cp_common_init_ts): Use MARK_TS_EXP for _EXPR
	nodes.  Call c_common_init_ts.

From-SVN: r270711
2019-04-30 20:23:45 +00:00
Joseph Myers
41003284ed * de.po: Update.
From-SVN: r270709
2019-04-30 20:57:37 +01:00
Jakub Jelinek
7248a6309c re PR target/89093 (C++ exception handling clobbers d8 VFP register)
PR target/89093
	* gcc.target/aarch64/return_address_sign_3.c: Remove extra space in
	target attribute.

From-SVN: r270705
2019-04-30 18:30:44 +02:00
Roland Illig
aaae53ce02 * check-internal-format-escaping.py: New version using polib.
From-SVN: r270704
2019-04-30 10:14:40 -06:00
Giuliano Belinassi
7df9425167 sinhatanh-2.c: Count the number of functions.
* gcc.dg/sinhatanh-2.c: Count the number of functions.
	* gcc.dg/sinhatanh-3.c: Likewise.

From-SVN: r270703
2019-04-30 09:06:31 -06:00
Ben L
6c8dbbfe5c d-demangle.c (dlang_parse_assocarray): Correctly handle error result.
* d-demangle.c (dlang_parse_assocarray): Correctly handle error result.
     * testsuite/d-demangle-expected: Add testcase.

From-SVN: r270700
2019-04-30 08:39:14 -06:00
Ben L
f181b8e780 d-demangle.c (dlang_parse_tuple): Correctly handle error result.
* d-demangle.c (dlang_parse_tuple): Correctly handle error result.
     * testsuite/d-demangle-expected: Add testcase.

From-SVN: r270699
2019-04-30 08:37:51 -06:00
Ben L
dba20a5140 d-demangle.c (dlang_parse_structlit): Correctly handle error result.
* d-demangle.c (dlang_parse_structlit): Correctly handle error result.
    * testsuite/d-demangle-expected: Add testcase.

From-SVN: r270698
2019-04-30 08:36:24 -06:00
Ben L
80b1ab1579 d-demangle.c (dlang_parse_arrayliteral): Correctly handle error result.
* d-demangle.c (dlang_parse_arrayliteral): Correctly handle error result.
    * testsuite/d-demangle-expected: Add testcase.

From-SVN: r270697
2019-04-30 08:34:52 -06:00
Ben L
81adfd10c9 d-demangle.c (dlang_parse_integer): Fix stack underflow.
* d-demangle.c (dlang_parse_integer): Fix stack underflow.
     * testsuite/d-demangle-expected: Add testcase.

From-SVN: r270696
2019-04-30 08:32:38 -06:00
Ben L
80024f3180 cp-demangle (d_print_comp_inner): Guard against a NULL 'typed_name'.
* cp-demangle (d_print_comp_inner): Guard against a NULL 'typed_name'.
    * testsuite/demangle-expected: Add testcase.

From-SVN: r270695
2019-04-30 08:22:41 -06:00
Ben L
927e42fd52 cp-demangle.c (d_encoding): Guard against NULL return values from d_right (dc).
* cp-demangle.c (d_encoding): Guard against NULL return values from
     d_right (dc).
     * testsuite/demangle-expected: Add testcase.

From-SVN: r270694
2019-04-30 08:20:11 -06:00
Martin Liska
5bcc5a3b28 Add option suggestion for -Werror=foo and corresponding pragma.
2019-04-30  Martin Liska  <mliska@suse.cz>

	* opts.c (enable_warning_as_error): Provide hints
	for unknown options.
2019-04-30  Martin Liska  <mliska@suse.cz>

	* c-pragma.c (handle_pragma_diagnostic): Provide hints
	for unknown options.
2019-04-30  Martin Liska  <mliska@suse.cz>

	* gcc.dg/Werror-13.c: Add new tests for it.
	* gcc.dg/pragma-diag-6.c: Likewise.

From-SVN: r270693
2019-04-30 13:50:24 +00:00
Martin Liska
44bf474307 Add missing dash for 2 options in documentation (PR debug/90288).
2019-04-30  Martin Liska  <mliska@suse.cz>

	PR debug/90288
	* doc/invoke.texi: Add missing dash for gas-locview-support
	and gno-as-locview-support.

From-SVN: r270692
2019-04-30 13:31:22 +00:00
Jakub Jelinek
b174ca9bb7 Remove unintended part of r270680 commit.
From-SVN: r270691
2019-04-30 14:11:18 +02:00
Jakub Jelinek
d7b0896b23 re PR target/89093 (C++ exception handling clobbers d8 VFP register)
PR target/89093
	* config/aarch64/aarch64.c (aarch64_process_one_target_attr): Don't skip
	whitespace at the start of target attribute string.

	* gcc.target/aarch64/pr89093.c: New test.
	* gcc.target/aarch64/pr63304_1.c: Remove space from target string.

From-SVN: r270690
2019-04-30 14:07:27 +02:00
Jakub Jelinek
9e3501f765 gnu.ver (GLIBCXX_3.4.26): Change _Lock_policyE2 exports to _Lock_policyE[012].
* config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Change _Lock_policyE2 exports
	to _Lock_policyE[012].
	* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.

From-SVN: r270687
2019-04-30 13:40:28 +02:00
Ramana Radhakrishnan
abb3c64e76 [Patch AArch64] Add __ARM_FEATURE_ATOMICS
This keeps coming up repeatedly and the ACLE has finally added
__ARM_FEATURE_ATOMICS for the LSE feature in GCC. This is now part of
the latest ACLE release
(https://developer.arm.com/docs/101028/latest/5-feature-test-macros)

I know it's late for GCC-9 but this is a simple macro which need not
wait  for another year.

Ok for trunk and to backport to all release branches ?

Tested with a simple build and a smoke test.

PR target/86538
* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define
__ARM_FEATURE_ATOMICS

From-SVN: r270686
2019-04-30 11:22:11 +00:00
Jonathan Wakely
95767c6597 Fix filesystem::path tests
The root_path.cc test had some debugging macros left in accidentally, so
didn't FAIL correctly if an assertion failed.

The string-char8_t.cc tests didn't compile on Windows.

	* testsuite/27_io/filesystem/path/decompose/root_path.cc: Remove
	macros accidentally left in.
	* testsuite/27_io/filesystem/path/native/string-char8_t.cc: Remove
	unnecessary -lstdc++fs option. Fix test for mingw.
	* testsuite/experimental/filesystem/path/native/string-char8_t.cc:
	Fix test for mingw.

From-SVN: r270685
2019-04-30 11:39:59 +01:00
Martin Liska
0d67a51060 Refactor gimple_fold_builtin_memory_op function.
2019-04-30  Martin Liska  <mliska@suse.cz>

	* gimple-fold.c (gimple_fold_builtin_memory_op): Change endp
	into built_in_function enum. Remove code for endp == 2 and
	use BUILT_IN_* constants.
	(gimple_fold_builtin): Call the function with fcode.

From-SVN: r270682
2019-04-30 09:19:41 +00:00
Martin Liska
791536baad Fix -Wenum-compare-switch warning in i386.c.
2019-04-30  Martin Liska  <mliska@suse.cz>

	* config/i386/i386.c (ix86_builtin_reciprocal): Cast
	DECL_FUNCTION_CODE into ix86_builtins enum before
	the switch statement.

From-SVN: r270681
2019-04-30 09:16:36 +00:00
Jakub Jelinek
ae8f39886b re PR tree-optimization/89475 (Teach ccp about __builtin_bswap{16,32,64})
PR tree-optimization/89475
	* tree-ssa-ccp.c (evaluate_stmt): Handle BUILT_IN_BSWAP{16,32,64}
	calls.

	* gcc.dg/tree-ssa/pr89475.c: New test.

From-SVN: r270680
2019-04-30 11:07:28 +02:00
Jakub Jelinek
379637d5e2 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
From-SVN: r270678
2019-04-30 10:55:12 +02:00
Martin Liska
3f58b66d6b Wrap a string with _ for translation (PR translation/90274).
2019-04-30  Martin Liska  <mliska@suse.cz>

	PR translation/90274
	* opts.c (print_filtered_help): Wrap string in _(...).

From-SVN: r270675
2019-04-30 08:33:29 +00:00
Bin Cheng
8c3ce59e2b re PR tree-optimization/90240 (ICE in try_improve_iv_set, at tree-ssa-loop-ivopts.c:6694)
PR tree-optimization/90240
	Revert:
	2019-04-23  Bin Cheng  <bin.cheng@linux.alibaba.com>

	PR tree-optimization/90078
	* tree-ssa-loop-ivopts.c (comp_cost::operator +,-,+=,-+,/=,*=): Add
	checks for infinite_cost overflow.

	* gcc/testsuite/g++.dg/tree-ssa/pr90078.C: New test.

From-SVN: r270673
2019-04-30 03:00:59 +00:00