Mercurial > hg > CbC > CbC_llvm
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 |