|
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