comparison polly/test/ScopInfo/condtion-after-error-block.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
22 ; CHECK-NEXT: [p] -> { Stmt_loop[i0] -> MemRef_phi__phi[] }; 22 ; CHECK-NEXT: [p] -> { Stmt_loop[i0] -> MemRef_phi__phi[] };
23 ; CHECK-NEXT: } 23 ; CHECK-NEXT: }
24 24
25 declare void @bar() 25 declare void @bar()
26 26
27 define void @foo(float* %X, i64 %p) { 27 define void @foo(ptr %X, i64 %p) {
28 entry: 28 entry:
29 br label %br 29 br label %br
30 30
31 br: 31 br:
32 %cmp1 = icmp sle i64 %p, 12 32 %cmp1 = icmp sle i64 %p, 12
37 br i1 %cmp3, label %cond, label %loop 37 br i1 %cmp3, label %cond, label %loop
38 38
39 loop: 39 loop:
40 %indvar = phi i64 [0, %br2], [%indvar.next, %loop] 40 %indvar = phi i64 [0, %br2], [%indvar.next, %loop]
41 %indvar.next = add nsw i64 %indvar, 1 41 %indvar.next = add nsw i64 %indvar, 1
42 store float 41.0, float* %X 42 store float 41.0, ptr %X
43 %cmp2 = icmp sle i64 %indvar, 1024 43 %cmp2 = icmp sle i64 %indvar, 1024
44 br i1 %cmp2, label %loop, label %merge 44 br i1 %cmp2, label %loop, label %merge
45 45
46 cond: 46 cond:
47 br label %cond2 47 br label %cond2
53 merge: 53 merge:
54 %phi = phi i1 [false, %cond2], [true, %loop] 54 %phi = phi i1 [false, %cond2], [true, %loop]
55 br i1 %phi, label %A, label %B 55 br i1 %phi, label %A, label %B
56 56
57 A: 57 A:
58 store float 42.0, float* %X 58 store float 42.0, ptr %X
59 br label %exit 59 br label %exit
60 60
61 B: 61 B:
62 call void @bar() 62 call void @bar()
63 store float 41.0, float* %X 63 store float 41.0, ptr %X
64 br label %exit 64 br label %exit
65 65
66 exit: 66 exit:
67 ret void 67 ret void
68 } 68 }