1# FIXME: This should fail the verifier 2# XFAIL: * 3# RUN: not --crash llc -o - -mtriple=amdgcn-amd-amdhsa -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s 4 5# %1 is live out of %bb.1 through the loop edge, and therefore the kill flag is invalid. 6 7# CHECK: *** Bad machine code: Virtual register killed in block, but needed live out. *** 8 9--- 10name: kill_flag_in_loop 11body: | 12 bb.0: 13 liveins: $sgpr0, $vgpr0_vgpr1 14 successors: %bb.1(0x80000000) 15 16 %0:sreg_32 = COPY $sgpr0 17 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 18 19 bb.1: 20 successors: %bb.2(0x40000000), %bb.1(0x40000000) 21 22 S_CMP_EQ_I32 killed %1:sreg_32, 1, implicit-def $scc 23 S_CBRANCH_SCC0 %bb.2, implicit $scc 24 S_BRANCH %bb.1 25 26 bb.2: 27 successors: %bb.3(0x80000000) 28 29 bb.3: 30 S_ENDPGM 0 31 32... 33