| /* { dg-do compile } */ |
| /* { dg-options "-O2 -fdump-tree-ivcanon-details" } */ |
| |
| void foo2 (unsigned int num, int *a) |
| { |
| unsigned int i, n = (num - (num % 2)); |
| |
| for(i = 0; i != n; i += 2) |
| a[i] = 0; |
| } |
| |
| void foo3 (unsigned int num, int *a) |
| { |
| unsigned int i, n = (num - (num % 3)); |
| |
| for(i = 0; i != n; i += 3) |
| a[i] = 0; |
| } |
| |
| void foo4 (unsigned int num, int *a) |
| { |
| unsigned int i, n = (num - (num % 4)); |
| |
| for(i = 0; i != n; i += 4) |
| a[i] = 0; |
| } |
| |
| void foo5 (unsigned int num, int *a) |
| { |
| unsigned int i, n = (num - (num % 5)); |
| |
| for(i = 0; i != n; i += 5) |
| a[i] = 0; |
| } |
| |
| /* { dg-final { scan-tree-dump-not "under assumptions " "ivcanon" } } */ |