tree-optimization/97089 - fix bogus unsigned division replacement
This fixes bogus replacing of an unsigned (-x)/y division by -(x/y). 2020-09-18 Richard Biener <rguenther@suse.de> PR tree-optimization/97089 * tree-ssa-sccvn.c (visit_nary_op): Do not replace unsigned divisions.
This commit is contained in:
parent
080ddd8a81
commit
0f6150a5d3
@ -4824,8 +4824,11 @@ visit_nary_op (tree lhs, gassign *stmt)
|
||||
}
|
||||
}
|
||||
break;
|
||||
case RDIV_EXPR:
|
||||
case TRUNC_DIV_EXPR:
|
||||
if (TYPE_UNSIGNED (type))
|
||||
break;
|
||||
/* Fallthru. */
|
||||
case RDIV_EXPR:
|
||||
case MULT_EXPR:
|
||||
/* Match up ([-]a){/,*}([-])b with v=a{/,*}b, replacing it with -v. */
|
||||
if (! HONOR_SIGN_DEPENDENT_ROUNDING (type))
|
||||
|
Loading…
Reference in New Issue
Block a user