Eric Christopher | 0bbe4b1 | 2011-07-28 00:11:03 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -triple x86_64-apple-darwin -Os -S -g -o - %s | FileCheck %s |
Devang Patel | 070c215 | 2011-07-05 21:48:46 +0000 | [diff] [blame] | 2 | |
| 3 | int calculate(int); |
| 4 | static void test_indvars(int *Array1, int Array2[100][200]) { |
| 5 | unsigned i, j; |
| 6 | Array1[1] = Array2[3][6] = 12345; |
| 7 | |
| 8 | for (i = 0; i < 100; i+=2) |
| 9 | Array1[i] = i; /* Step by non unit amount */ |
| 10 | |
| 11 | for (i = 3; i < 103; i++) |
| 12 | Array1[i] = i+4; /* Step with an offset */ |
| 13 | |
| 14 | for (i = 13; i < 100; i++) |
| 15 | for (j = 0; j < 100; j+=3) /* 2d array access */ |
| 16 | Array2[i][j/3] = Array2[i][i]; |
Eric Christopher | 0bbe4b1 | 2011-07-28 00:11:03 +0000 | [diff] [blame] | 17 | } |
Devang Patel | 070c215 | 2011-07-05 21:48:46 +0000 | [diff] [blame] | 18 | |
| 19 | |
| 20 | int main() { |
| 21 | int Array[100][200], i, j; |
| 22 | double sum = 0.0; |
Eric Christopher | 0bbe4b1 | 2011-07-28 00:11:03 +0000 | [diff] [blame] | 23 | |
Devang Patel | 070c215 | 2011-07-05 21:48:46 +0000 | [diff] [blame] | 24 | for (i=0; i < 100; i+=2) |
| 25 | for (j=0; j < 200; j++) |
| 26 | Array[i][j] = 0; |
| 27 | test_indvars(Array[0], Array); |
| 28 | |
Devang Patel | 478b94b | 2011-07-18 22:18:04 +0000 | [diff] [blame] | 29 | //CHECK: .loc 2 30 8 |
Devang Patel | 070c215 | 2011-07-05 21:48:46 +0000 | [diff] [blame] | 30 | for (i=0; i < 100; i+=2) |
| 31 | for (j=0; j < 200; j++) |
| 32 | sum += Array[i][j]; |
Eric Christopher | 0bbe4b1 | 2011-07-28 00:11:03 +0000 | [diff] [blame] | 33 | |
Devang Patel | 070c215 | 2011-07-05 21:48:46 +0000 | [diff] [blame] | 34 | return calculate(sum); |
| 35 | } |