Index: gcc/testsuite/gcc.target/arm/ivopts-3.c =================================================================== --- /dev/null (new file) +++ gcc/testsuite/gcc.target/arm/ivopts-3.c (revision 0) @@ -0,0 +1,20 @@ +/* { dg-do assemble } */ +/* { dg-options "-Os -mthumb -fdump-tree-ivopts -save-temps" } */ + +extern unsigned int foo2 (short*) __attribute__((pure)); + +unsigned int +tr3 (short array[], unsigned int n) +{ + unsigned sum = 0; + unsigned int x; + for (x = 0; x < n; x++) + sum += foo2 (&array[x]); + return sum; +} + +/* { dg-final { scan-tree-dump-times "PHI 0) + for (x = 0; x < n; x++) + sum += foo (&array[x]); + return sum; +} + +/* { dg-final { scan-tree-dump-times "PHI