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