Commit 3b805666 by Bill Schmidt Committed by William Schmidt

re PR tree-optimization/81162 (UBSAN switch triggers incorrect optimization in SLSR)

[gcc]

2016-07-14  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/81162
	* gimple-ssa-strength-reduction.c (replace_mult_candidate): Don't
	replace a negate with an add.

[gcc/testsuite]

2016-07-14  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/81162
	* gcc.dg/pr81162.c: New file.

From-SVN: r250212
parent bece580c
2016-07-14 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/81162
* gimple-ssa-strength-reduction.c (replace_mult_candidate): Don't
replace a negate with an add.
2017-07-14 James Greenhalgh <james.greenhalgh@arm.com>
* doc/invoke.texi (arm/-mcpu): Document +crypto.
......
......@@ -2082,13 +2082,14 @@ replace_mult_candidate (slsr_cand_t c, tree basis_name, widest_int bump)
types but allows for safe negation without twisted logic. */
if (wi::fits_shwi_p (bump)
&& bump.to_shwi () != HOST_WIDE_INT_MIN
/* It is not useful to replace casts, copies, or adds of
/* It is not useful to replace casts, copies, negates, or adds of
an SSA name and a constant. */
&& cand_code != SSA_NAME
&& !CONVERT_EXPR_CODE_P (cand_code)
&& cand_code != PLUS_EXPR
&& cand_code != POINTER_PLUS_EXPR
&& cand_code != MINUS_EXPR)
&& cand_code != MINUS_EXPR
&& cand_code != NEGATE_EXPR)
{
enum tree_code code = PLUS_EXPR;
tree bump_tree;
......
2016-07-14 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/81162
* gcc.dg/pr81162.c: New file.
2017-07-14 Martin Sebor <msebor@redhat.com>
* gcc.dg/tree-ssa/ssa-dse-30.c: Correct test to look for memmove
......
/* PR tree-optimization/81162 */
/* { dg-do run } */
/* { dg-options "-fsanitize=undefined -O2" } */
short s;
int i1 = 1;
int i2 = 1;
unsigned char uc = 147;
int main() {
s = (-uc + 2147483647) << 0;
if (9031239389974324562ULL >= (-((i1 && i2) + uc) ^ -21096) ) {
return 0;
} else {
return -1;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment