diff options
| author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2016-09-13 19:15:25 +0000 |
|---|---|---|
| committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2016-09-13 19:15:25 +0000 |
| commit | a992f71bef1efc590be688a056b1c75432c019af (patch) | |
| tree | b2e401e3fed74f9143e7bf8aa3f53c6b6f6c4636 /llvm/lib/Target | |
| parent | ec3e436a36c4a79f8d1e17166c195b72d11df40b (diff) | |
| download | bcm5719-llvm-a992f71bef1efc590be688a056b1c75432c019af.tar.gz bcm5719-llvm-a992f71bef1efc590be688a056b1c75432c019af.zip | |
AMDGPU: Remove code I think is dead
As far as I can tell, resolveFrameIndex is supposed to be
called with a legal offset, so inserting an add shouldn't be
necessary.
llvm-svn: 281372
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp | 30 |
1 files changed, 3 insertions, 27 deletions
diff --git a/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp b/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp index 7bfc83c72de..6804c0f6bb7 100644 --- a/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp +++ b/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp @@ -265,34 +265,10 @@ void SIRegisterInfo::resolveFrameIndex(MachineInstr &MI, unsigned BaseReg, MachineOperand *OffsetOp = TII->getNamedOperand(MI, AMDGPU::OpName::offset); int64_t NewOffset = OffsetOp->getImm() + Offset; - if (isUInt<12>(NewOffset)) { - // If we have a legal offset, fold it directly into the instruction. - FIOp->ChangeToRegister(BaseReg, false); - OffsetOp->setImm(NewOffset); - return; - } - - // The offset is not legal, so we must insert an add of the offset. - MachineRegisterInfo &MRI = MF->getRegInfo(); - unsigned NewReg = MRI.createVirtualRegister(&AMDGPU::VGPR_32RegClass); - DebugLoc DL = MI.getDebugLoc(); - - assert(Offset != 0 && "Non-zero offset expected"); - - unsigned UnusedCarry = MRI.createVirtualRegister(&AMDGPU::SReg_64RegClass); - unsigned OffsetReg = MRI.createVirtualRegister(&AMDGPU::SReg_32RegClass); - - // In the case the instruction already had an immediate offset, here only - // the requested new offset is added because we are leaving the original - // immediate in place. - BuildMI(*MBB, MI, DL, TII->get(AMDGPU::S_MOV_B32), OffsetReg) - .addImm(Offset); - BuildMI(*MBB, MI, DL, TII->get(AMDGPU::V_ADD_I32_e64), NewReg) - .addReg(UnusedCarry, RegState::Define | RegState::Dead) - .addReg(OffsetReg, RegState::Kill) - .addReg(BaseReg); + assert(isUInt<12>(NewOffset) && "offset should be legal"); - FIOp->ChangeToRegister(NewReg, false); + FIOp->ChangeToRegister(BaseReg, false); + OffsetOp->setImm(NewOffset); } bool SIRegisterInfo::isFrameOffsetLegal(const MachineInstr *MI, |

