------- Comment #12 from rguenth at gcc dot gnu dot org 2007-11-15 17:10 ------- Trivial testcase we get wrong with the current scheme:
int foo (int b, int c)
{
int x;
if (b)
return x & c;
else
return 1;
}
extern void abort (void);
int main()
{
if (foo(1, 0) != 0)
abort ();
return 0;
}
because we say that x & c is UNDEFINED (and so ignore its value in the
otherwise CONSTANT PHI).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34099
