Mercurial > hg > CbC > CbC_llvm
comparison polly/test/ScopInfo/bool-addrec.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 |
---|---|
8 ; CHECK-NEXT: Stmt_if_then5(c0); | 8 ; CHECK-NEXT: Stmt_if_then5(c0); |
9 ; CHECK-NEXT: } | 9 ; CHECK-NEXT: } |
10 | 10 |
11 target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n8:16:32-S64" | 11 target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n8:16:32-S64" |
12 | 12 |
13 define void @f(i32* %a, i32 %x) { | 13 define void @f(ptr %a, i32 %x) { |
14 entry: | 14 entry: |
15 br label %for.body | 15 br label %for.body |
16 | 16 |
17 for.body: ; preds = %entry, %for.inc | 17 for.body: ; preds = %entry, %for.inc |
18 %i.03 = phi i32 [ 0, %entry ], [ %inc, %for.inc ] | 18 %i.03 = phi i32 [ 0, %entry ], [ %inc, %for.inc ] |
19 %rem1 = and i32 %i.03, 1 | 19 %rem1 = and i32 %i.03, 1 |
20 %cmp1 = icmp eq i32 %rem1, 0 | 20 %cmp1 = icmp eq i32 %rem1, 0 |
21 br i1 %cmp1, label %if.then, label %if.end | 21 br i1 %cmp1, label %if.then, label %if.end |
22 | 22 |
23 if.then: ; preds = %for.body | 23 if.then: ; preds = %for.body |
24 %arrayidx = getelementptr inbounds i32, i32* %a, i32 %i.03 | 24 %arrayidx = getelementptr inbounds i32, ptr %a, i32 %i.03 |
25 store i32 3, i32* %arrayidx, align 4 | 25 store i32 3, ptr %arrayidx, align 4 |
26 br label %if.end | 26 br label %if.end |
27 | 27 |
28 if.end: ; preds = %if.then, %for.body | 28 if.end: ; preds = %if.then, %for.body |
29 %mul = shl nsw i32 %i.03, 1 | 29 %mul = shl nsw i32 %i.03, 1 |
30 %arrayidx2 = getelementptr inbounds i32, i32* %a, i32 %mul | 30 %arrayidx2 = getelementptr inbounds i32, ptr %a, i32 %mul |
31 store i32 3, i32* %arrayidx2, align 4 | 31 store i32 3, ptr %arrayidx2, align 4 |
32 %rem32 = and i32 %i.03, 1 | 32 %rem32 = and i32 %i.03, 1 |
33 %cmp4 = icmp eq i32 %rem32, 0 | 33 %cmp4 = icmp eq i32 %rem32, 0 |
34 br i1 %cmp4, label %if.then5, label %for.inc | 34 br i1 %cmp4, label %if.then5, label %for.inc |
35 | 35 |
36 if.then5: ; preds = %if.end | 36 if.then5: ; preds = %if.end |
37 %mul6 = mul nsw i32 %i.03, 3 | 37 %mul6 = mul nsw i32 %i.03, 3 |
38 %arrayidx7 = getelementptr inbounds i32, i32* %a, i32 %mul6 | 38 %arrayidx7 = getelementptr inbounds i32, ptr %a, i32 %mul6 |
39 store i32 3, i32* %arrayidx7, align 4 | 39 store i32 3, ptr %arrayidx7, align 4 |
40 br label %for.inc | 40 br label %for.inc |
41 | 41 |
42 for.inc: ; preds = %if.end, %if.then5 | 42 for.inc: ; preds = %if.end, %if.then5 |
43 %inc = add nsw i32 %i.03, 1 | 43 %inc = add nsw i32 %i.03, 1 |
44 %cmp = icmp slt i32 %inc, 20000 | 44 %cmp = icmp slt i32 %inc, 20000 |