diff --git a/llvm/lib/Target/AMDGPU/SIFrameLowering.cpp b/llvm/lib/Target/AMDGPU/SIFrameLowering.cpp --- a/llvm/lib/Target/AMDGPU/SIFrameLowering.cpp +++ b/llvm/lib/Target/AMDGPU/SIFrameLowering.cpp @@ -147,7 +147,7 @@ MachinePointerInfo::getFixedStack(*MF, FI), MachineMemOperand::MOStore, 4, MFI.getObjectAlign(FI)); - if (isUInt<12>(Offset)) { + if (SIInstrInfo::isLegalMUBUFImmOffset(Offset)) { BuildMI(MBB, I, DebugLoc(), TII->get(AMDGPU::BUFFER_STORE_DWORD_OFFSET)) .addReg(SpillReg, RegState::Kill) .addReg(ScratchRsrcReg) @@ -200,7 +200,7 @@ MachinePointerInfo::getFixedStack(*MF, FI), MachineMemOperand::MOLoad, 4, MFI.getObjectAlign(FI)); - if (isUInt<12>(Offset)) { + if (SIInstrInfo::isLegalMUBUFImmOffset(Offset)) { BuildMI(MBB, I, DebugLoc(), TII->get(AMDGPU::BUFFER_LOAD_DWORD_OFFSET), SpillReg) .addReg(ScratchRsrcReg) diff --git a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp --- a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp +++ b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp @@ -1303,7 +1303,7 @@ // assume those use MUBUF instructions. Scratch loads / stores are currently // implemented as mubuf instructions with offen bit set, so slightly // different than the normal addr64. - if (!isUInt<12>(AM.BaseOffs)) + if (!SIInstrInfo::isLegalMUBUFImmOffset(AM.BaseOffs)) return false; // FIXME: Since we can split immediate into soffset and immediate offset, diff --git a/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp b/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp --- a/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp +++ b/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp @@ -441,7 +441,7 @@ int64_t FullOffset = Offset + getMUBUFInstrOffset(MI); - return !isUInt<12>(FullOffset); + return !SIInstrInfo::isLegalMUBUFImmOffset(FullOffset); } void SIRegisterInfo::materializeFrameBaseRegister(MachineBasicBlock *MBB, @@ -511,7 +511,8 @@ MachineOperand *OffsetOp = TII->getNamedOperand(MI, AMDGPU::OpName::offset); int64_t NewOffset = OffsetOp->getImm() + Offset; - assert(isUInt<12>(NewOffset) && "offset should be legal"); + assert(SIInstrInfo::isLegalMUBUFImmOffset(NewOffset) && + "offset should be legal"); FIOp->ChangeToRegister(BaseReg, false); OffsetOp->setImm(NewOffset); @@ -529,7 +530,7 @@ int64_t NewOffset = Offset + getMUBUFInstrOffset(MI); - return isUInt<12>(NewOffset); + return SIInstrInfo::isLegalMUBUFImmOffset(NewOffset); } const TargetRegisterClass *SIRegisterInfo::getPointerRegClass( @@ -770,7 +771,7 @@ assert((Offset % EltSize) == 0 && "unexpected VGPR spill offset"); - if (!isUInt<12>(Offset + Size - EltSize)) { + if (!SIInstrInfo::isLegalMUBUFImmOffset(Offset + Size - EltSize)) { SOffset = MCRegister(); // We currently only support spilling VGPRs to EltSize boundaries, meaning @@ -1472,7 +1473,7 @@ = TII->getNamedOperand(*MI, AMDGPU::OpName::offset)->getImm(); int64_t NewOffset = OldImm + Offset; - if (isUInt<12>(NewOffset) && + if (SIInstrInfo::isLegalMUBUFImmOffset(NewOffset) && buildMUBUFOffsetLoadStore(ST, FrameInfo, MI, Index, NewOffset)) { MI->eraseFromParent(); return;