1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2# RUN: llc -march=amdgcn -o - -run-pass=block-placement -mcpu=gfx1010 -mattr=-inst-fwd-prefetch-bug -verify-machineinstrs %s | FileCheck -check-prefix=GCN %s
3
4# Used to fail with
5# Assertion `Out && "Header of loop has no predecessors from outside loop?"
6
7---
8name:            loop_header_nopred
9body:             |
10  ; GCN-LABEL: name: loop_header_nopred
11  ; GCN: bb.0:
12  ; GCN:   successors: %bb.2(0x80000000)
13  ; GCN:   S_BRANCH %bb.2
14  ; GCN: bb.1 (align 64):
15  ; GCN:   successors: %bb.7(0x04000000), %bb.2(0x7c000000)
16  ; GCN:   S_CBRANCH_VCCNZ %bb.7, implicit $vcc_lo
17  ; GCN: bb.2:
18  ; GCN:   successors: %bb.5(0x40000000), %bb.1(0x40000000)
19  ; GCN:   S_CBRANCH_EXECZ %bb.1, implicit $exec
20  ; GCN: bb.5:
21  ; GCN:   successors: %bb.1(0x04000000), %bb.5(0x7c000000)
22  ; GCN:   S_NOP 0
23  ; GCN:   S_NOP 0
24  ; GCN:   S_NOP 0
25  ; GCN:   S_NOP 0
26  ; GCN:   S_NOP 0
27  ; GCN:   S_NOP 0
28  ; GCN:   S_NOP 0
29  ; GCN:   S_NOP 0
30  ; GCN:   S_NOP 0
31  ; GCN:   S_NOP 0
32  ; GCN:   S_NOP 0
33  ; GCN:   S_CBRANCH_EXECZ %bb.5, implicit $exec
34  ; GCN:   S_BRANCH %bb.1
35  ; GCN: bb.7:
36  ; GCN:   S_ENDPGM 0
37  bb.0:
38    successors: %bb.1(0x80000000)
39
40  bb.1:
41    successors: %bb.2(0x40000000), %bb.3(0x40000000)
42
43    S_CBRANCH_VCCZ %bb.3, implicit $vcc
44    S_BRANCH %bb.2
45
46  bb.2:
47    successors: %bb.3(0x80000000)
48
49  bb.3:
50    successors: %bb.4(0x40000000), %bb.6(0x40000000)
51
52    S_CBRANCH_EXECZ %bb.6, implicit $exec
53    S_BRANCH %bb.4
54
55  bb.4:
56    successors: %bb.5(0x04000000), %bb.4(0x7c000000)
57
58    S_NOP 0
59    S_NOP 0
60    S_NOP 0
61    S_NOP 0
62    S_NOP 0
63    S_NOP 0
64    S_NOP 0
65    S_NOP 0
66    S_NOP 0
67    S_NOP 0
68    S_NOP 0
69    S_CBRANCH_EXECZ %bb.4, implicit $exec
70
71  bb.5:
72    successors: %bb.6(0x80000000)
73
74  bb.6:
75    successors: %bb.7(0x04000000), %bb.1(0x7c000000)
76
77    S_CBRANCH_VCCZ %bb.1, implicit $vcc
78
79  bb.7:
80    S_ENDPGM 0
81...
82