| /* { dg-do compile } */ | |
| /* { dg-options "-O2 -fdump-tree-lim-details" } */ | |
| int r[6]; | |
| void f (int n) | |
| { | |
| while (-- n) | |
| { | |
| r [0] += r [5]; | |
| r [1] += r [0]; | |
| r [2] += r [1]; | |
| r [3] += r [2]; | |
| r [4] += r [3]; | |
| r [5] += r [4]; | |
| } | |
| } | |
| /* { dg-final { scan-tree-dump-times "Executing store motion of r" 6 "lim1" } } */ | |
| /* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */ |