AMDGPU: Rename spill operands to match real instruction

llvm-svn: 281823
This commit is contained in:
Matt Arsenault 2016-09-17 15:52:37 +00:00
parent d99ef1144b
commit bcfd94c298
2 changed files with 13 additions and 13 deletions

View File

@ -1210,8 +1210,8 @@ multiclass SI_SPILL_VGPR <RegisterClass vgpr_class> {
SchedRW = [WriteVMEM] in { SchedRW = [WriteVMEM] in {
def _SAVE : VPseudoInstSI < def _SAVE : VPseudoInstSI <
(outs), (outs),
(ins vgpr_class:$vdata, i32imm:$vaddr, SReg_128:$scratch_rsrc, (ins vgpr_class:$vdata, i32imm:$vaddr, SReg_128:$srsrc,
SReg_32:$scratch_offset, i32imm:$offset)> { SReg_32:$soffset, i32imm:$offset)> {
let mayStore = 1; let mayStore = 1;
let mayLoad = 0; let mayLoad = 0;
// (2 * 4) + (8 * num_subregs) bytes maximum // (2 * 4) + (8 * num_subregs) bytes maximum
@ -1220,7 +1220,7 @@ multiclass SI_SPILL_VGPR <RegisterClass vgpr_class> {
def _RESTORE : VPseudoInstSI < def _RESTORE : VPseudoInstSI <
(outs vgpr_class:$vdata), (outs vgpr_class:$vdata),
(ins i32imm:$vaddr, SReg_128:$scratch_rsrc, SReg_32:$scratch_offset, (ins i32imm:$vaddr, SReg_128:$srsrc, SReg_32:$soffset,
i32imm:$offset)> { i32imm:$offset)> {
let mayStore = 0; let mayStore = 0;
let mayLoad = 1; let mayLoad = 1;

View File

@ -488,9 +488,9 @@ void SIRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator MI,
Size, Align); Size, Align);
BuildMI(*MBB, MI, DL, TII->get(AMDGPU::SI_SPILL_V32_SAVE)) BuildMI(*MBB, MI, DL, TII->get(AMDGPU::SI_SPILL_V32_SAVE))
.addReg(TmpReg, RegState::Kill) // src .addReg(TmpReg, RegState::Kill) // src
.addFrameIndex(Index) // frame_idx .addFrameIndex(Index) // vaddr
.addReg(MFI->getScratchRSrcReg()) // scratch_rsrc .addReg(MFI->getScratchRSrcReg()) // srrsrc
.addReg(MFI->getScratchWaveOffsetReg()) // scratch_offset .addReg(MFI->getScratchWaveOffsetReg()) // soffset
.addImm(i * 4) // offset .addImm(i * 4) // offset
.addMemOperand(MMO); .addMemOperand(MMO);
} }
@ -546,9 +546,9 @@ void SIRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator MI,
PtrInfo, MachineMemOperand::MOLoad, Size, Align); PtrInfo, MachineMemOperand::MOLoad, Size, Align);
BuildMI(*MBB, MI, DL, TII->get(AMDGPU::SI_SPILL_V32_RESTORE), TmpReg) BuildMI(*MBB, MI, DL, TII->get(AMDGPU::SI_SPILL_V32_RESTORE), TmpReg)
.addFrameIndex(Index) // frame_idx .addFrameIndex(Index) // vaddr
.addReg(MFI->getScratchRSrcReg()) // scratch_rsrc .addReg(MFI->getScratchRSrcReg()) // srsrc
.addReg(MFI->getScratchWaveOffsetReg()) // scratch_offset .addReg(MFI->getScratchWaveOffsetReg()) // soffset
.addImm(i * 4) // offset .addImm(i * 4) // offset
.addMemOperand(MMO); .addMemOperand(MMO);
BuildMI(*MBB, MI, DL, BuildMI(*MBB, MI, DL,
@ -576,8 +576,8 @@ void SIRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator MI,
case AMDGPU::SI_SPILL_V32_SAVE: case AMDGPU::SI_SPILL_V32_SAVE:
buildScratchLoadStore(MI, AMDGPU::BUFFER_STORE_DWORD_OFFSET, buildScratchLoadStore(MI, AMDGPU::BUFFER_STORE_DWORD_OFFSET,
TII->getNamedOperand(*MI, AMDGPU::OpName::vdata), TII->getNamedOperand(*MI, AMDGPU::OpName::vdata),
TII->getNamedOperand(*MI, AMDGPU::OpName::scratch_rsrc)->getReg(), TII->getNamedOperand(*MI, AMDGPU::OpName::srsrc)->getReg(),
TII->getNamedOperand(*MI, AMDGPU::OpName::scratch_offset)->getReg(), TII->getNamedOperand(*MI, AMDGPU::OpName::soffset)->getReg(),
FrameInfo.getObjectOffset(Index) + FrameInfo.getObjectOffset(Index) +
TII->getNamedOperand(*MI, AMDGPU::OpName::offset)->getImm(), RS); TII->getNamedOperand(*MI, AMDGPU::OpName::offset)->getImm(), RS);
MI->eraseFromParent(); MI->eraseFromParent();
@ -591,8 +591,8 @@ void SIRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator MI,
case AMDGPU::SI_SPILL_V512_RESTORE: { case AMDGPU::SI_SPILL_V512_RESTORE: {
buildScratchLoadStore(MI, AMDGPU::BUFFER_LOAD_DWORD_OFFSET, buildScratchLoadStore(MI, AMDGPU::BUFFER_LOAD_DWORD_OFFSET,
TII->getNamedOperand(*MI, AMDGPU::OpName::vdata), TII->getNamedOperand(*MI, AMDGPU::OpName::vdata),
TII->getNamedOperand(*MI, AMDGPU::OpName::scratch_rsrc)->getReg(), TII->getNamedOperand(*MI, AMDGPU::OpName::srsrc)->getReg(),
TII->getNamedOperand(*MI, AMDGPU::OpName::scratch_offset)->getReg(), TII->getNamedOperand(*MI, AMDGPU::OpName::soffset)->getReg(),
FrameInfo.getObjectOffset(Index) + FrameInfo.getObjectOffset(Index) +
TII->getNamedOperand(*MI, AMDGPU::OpName::offset)->getImm(), RS); TII->getNamedOperand(*MI, AMDGPU::OpName::offset)->getImm(), RS);
MI->eraseFromParent(); MI->eraseFromParent();