1 ; RUN: opt %loadNPMPolly -polly-ignore-inbounds '-passes=print<polly-simplify>' -disable-output < %s | FileCheck %s -match-full-lines
5 define void @func(i32 %n, ptr 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, i32 %p33, i32 %p34, i32 %p35, i32 %p36, i32 %p37, i32 %p38, i32 %p39,
10 i32 %p40, i32 %p41, i32 %p42, i32 %p43, i32 %p44, i32 %p45, i32 %p46, i32 %p47, i32 %p48, i32 %p49,
11 i32 %p50, i32 %p51, i32 %p52, i32 %p53, i32 %p54, i32 %p55, i32 %p56, i32 %p57, i32 %p58, i32 %p59) {
16 %j = phi i32 [0, %entry], [%j.inc, %inc]
17 %j.cmp = icmp slt i32 %j, %n
18 br i1 %j.cmp, label %body, label %exit
22 %A0 = getelementptr inbounds double, ptr %A, i32 %p0
23 %A1 = getelementptr inbounds double, ptr %A, i32 %p1
24 %A2 = getelementptr inbounds double, ptr %A, i32 %p2
25 %A3 = getelementptr inbounds double, ptr %A, i32 %p3
26 %A4 = getelementptr inbounds double, ptr %A, i32 %p4
27 %A5 = getelementptr inbounds double, ptr %A, i32 %p5
28 %A6 = getelementptr inbounds double, ptr %A, i32 %p6
29 %A7 = getelementptr inbounds double, ptr %A, i32 %p7
30 %A8 = getelementptr inbounds double, ptr %A, i32 %p8
31 %A9 = getelementptr inbounds double, ptr %A, i32 %p9
32 %A10 = getelementptr inbounds double, ptr %A, i32 %p10
33 %A11 = getelementptr inbounds double, ptr %A, i32 %p11
34 %A12 = getelementptr inbounds double, ptr %A, i32 %p12
35 %A13 = getelementptr inbounds double, ptr %A, i32 %p13
36 %A14 = getelementptr inbounds double, ptr %A, i32 %p14
37 %A15 = getelementptr inbounds double, ptr %A, i32 %p15
38 %A16 = getelementptr inbounds double, ptr %A, i32 %p16
39 %A17 = getelementptr inbounds double, ptr %A, i32 %p17
40 %A18 = getelementptr inbounds double, ptr %A, i32 %p18
41 %A19 = getelementptr inbounds double, ptr %A, i32 %p19
42 %A20 = getelementptr inbounds double, ptr %A, i32 %p20
43 %A21 = getelementptr inbounds double, ptr %A, i32 %p21
44 %A22 = getelementptr inbounds double, ptr %A, i32 %p22
45 %A23 = getelementptr inbounds double, ptr %A, i32 %p23
46 %A24 = getelementptr inbounds double, ptr %A, i32 %p24
47 %A25 = getelementptr inbounds double, ptr %A, i32 %p25
48 %A26 = getelementptr inbounds double, ptr %A, i32 %p26
49 %A27 = getelementptr inbounds double, ptr %A, i32 %p27
50 %A28 = getelementptr inbounds double, ptr %A, i32 %p28
51 %A29 = getelementptr inbounds double, ptr %A, i32 %p29
52 %A30 = getelementptr inbounds double, ptr %A, i32 %p30
53 %A31 = getelementptr inbounds double, ptr %A, i32 %p31
54 %A32 = getelementptr inbounds double, ptr %A, i32 %p32
55 %A33 = getelementptr inbounds double, ptr %A, i32 %p33
56 %A34 = getelementptr inbounds double, ptr %A, i32 %p34
57 %A35 = getelementptr inbounds double, ptr %A, i32 %p35
58 %A36 = getelementptr inbounds double, ptr %A, i32 %p36
59 %A37 = getelementptr inbounds double, ptr %A, i32 %p37
60 %A38 = getelementptr inbounds double, ptr %A, i32 %p38
61 %A39 = getelementptr inbounds double, ptr %A, i32 %p39
62 %A40 = getelementptr inbounds double, ptr %A, i32 %p40
63 %A41 = getelementptr inbounds double, ptr %A, i32 %p41
64 %A42 = getelementptr inbounds double, ptr %A, i32 %p42
65 %A43 = getelementptr inbounds double, ptr %A, i32 %p43
66 %A44 = getelementptr inbounds double, ptr %A, i32 %p44
67 %A45 = getelementptr inbounds double, ptr %A, i32 %p45
68 %A46 = getelementptr inbounds double, ptr %A, i32 %p46
69 %A47 = getelementptr inbounds double, ptr %A, i32 %p47
70 %A48 = getelementptr inbounds double, ptr %A, i32 %p48
71 %A49 = getelementptr inbounds double, ptr %A, i32 %p49
72 %A50 = getelementptr inbounds double, ptr %A, i32 %p50
73 %A51 = getelementptr inbounds double, ptr %A, i32 %p51
74 %A52 = getelementptr inbounds double, ptr %A, i32 %p52
75 %A53 = getelementptr inbounds double, ptr %A, i32 %p53
76 %A54 = getelementptr inbounds double, ptr %A, i32 %p54
77 %A55 = getelementptr inbounds double, ptr %A, i32 %p55
78 %A56 = getelementptr inbounds double, ptr %A, i32 %p56
79 %A57 = getelementptr inbounds double, ptr %A, i32 %p57
80 %A58 = getelementptr inbounds double, ptr %A, i32 %p58
81 %A59 = getelementptr inbounds double, ptr %A, i32 %p59
83 %val0 = load double, ptr %A0
84 store double %val0, ptr %A1
86 %val2 = load double, ptr %A2
87 store double %val2, ptr %A3
89 %val4 = load double, ptr %A4
90 store double %val4, ptr %A5
92 %val6 = load double, ptr %A6
93 store double %val6, ptr %A7
95 %val8 = load double, ptr %A8
96 store double %val8, ptr %A9
98 %val10 = load double, ptr %A10
99 store double %val10, ptr %A11
101 %val12 = load double, ptr %A12
102 store double %val12, ptr %A13
104 %val13 = load double, ptr %A13
105 store double %val13, ptr %A15
107 %val16 = load double, ptr %A16
108 store double %val16, ptr %A17
110 %val18 = load double, ptr %A18
111 store double %val18, ptr %A19
113 %val20 = load double, ptr %A20
114 store double %val20, ptr %A21
116 %val22 = load double, ptr %A22
117 store double %val22, ptr %A23
119 %val24 = load double, ptr %A24
120 store double %val24, ptr %A25
122 %val26 = load double, ptr %A26
123 store double %val26, ptr %A27
125 %val28 = load double, ptr %A28
126 store double %val28, ptr %A29
128 %val30 = load double, ptr %A30
129 store double %val30, ptr %A31
131 %val32 = load double, ptr %A32
132 store double %val32, ptr %A33
134 %val34 = load double, ptr %A34
135 store double %val34, ptr %A35
137 %val36 = load double, ptr %A36
138 store double %val36, ptr %A37
140 %val38 = load double, ptr %A38
141 store double %val38, ptr %A39
143 %val40 = load double, ptr %A40
144 store double %val40, ptr %A41
146 %val42 = load double, ptr %A42
147 store double %val42, ptr %A43
149 %val44 = load double, ptr %A44
150 store double %val44, ptr %A45
152 %val46 = load double, ptr %A46
153 store double %val46, ptr %A47
155 %val48 = load double, ptr %A48
156 store double %val48, ptr %A49
158 %val50 = load double, ptr %A50
159 store double %val50, ptr %A51
161 %val52 = load double, ptr %A52
162 store double %val52, ptr %A53
164 %val54 = load double, ptr %A54
165 store double %val54, ptr %A55
167 %val56 = load double, ptr %A56
168 store double %val56, ptr %A57
170 %val58 = load double, ptr %A58
171 store double %val58, ptr %A59
177 %j.inc = add nuw nsw i32 %j, 1
188 ; CHECK: SCoP could not be simplified