[Bug tree-optimization/27603] [4.1/4.2 Regression] wrong code, apparently due to bad VRP
rguenth at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sun May 14 17:56:00 GMT 2006
------- Comment #3 from rguenth at gcc dot gnu dot org 2006-05-14 17:56 -------
We fold (j == 3 || j == 4) to (unsigned)j - 3 <= 1, which VRP considers to be
always false.
void exit (int);
void abort (void);
int a;
int main()
{
int j;
for (j = 0; j < 6; j++)
{
if ((unsigned)j - 3 <= 1)
exit (0);
a = 1000 * (6 - j);
}
abort ();
}
somehow the false information is extracted from the multiplication expression.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27603
More information about the Gcc-bugs
mailing list