2 /* { dg-options "-O2" } */
4 /* Test derived from PR 14643. When a function has no addressable
5 variables but 2 or more pointers have conflicting memory tags, they
6 were not being processed by the type based alias analyzer,
7 resulting in optimizations removing a non-redundant load. */
9 struct bar { int count; int *arr;};
11 void foo (struct bar *b)
15 if (b->count == 0) /* b->count can't be assumed to be 0 here. */