1 /* { dg-do compile } */ 2 /* { dg-options "-Os -fdump-tree-optimized" } */ 3 struct a {int a,b,c,d,e,f;}; 4 5 void do_something (struct a *); 6 7 void do_inc(struct a * a)8do_inc (struct a *a) 9 { 10 a->a=a->b; 11 a->b=a->c; 12 a->c=a->d; 13 a->e=a->f; 14 } 15 16 void test(struct a * a)17test(struct a *a) 18 { 19 do_inc (a); 20 do_something (a); 21 do_inc (a); 22 do_something (a); 23 do_inc (a); 24 do_something (a); 25 do_inc (a); 26 do_something (a); 27 do_inc (a); 28 do_something (a); 29 do_inc (a); 30 do_something (a); 31 do_inc (a); 32 do_something (a); 33 do_inc (a); 34 do_something (a); 35 do_inc (a); 36 do_something (a); 37 } 38 /* { dg-final { scan-tree-dump-times "do_inc" 12 "optimized" } } */ 39