|
7 | 7 | ; state, and the block that determines the next state.
|
8 | 8 | ; < path of BBs that form a cycle > [ state, determinator ]
|
9 | 9 | define i32 @test1(i32 %num) !prof !0{
|
10 |
| -; CHECK: < case2 for.inc for.body > [ 1, for.inc ] |
11 |
| -; CHECK-NEXT: < for.inc for.body > [ 1, for.inc ] |
12 |
| -; CHECK-NEXT: < case1 for.inc for.body > [ 2, for.inc ] |
13 |
| -; CHECK-NEXT: < case2 sel.si.unfold.false for.inc for.body > [ 2, sel.si.unfold.false ] |
| 10 | +; CHECK: < case2, for.inc, for.body > [ 1, for.inc ] |
| 11 | +; CHECK-NEXT: < for.inc, for.body > [ 1, for.inc ] |
| 12 | +; CHECK-NEXT: < case1, for.inc, for.body > [ 2, for.inc ] |
| 13 | +; CHECK-NEXT: < case2, sel.si.unfold.false, for.inc, for.body > [ 2, sel.si.unfold.false ] |
14 | 14 | entry:
|
15 | 15 | br label %for.body
|
16 | 16 |
|
@@ -47,12 +47,12 @@ for.end:
|
47 | 47 | ; complicated CFG. Here the FSM is represented as a nested loop, with
|
48 | 48 | ; fallthrough cases.
|
49 | 49 | define i32 @test2(i32 %init) {
|
50 |
| -; CHECK: < loop.1.backedge loop.1 loop.2 loop.3 > [ 1, loop.1 ] |
51 |
| -; CHECK-NEXT: < case4 loop.1.backedge state.1.be2.si.unfold.false loop.1 loop.2 loop.3 > [ 2, loop.1.backedge ] |
52 |
| -; CHECK-NEXT: < case2 loop.1.backedge state.1.be2.si.unfold.false loop.1 loop.2 loop.3 > [ 4, loop.1.backedge ] |
53 |
| -; CHECK-NEXT: < case4 loop.2.backedge loop.2 loop.3 > [ 3, loop.2.backedge ] |
54 |
| -; CHECK-NEXT: < case3 loop.2.backedge loop.2 loop.3 > [ 0, loop.2.backedge ] |
55 |
| -; CHECK-NEXT: < case2 loop.3 > [ 3, loop.3 ] |
| 50 | +; CHECK: < loop.1.backedge, loop.1, loop.2, loop.3 > [ 1, loop.1 ] |
| 51 | +; CHECK-NEXT: < case4, loop.1.backedge, state.1.be2.si.unfold.false, loop.1, loop.2, loop.3 > [ 2, loop.1.backedge ] |
| 52 | +; CHECK-NEXT: < case2, loop.1.backedge, state.1.be2.si.unfold.false, loop.1, loop.2, loop.3 > [ 4, loop.1.backedge ] |
| 53 | +; CHECK-NEXT: < case4, loop.2.backedge, loop.2, loop.3 > [ 3, loop.2.backedge ] |
| 54 | +; CHECK-NEXT: < case3, loop.2.backedge, loop.2, loop.3 > [ 0, loop.2.backedge ] |
| 55 | +; CHECK-NEXT: < case2, loop.3 > [ 3, loop.3 ] |
56 | 56 | entry:
|
57 | 57 | %cmp = icmp eq i32 %init, 0
|
58 | 58 | %sel = select i1 %cmp, i32 0, i32 2
|
@@ -187,12 +187,12 @@ bb66: ; preds = %bb59
|
187 | 187 |
|
188 | 188 | ; Value %init is not predictable but it's okay since it is the value initial to the switch.
|
189 | 189 | define i32 @initial.value.positive1(i32 %init) !prof !0 {
|
190 |
| -; CHECK: < loop.1.backedge loop.1 loop.2 loop.3 > [ 1, loop.1 ] |
191 |
| -; CHECK-NEXT: < case4 loop.1.backedge state.1.be2.si.unfold.false loop.1 loop.2 loop.3 > [ 2, loop.1.backedge ] |
192 |
| -; CHECK-NEXT: < case2 loop.1.backedge state.1.be2.si.unfold.false loop.1 loop.2 loop.3 > [ 4, loop.1.backedge ] |
193 |
| -; CHECK-NEXT: < case4 loop.2.backedge loop.2 loop.3 > [ 3, loop.2.backedge ] |
194 |
| -; CHECK-NEXT: < case3 loop.2.backedge loop.2 loop.3 > [ 0, loop.2.backedge ] |
195 |
| -; CHECK-NEXT: < case2 loop.3 > [ 3, loop.3 ] |
| 190 | +; CHECK: < loop.1.backedge, loop.1, loop.2, loop.3 > [ 1, loop.1 ] |
| 191 | +; CHECK-NEXT: < case4, loop.1.backedge, state.1.be2.si.unfold.false, loop.1, loop.2, loop.3 > [ 2, loop.1.backedge ] |
| 192 | +; CHECK-NEXT: < case2, loop.1.backedge, state.1.be2.si.unfold.false, loop.1, loop.2, loop.3 > [ 4, loop.1.backedge ] |
| 193 | +; CHECK-NEXT: < case4, loop.2.backedge, loop.2, loop.3 > [ 3, loop.2.backedge ] |
| 194 | +; CHECK-NEXT: < case3, loop.2.backedge, loop.2, loop.3 > [ 0, loop.2.backedge ] |
| 195 | +; CHECK-NEXT: < case2, loop.3 > [ 3, loop.3 ] |
196 | 196 | entry:
|
197 | 197 | %cmp = icmp eq i32 %init, 0
|
198 | 198 | br label %loop.1
|
|
0 commit comments