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