+++ /dev/null
-/* This testcase failed at -O2 on IA-64, because scheduling did not take
- into account conditional execution when using cselib for alias
- analysis. */
-
-struct D { int d1; struct D *d2; };
-struct C { struct D c1; long c2, c3, c4, c5, c6; };
-struct A { struct A *a1; struct C *a2; };
-struct B { struct C b1; struct A *b2; };
-
-extern void abort (void);
-extern void exit (int);
-
-void
-foo (struct B *x, struct B *y)
-{
- if (x->b2 == 0)
- {
- struct A *a;
-
- x->b2 = a = y->b2;
- y->b2 = 0;
- for (; a; a = a->a1)
- a->a2 = &x->b1;
- }
-
- if (y->b2 != 0)
- abort ();
-
- if (x->b1.c3 == -1)
- {
- x->b1.c3 = y->b1.c3;
- x->b1.c4 = y->b1.c4;
- y->b1.c3 = -1;
- y->b1.c4 = 0;
- }
-
- if (y->b1.c3 != -1)
- abort ();
-}
-
-struct B x, y;
-
-int main ()
-{
- y.b1.c1.d1 = 6;
- y.b1.c3 = 145;
- y.b1.c4 = 2448;
- x.b1.c3 = -1;
- foo (&x, &y);
- exit (0);
-}