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 extern void abort (void);
11 struct bar
{ int count
; int *arr
;};
13 void foo (struct bar
*b
)
17 if (b
->count
== 0) /* b->count can't be assumed to be 0 here. */