Mercurial > hg > CbC > CbC_llvm
comparison polly/test/ScopInfo/switch-7.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 |
---|---|
54 ; AST: else | 54 ; AST: else |
55 ; AST-NEXT: { /* original code */ } | 55 ; AST-NEXT: { /* original code */ } |
56 | 56 |
57 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" | 57 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" |
58 | 58 |
59 define void @f(i32* %A, i32 %c, i32 %N) { | 59 define void @f(ptr %A, i32 %c, i32 %N) { |
60 entry: | 60 entry: |
61 br label %entry.split | 61 br label %entry.split |
62 | 62 |
63 entry.split: | 63 entry.split: |
64 switch i32 %c, label %sw.epilog [ | 64 switch i32 %c, label %sw.epilog [ |
77 br i1 %cmp, label %for.body, label %for.end | 77 br i1 %cmp, label %for.body, label %for.end |
78 | 78 |
79 for.body: ; preds = %for.cond | 79 for.body: ; preds = %for.cond |
80 %sub = add nsw i32 %j.0, -1 | 80 %sub = add nsw i32 %j.0, -1 |
81 %idxprom = sext i32 %sub to i64 | 81 %idxprom = sext i32 %sub to i64 |
82 %arrayidx = getelementptr inbounds i32, i32* %A, i64 %idxprom | 82 %arrayidx = getelementptr inbounds i32, ptr %A, i64 %idxprom |
83 %tmp6 = load i32, i32* %arrayidx, align 4 | 83 %tmp6 = load i32, ptr %arrayidx, align 4 |
84 %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv | 84 %arrayidx2 = getelementptr inbounds i32, ptr %A, i64 %indvars.iv |
85 %tmp7 = load i32, i32* %arrayidx2, align 4 | 85 %tmp7 = load i32, ptr %arrayidx2, align 4 |
86 %add = add nsw i32 %tmp7, %tmp6 | 86 %add = add nsw i32 %tmp7, %tmp6 |
87 store i32 %add, i32* %arrayidx2, align 4 | 87 store i32 %add, ptr %arrayidx2, align 4 |
88 br label %for.inc | 88 br label %for.inc |
89 | 89 |
90 for.inc: ; preds = %for.body | 90 for.inc: ; preds = %for.body |
91 %dec = add nsw i32 %j.0, -1 | 91 %dec = add nsw i32 %j.0, -1 |
92 %indvars.iv.next = add nsw i64 %indvars.iv, -1 | 92 %indvars.iv.next = add nsw i64 %indvars.iv, -1 |
104 %cmp6 = icmp sgt i64 %indvars.iv3, %tmp8 | 104 %cmp6 = icmp sgt i64 %indvars.iv3, %tmp8 |
105 br i1 %cmp6, label %for.end.15, label %for.body.7 | 105 br i1 %cmp6, label %for.end.15, label %for.body.7 |
106 | 106 |
107 for.body.7: ; preds = %for.cond.5 | 107 for.body.7: ; preds = %for.cond.5 |
108 %tmp9 = add nsw i64 %indvars.iv3, -1 | 108 %tmp9 = add nsw i64 %indvars.iv3, -1 |
109 %arrayidx10 = getelementptr inbounds i32, i32* %A, i64 %tmp9 | 109 %arrayidx10 = getelementptr inbounds i32, ptr %A, i64 %tmp9 |
110 %tmp10 = load i32, i32* %arrayidx10, align 4 | 110 %tmp10 = load i32, ptr %arrayidx10, align 4 |
111 %arrayidx12 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv3 | 111 %arrayidx12 = getelementptr inbounds i32, ptr %A, i64 %indvars.iv3 |
112 %tmp11 = load i32, i32* %arrayidx12, align 4 | 112 %tmp11 = load i32, ptr %arrayidx12, align 4 |
113 %add13 = add nsw i32 %tmp11, %tmp10 | 113 %add13 = add nsw i32 %tmp11, %tmp10 |
114 store i32 %add13, i32* %arrayidx12, align 4 | 114 store i32 %add13, ptr %arrayidx12, align 4 |
115 br label %for.inc.14 | 115 br label %for.inc.14 |
116 | 116 |
117 for.inc.14: ; preds = %for.body.7 | 117 for.inc.14: ; preds = %for.body.7 |
118 %indvars.iv.next4 = add nuw nsw i64 %indvars.iv3, 1 | 118 %indvars.iv.next4 = add nuw nsw i64 %indvars.iv3, 1 |
119 br label %for.cond.5 | 119 br label %for.cond.5 |