AMDGPU: Fix warnings introduced by r310336
[llvm-project.git] / polly / test / Simplify / scalability1.ll
blob65f6a79684d2085d568d254fb7d5e7a61f055fc9
1 ; RUN: opt %loadPolly -polly-ignore-inbounds -polly-simplify -analyze < %s | FileCheck %s -match-full-lines
3 ; Test scalability.
5 define void @func(i32 %n, double* noalias nonnull %A,
6 i32 %p0, i32 %p1, i32 %p2, i32 %p3, i32 %p4, i32 %p5, i32 %p6, i32 %p7, i32 %p8, i32 %p9,
7 i32 %p10, i32 %p11, i32 %p12, i32 %p13, i32 %p14, i32 %p15, i32 %p16, i32 %p17, i32 %p18, i32 %p19,
8 i32 %p20, i32 %p21, i32 %p22, i32 %p23, i32 %p24, i32 %p25, i32 %p26, i32 %p27, i32 %p28, i32 %p29,
9 i32 %p30, i32 %p31, i32 %p32) {
10 entry:
11   br label %for
13 for:
14   %j = phi i32 [0, %entry], [%j.inc, %inc]
15   %j.cmp = icmp slt i32 %j, %n
16   br i1 %j.cmp, label %body, label %exit
19     body:
20       %A0 = getelementptr inbounds double, double* %A, i32 %p0
21       %A1 = getelementptr inbounds double, double* %A, i32 %p1
22       %A2 = getelementptr inbounds double, double* %A, i32 %p2
23       %A3 = getelementptr inbounds double, double* %A, i32 %p3
24       %A4 = getelementptr inbounds double, double* %A, i32 %p4
25       %A5 = getelementptr inbounds double, double* %A, i32 %p5
26       %A6 = getelementptr inbounds double, double* %A, i32 %p6
27       %A7 = getelementptr inbounds double, double* %A, i32 %p7
28       %A8 = getelementptr inbounds double, double* %A, i32 %p8
29       %A9 = getelementptr inbounds double, double* %A, i32 %p9
30       %A10 = getelementptr inbounds double, double* %A, i32 %p10
31       %A11 = getelementptr inbounds double, double* %A, i32 %p11
32       %A12 = getelementptr inbounds double, double* %A, i32 %p12
33       %A13 = getelementptr inbounds double, double* %A, i32 %p13
34       %A14 = getelementptr inbounds double, double* %A, i32 %p14
35       %A15 = getelementptr inbounds double, double* %A, i32 %p15
36       %A16 = getelementptr inbounds double, double* %A, i32 %p16
37       %A17 = getelementptr inbounds double, double* %A, i32 %p17
38       %A18 = getelementptr inbounds double, double* %A, i32 %p18
39       %A19 = getelementptr inbounds double, double* %A, i32 %p19
40       %A20 = getelementptr inbounds double, double* %A, i32 %p20
41       %A21 = getelementptr inbounds double, double* %A, i32 %p21
42       %A22 = getelementptr inbounds double, double* %A, i32 %p22
43       %A23 = getelementptr inbounds double, double* %A, i32 %p23
44       %A24 = getelementptr inbounds double, double* %A, i32 %p24
45       %A25 = getelementptr inbounds double, double* %A, i32 %p25
46       %A26 = getelementptr inbounds double, double* %A, i32 %p26
47       %A27 = getelementptr inbounds double, double* %A, i32 %p27
48       %A28 = getelementptr inbounds double, double* %A, i32 %p28
49       %A29 = getelementptr inbounds double, double* %A, i32 %p29
50       %A30 = getelementptr inbounds double, double* %A, i32 %p30
51       %A31 = getelementptr inbounds double, double* %A, i32 %p31
52       %A32 = getelementptr inbounds double, double* %A, i32 %p32
54       %val = load double, double* %A0
56       store double %val, double* %A1
57       store double %val, double* %A2
58       store double %val, double* %A3
59       store double %val, double* %A4
60       store double %val, double* %A5
61       store double %val, double* %A6
62       store double %val, double* %A7
63       store double %val, double* %A8
64       store double %val, double* %A9
65       store double %val, double* %A10
66       store double %val, double* %A11
67       store double %val, double* %A12
68       store double %val, double* %A13
69       store double %val, double* %A14
70       store double %val, double* %A15
71       store double %val, double* %A16
72       store double %val, double* %A17
73       store double %val, double* %A18
74       store double %val, double* %A19
75       store double %val, double* %A20
76       store double %val, double* %A21
77       store double %val, double* %A22
78       store double %val, double* %A23
79       store double %val, double* %A24
80       store double %val, double* %A25
81       store double %val, double* %A26
82       store double %val, double* %A27
83       store double %val, double* %A28
84       store double %val, double* %A29
85       store double %val, double* %A30
86       store double %val, double* %A31
87       store double %val, double* %A32
89       br label %inc
92 inc:
93   %j.inc = add nuw nsw i32 %j, 1
94   br label %for
96 exit:
97   br label %return
99 return:
100   ret void
104 ; CHECK: SCoP could not be simplified