| /* { dg-do compile } */ | |
| /* { dg-require-effective-target store_merge } */ | |
| /* { dg-options "-O2 -fdump-tree-store-merging" } */ | |
| struct bar { | |
| int a; | |
| char b; | |
| char c; | |
| char d; | |
| char e; | |
| char f; | |
| char g; | |
| }; | |
| void | |
| foo1 (struct bar *p) | |
| { | |
| p->b = 0; | |
| p->a = 0; | |
| p->c = 0; | |
| p->d = 0; | |
| p->e = 0; | |
| } | |
| void | |
| foo2 (struct bar *p) | |
| { | |
| p->b = 0; | |
| p->a = 0; | |
| p->c = 1; | |
| p->d = 0; | |
| p->e = 0; | |
| } | |
| /* { dg-final { scan-tree-dump-times "Merging successful" 2 "store-merging" } } */ |