1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-fre1" } */
3 
4 struct s { int x; };
5 struct t { int x; };
6 
swap(struct s * p,struct t * q)7 void swap(struct s* p, struct t* q)
8 {
9   p->x = q->x;
10   q->x = p->x;
11 }
12 
13 /* The second statement is redundant.  */
14 /* { dg-final { scan-tree-dump-times "x = " 1 "fre1" } } */
15 /* { dg-final { scan-tree-dump-times " = \[^;\]*x;" 1 "fre1" } } */
16