Matt Arsenault | eabb8dd | 2018-11-16 05:03:02 +0000 | [diff] [blame] | 1 | # RUN: not llc -march=amdgcn -run-pass=verify %s 2>&1 | FileCheck %s |
| 2 | # Make sure that mismatched successors are caught when a _term |
| 3 | # instruction is used |
| 4 | |
| 5 | # CHECK: *** Bad machine code: MBB exits via unconditional branch but the CFG successor doesn't match the actual successor! *** |
| 6 | |
| 7 | --- |
| 8 | name: verifier_pseudo_terminators |
| 9 | body: | |
| 10 | bb.0: |
| 11 | successors: %bb.1 |
| 12 | |
| 13 | %0:sreg_64 = S_XOR_B64_term undef %1:sreg_64, undef %2:sreg_64, implicit-def $scc |
| 14 | $exec = S_MOV_B64_term %0 |
| 15 | S_BRANCH %bb.2 |
| 16 | |
| 17 | bb.1: |
| 18 | S_SETPC_B64_return undef $sgpr30_sgpr31 |
| 19 | |
| 20 | bb.2: |
| 21 | S_SETPC_B64_return undef $sgpr30_sgpr31 |
| 22 | |
| 23 | ... |