blob: 1d9bf32c2cdac8d590abf31b5f149a8bb1370db8 [file] [log] [blame]
Eric Christopher0bbe4b12011-07-28 00:11:03 +00001// RUN: %clang_cc1 -triple x86_64-apple-darwin -Os -S -g -o - %s | FileCheck %s
Devang Patel070c2152011-07-05 21:48:46 +00002
3int calculate(int);
4static 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 Christopher0bbe4b12011-07-28 00:11:03 +000017}
Devang Patel070c2152011-07-05 21:48:46 +000018
19
20int main() {
21 int Array[100][200], i, j;
22 double sum = 0.0;
Eric Christopher0bbe4b12011-07-28 00:11:03 +000023
Devang Patel070c2152011-07-05 21:48:46 +000024 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 Patel478b94b2011-07-18 22:18:04 +000029//CHECK: .loc 2 30 8
Devang Patel070c2152011-07-05 21:48:46 +000030 for (i=0; i < 100; i+=2)
31 for (j=0; j < 200; j++)
32 sum += Array[i][j];
Eric Christopher0bbe4b12011-07-28 00:11:03 +000033
Devang Patel070c2152011-07-05 21:48:46 +000034 return calculate(sum);
35}