|
8 | 8 | define void @foo(i64 %n) { |
9 | 9 | ; CHECK: VPlan 'HCFGBuilder: Plain CFG |
10 | 10 | ; CHECK-NEXT: { |
11 | | -; CHECK-NEXT: Live-in vp<[[VTC:%.+]]> = vector-trip-count |
12 | | -; CHECK-NEXT: Live-in ir<8> = original trip-count |
13 | 11 | ; CHECK-EMPTY: |
14 | 12 | ; CHECK-NEXT: ir-bb<entry>: |
15 | | -; CHECK-NEXT: Successor(s): vector.ph |
| 13 | +; CHECK-NEXT: Successor(s): vector.body |
16 | 14 | ; CHECK-EMPTY: |
17 | | -; CHECK-NEXT: vector.ph: |
18 | | -; CHECK-NEXT: Successor(s): vector loop |
| 15 | +; CHECK-NEXT: vector.body: |
| 16 | +; CHECK-NEXT: WIDEN-PHI ir<%outer.iv> = phi ir<0>, ir<%outer.iv.next> |
| 17 | +; CHECK-NEXT: EMIT ir<%gep.1> = getelementptr ir<@arr2>, ir<0>, ir<%outer.iv> |
| 18 | +; CHECK-NEXT: EMIT store ir<%outer.iv>, ir<%gep.1> |
| 19 | +; CHECK-NEXT: EMIT ir<%add> = add ir<%outer.iv>, ir<%n> |
| 20 | +; CHECK-NEXT: Successor(s): inner |
19 | 21 | ; CHECK-EMPTY: |
20 | | -; CHECK-NEXT: <x1> vector loop: { |
21 | | -; CHECK-NEXT: vector.body: |
22 | | -; CHECK-NEXT: WIDEN-PHI ir<%outer.iv> = phi ir<0>, ir<%outer.iv.next> |
23 | | -; CHECK-NEXT: EMIT ir<%gep.1> = getelementptr ir<@arr2>, ir<0>, ir<%outer.iv> |
24 | | -; CHECK-NEXT: EMIT store ir<%outer.iv>, ir<%gep.1> |
25 | | -; CHECK-NEXT: EMIT ir<%add> = add ir<%outer.iv>, ir<%n> |
26 | | -; CHECK-NEXT: Successor(s): inner |
27 | | -; CHECK-EMPTY: |
28 | | -; CHECK-NEXT: <x1> inner: { |
29 | | -; CHECK-NEXT: inner: |
30 | | -; CHECK-NEXT: WIDEN-PHI ir<%inner.iv> = phi ir<0>, ir<%inner.iv.next> |
31 | | -; CHECK-NEXT: EMIT ir<%gep.2> = getelementptr ir<@arr>, ir<0>, ir<%inner.iv>, ir<%outer.iv> |
32 | | -; CHECK-NEXT: EMIT store ir<%add>, ir<%gep.2> |
33 | | -; CHECK-NEXT: EMIT ir<%inner.iv.next> = add ir<%inner.iv>, ir<1> |
34 | | -; CHECK-NEXT: EMIT ir<%inner.ec> = icmp ir<%inner.iv.next>, ir<8> |
35 | | -; CHECK-NEXT: EMIT branch-on-cond ir<%inner.ec> |
36 | | -; CHECK-NEXT: No successors |
37 | | -; CHECK-NEXT: } |
38 | | -; CHECK-NEXT: Successor(s): outer.latch |
39 | | -; CHECK-EMPTY: |
40 | | -; CHECK-NEXT: outer.latch: |
41 | | -; CHECK-NEXT: EMIT ir<%outer.iv.next> = add ir<%outer.iv>, ir<1> |
42 | | -; CHECK-NEXT: EMIT ir<%outer.ec> = icmp ir<%outer.iv.next>, ir<8> |
43 | | -; CHECK-NEXT: Successor(s): vector.latch |
44 | | -; CHECK-EMPTY: |
45 | | -; CHECK-NEXT: vector.latch: |
| 22 | +; CHECK-NEXT: <x1> inner: { |
| 23 | +; CHECK-NEXT: inner: |
| 24 | +; CHECK-NEXT: WIDEN-PHI ir<%inner.iv> = phi ir<0>, ir<%inner.iv.next> |
| 25 | +; CHECK-NEXT: EMIT ir<%gep.2> = getelementptr ir<@arr>, ir<0>, ir<%inner.iv>, ir<%outer.iv> |
| 26 | +; CHECK-NEXT: EMIT store ir<%add>, ir<%gep.2> |
| 27 | +; CHECK-NEXT: EMIT ir<%inner.iv.next> = add ir<%inner.iv>, ir<1> |
| 28 | +; CHECK-NEXT: EMIT ir<%inner.ec> = icmp ir<%inner.iv.next>, ir<8> |
| 29 | +; CHECK-NEXT: EMIT branch-on-cond ir<%inner.ec> |
46 | 30 | ; CHECK-NEXT: No successors |
47 | | -; CHECK-NEXT: } |
48 | | -; CHECK-NEXT: Successor(s): middle.block |
49 | | -; CHECK-EMPTY: |
50 | | -; CHECK-NEXT: middle.block: |
51 | | -; CHECK-NEXT: EMIT vp<[[C:%.+]]> = icmp eq ir<8>, vp<[[VTC]]> |
52 | | -; CHECK-NEXT: EMIT branch-on-cond vp<[[C]]> |
53 | | -; CHECK-NEXT: Successor(s): ir-bb<exit>, scalar.ph |
54 | | -; CHECK-EMPTY: |
55 | | -; CHECK-NEXT: scalar.ph: |
56 | | -; CHECK-NEXT: Successor(s): ir-bb<outer.header> |
57 | | -; CHECK-EMPTY: |
58 | | -; CHECK-NEXT: ir-bb<outer.header>: |
59 | | -; CHECK-NEXT: IR %outer.iv = phi i64 [ 0, %entry ], [ %outer.iv.next, %outer.latch ] |
60 | | -; CHECK-NEXT: IR %gep.1 = getelementptr inbounds [8 x i64], ptr @arr2, i64 0, i64 %outer.iv |
61 | | -; CHECK-NEXT: IR store i64 %outer.iv, ptr %gep.1, align 4 |
62 | | -; CHECK-NEXT: IR %add = add nsw i64 %outer.iv, %n |
63 | | -; CHECK-NEXT: No successors |
| 31 | +; CHECK-NEXT: } |
| 32 | +; CHECK-NEXT: Successor(s): outer.latch |
64 | 33 | ; CHECK-EMPTY: |
65 | | -; CHECK-NEXT: ir-bb<exit>: |
66 | | -; CHECK-NEXT: No successors |
| 34 | +; CHECK-NEXT: outer.latch: |
| 35 | +; CHECK-NEXT: EMIT ir<%outer.iv.next> = add ir<%outer.iv>, ir<1> |
| 36 | +; CHECK-NEXT: EMIT ir<%outer.ec> = icmp ir<%outer.iv.next>, ir<8> |
| 37 | +; CHECK-NEXT: Successor(s): vector.body |
67 | 38 | ; CHECK-NEXT: } |
68 | 39 | entry: |
69 | 40 | br label %outer.header |
|
0 commit comments