comparison polly/test/ScopDetect/only-one-affine-loop.ll @ 252:1f2b6ac9f198 llvm-original

LLVM16-1
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 18 Aug 2023 09:04:13 +0900
parents c4bab56944e8
children
comparison
equal deleted inserted replaced
237:c80f45b162ad 252:1f2b6ac9f198
25 ; } 25 ; }
26 ; } 26 ; }
27 ; 27 ;
28 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 28 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
29 29
30 define void @f(i32* %A) { 30 define void @f(ptr %A) {
31 entry: 31 entry:
32 br label %for.cond 32 br label %for.cond
33 33
34 for.cond: ; preds = %for.inc.49, %entry 34 for.cond: ; preds = %for.inc.49, %entry
35 %indvars.iv5 = phi i64 [ %indvars.iv.next6, %for.inc.49 ], [ 0, %entry ] 35 %indvars.iv5 = phi i64 [ %indvars.iv.next6, %for.inc.49 ], [ 0, %entry ]
54 %k.0 = phi i32 [ 0, %for.body.3 ], [ %inc7, %for.inc ] 54 %k.0 = phi i32 [ 0, %for.body.3 ], [ %inc7, %for.inc ]
55 %exitcond = icmp ne i32 %k.0, %indvars.iv 55 %exitcond = icmp ne i32 %k.0, %indvars.iv
56 br i1 %exitcond, label %for.body.6, label %for.end 56 br i1 %exitcond, label %for.body.6, label %for.end
57 57
58 for.body.6: ; preds = %for.cond.4 58 for.body.6: ; preds = %for.cond.4
59 %arrayidx = getelementptr inbounds i32, i32* %A, i64 %indvars.iv5 59 %arrayidx = getelementptr inbounds i32, ptr %A, i64 %indvars.iv5
60 %tmp11 = load i32, i32* %arrayidx, align 4 60 %tmp11 = load i32, ptr %arrayidx, align 4
61 %inc = add nsw i32 %tmp11, 1 61 %inc = add nsw i32 %tmp11, 1
62 store i32 %inc, i32* %arrayidx, align 4 62 store i32 %inc, ptr %arrayidx, align 4
63 br label %for.inc 63 br label %for.inc
64 64
65 for.inc: ; preds = %for.body.6 65 for.inc: ; preds = %for.body.6
66 %inc7 = add nuw nsw i32 %k.0, 1 66 %inc7 = add nuw nsw i32 %k.0, 1
67 br label %for.cond.4 67 br label %for.cond.4
90 %k16.0 = phi i32 [ 0, %for.body.15 ], [ %inc24, %for.inc.23 ] 90 %k16.0 = phi i32 [ 0, %for.body.15 ], [ %inc24, %for.inc.23 ]
91 %exitcond3 = icmp ne i32 %k16.0, %indvars.iv1 91 %exitcond3 = icmp ne i32 %k16.0, %indvars.iv1
92 br i1 %exitcond3, label %for.body.19, label %for.end.25 92 br i1 %exitcond3, label %for.body.19, label %for.end.25
93 93
94 for.body.19: ; preds = %for.cond.17 94 for.body.19: ; preds = %for.cond.17
95 %arrayidx21 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv5 95 %arrayidx21 = getelementptr inbounds i32, ptr %A, i64 %indvars.iv5
96 %tmp14 = load i32, i32* %arrayidx21, align 4 96 %tmp14 = load i32, ptr %arrayidx21, align 4
97 %inc22 = add nsw i32 %tmp14, 1 97 %inc22 = add nsw i32 %tmp14, 1
98 store i32 %inc22, i32* %arrayidx21, align 4 98 store i32 %inc22, ptr %arrayidx21, align 4
99 br label %for.inc.23 99 br label %for.inc.23
100 100
101 for.inc.23: ; preds = %for.body.19 101 for.inc.23: ; preds = %for.body.19
102 %inc24 = add nuw nsw i32 %k16.0, 1 102 %inc24 = add nuw nsw i32 %k16.0, 1
103 br label %for.cond.17 103 br label %for.cond.17
108 for.inc.26: ; preds = %for.end.25 108 for.inc.26: ; preds = %for.end.25
109 %indvars.iv.next2 = add nuw nsw i32 %indvars.iv1, 1 109 %indvars.iv.next2 = add nuw nsw i32 %indvars.iv1, 1
110 br label %for.cond.12 110 br label %for.cond.12
111 111
112 for.end.28: ; preds = %for.cond.12 112 for.end.28: ; preds = %for.cond.12
113 %arrayidx30 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv5 113 %arrayidx30 = getelementptr inbounds i32, ptr %A, i64 %indvars.iv5
114 %tmp15 = load i32, i32* %arrayidx30, align 4 114 %tmp15 = load i32, ptr %arrayidx30, align 4
115 %tobool = icmp eq i32 %tmp15, 0 115 %tobool = icmp eq i32 %tmp15, 0
116 br i1 %tobool, label %if.end, label %if.then 116 br i1 %tobool, label %if.end, label %if.then
117 117
118 if.then: ; preds = %for.end.28 118 if.then: ; preds = %for.end.28
119 br label %for.cond.32 119 br label %for.cond.32
131 %mul37 = mul nsw i32 %j31.0, %j31.0 131 %mul37 = mul nsw i32 %j31.0, %j31.0
132 %cmp38 = icmp slt i32 %k35.0, %mul37 132 %cmp38 = icmp slt i32 %k35.0, %mul37
133 br i1 %cmp38, label %for.body.39, label %for.end.45 133 br i1 %cmp38, label %for.body.39, label %for.end.45
134 134
135 for.body.39: ; preds = %for.cond.36 135 for.body.39: ; preds = %for.cond.36
136 %arrayidx41 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv5 136 %arrayidx41 = getelementptr inbounds i32, ptr %A, i64 %indvars.iv5
137 %tmp16 = load i32, i32* %arrayidx41, align 4 137 %tmp16 = load i32, ptr %arrayidx41, align 4
138 %inc42 = add nsw i32 %tmp16, 1 138 %inc42 = add nsw i32 %tmp16, 1
139 store i32 %inc42, i32* %arrayidx41, align 4 139 store i32 %inc42, ptr %arrayidx41, align 4
140 br label %for.inc.43 140 br label %for.inc.43
141 141
142 for.inc.43: ; preds = %for.body.39 142 for.inc.43: ; preds = %for.body.39
143 %inc44 = add nuw nsw i32 %k35.0, 1 143 %inc44 = add nuw nsw i32 %k35.0, 1
144 br label %for.cond.36 144 br label %for.cond.36