1 /* { dg-do compile } */
2 /* { dg-options "-O2 -ftree-tail-merge -fdump-tree-pre" } */
21 struct head
*head
= &heads
[2];
30 node
.prev
= (void *)head
;
34 struct node
*n
= head
->first
;
36 struct head
*h
= &heads
[k
];
38 heads
[2].first
= n
->next
;
40 if ((void*)n
->prev
== (void *)h
)
43 /* Dead tbaa-unsafe load from ((struct node *)&heads[2])->next. */
46 return !(p
== (void*)0);
49 /* { dg-final { scan-tree-dump-not "Removing basic block" "pre"} } */
50 /* { dg-final { cleanup-tree-dump "pre" } } */