re PR tree-optimization/80181 (ICE in set_lattice_value, at tree-ssa-ccp.c:505)
2017-03-27 Richard Biener <rguenther@suse.de> PR tree-optimization/80181 * tree-ssa-ccp.c (likely_value): UNDEFINED ^ X is UNDEFINED. * gcc.dg/torture/pr80181.c: New testcase. From-SVN: r246500
This commit is contained in:
parent
e5dcff3eb5
commit
819df78156
|
@ -1,3 +1,8 @@
|
|||
2017-03-27 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/80181
|
||||
* tree-ssa-ccp.c (likely_value): UNDEFINED ^ X is UNDEFINED.
|
||||
|
||||
2017-03-27 Claudiu Zissulescu <claziss@synopsys.com>
|
||||
|
||||
* config/arc/predicates.md (move_double_src_operand): Replace the
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2017-03-27 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/80181
|
||||
* gcc.dg/torture/pr80181.c: New testcase.
|
||||
|
||||
2017-03-27 Claudiu Zissulescu <claziss@synopsys.com>
|
||||
|
||||
* testsuite/gcc.target/arc/interrupt-4.c: New file.
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
/* { dg-do compile } */
|
||||
|
||||
int
|
||||
nr (void)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
it (int dl)
|
||||
{
|
||||
int vp = 0;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
dl = vp ^ nr ();
|
||||
dl ^= vp;
|
||||
vp = 1;
|
||||
}
|
||||
}
|
|
@ -741,9 +741,11 @@ likely_value (gimple *stmt)
|
|||
case PLUS_EXPR:
|
||||
case MINUS_EXPR:
|
||||
case POINTER_PLUS_EXPR:
|
||||
case BIT_XOR_EXPR:
|
||||
/* Not MIN_EXPR, MAX_EXPR. One VARYING operand may be selected.
|
||||
Not bitwise operators, one VARYING operand may specify the
|
||||
result completely. Not logical operators for the same reason.
|
||||
result completely.
|
||||
Not logical operators for the same reason, apart from XOR.
|
||||
Not COMPLEX_EXPR as one VARYING operand makes the result partly
|
||||
not UNDEFINED. Not *DIV_EXPR, comparisons and shifts because
|
||||
the undefined operand may be promoted. */
|
||||
|
|
Loading…
Reference in New Issue