blob: 1c9ae91557b7e7ea8d3a2bf46c9e8dbaf3aeef1c [file] [log] [blame] [edit]
# RUN: not llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -start-before=amdgpu-asm-printer -o - %s 2> %t.err | FileCheck %s
# RUN: FileCheck -check-prefix=ERR %s < %t.err
# CHECK: ;unsupported statepoint/stackmap/patchpoint
# ERR: error: unhandled statepoint-like instruction
---
name: test_statepoint
tracksRegLiveness: true
frameInfo:
stackSize: 16
maxAlignment: 4
adjustsStack: true
hasCalls: true
maxCallFrameSize: 0
isCalleeSavedInfoValid: true
stack:
- { id: 0, type: spill-slot, size: 4, alignment: 4 }
machineFunctionInfo:
hasSpilledSGPRs: true
scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3'
frameOffsetReg: '$sgpr33'
stackPtrOffsetReg: '$sgpr32'
body: |
bb.0.entry:
liveins: $sgpr12, $sgpr13, $sgpr14, $sgpr15, $sgpr30, $sgpr31, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9, $sgpr10_sgpr11
S_WAITCNT 0
$sgpr16 = S_MOV_B32 $sgpr33
$sgpr33 = S_MOV_B32 $sgpr32
$sgpr18_sgpr19 = S_OR_SAVEEXEC_B64 -1, implicit-def $exec, implicit-def dead $scc, implicit $exec
BUFFER_STORE_DWORD_OFFSET $vgpr40, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr33, 0, 0, 0, implicit $exec :: (store (s32) into %stack.0, addrspace 5)
$exec = S_MOV_B64 killed $sgpr18_sgpr19
$vgpr40 = V_WRITELANE_B32 killed $sgpr16, 2, undef $vgpr40
$vgpr40 = V_WRITELANE_B32 $sgpr30, 0, $vgpr40
$sgpr32 = frame-setup S_ADDK_I32 $sgpr32, 1024, implicit-def dead $scc
$vgpr40 = V_WRITELANE_B32 $sgpr31, 1, $vgpr40
STATEPOINT 2882400015, 0, 11, undef renamable $sgpr4_sgpr5, 0, killed $sgpr4_sgpr5, killed $sgpr6_sgpr7, killed $sgpr8_sgpr9, killed $sgpr10_sgpr11, killed $sgpr12, killed $sgpr13, killed $sgpr14, killed $sgpr15, killed $vgpr31, $sgpr0_sgpr1_sgpr2_sgpr3, 2, 0, 2, 0, 2, 1, 2, 0, 2, 0, 2, 0, 2, 0, csr_amdgpu
...