1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
/* { 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\]" } } */