[Bug tree-optimization/42117] VRP should do if-conversion
rguenth at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Fri Nov 20 13:12:00 GMT 2009
------- Comment #1 from rguenth at gcc dot gnu dot org 2009-11-20 13:12 -------
Confirmed. We do see
x_2: [0, 1] EQUIVALENCES: { x_3(D) } (1 elements)
y_11: [0, 1] EQUIVALENCES: { y_5(D) } (1 elements)
but have no code that actually makes use of this information in
<bb 4>:
if (x_3(D) != 0)
goto <bb 5>;
else
goto <bb 6>;
<bb 5>:
if (y_5(D) != 0)
goto <bb 7>;
else
goto <bb 6>;
<bb 6>:
<bb 7>:
# D.2047_1 = PHI <0(6), -1(3), -1(2), 1(5)>
return D.2047_1;
which we want to if-convert to
<bb 4>:
tmp = x_3 & y_5;
<bb 7>:
# D.2047_1 = PHI <tmp(4), -1(3), -1(2)>
but there is no code in VRP that does if-conversion.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |enhancement
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2009-11-20 13:12:34
date| |
Summary|VRP fails to get rid of |VRP should do if-conversion
|compares |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42117
More information about the Gcc-bugs
mailing list