From e20f4592297ba44644a8ec75b9d182a903cc0df3 Mon Sep 17 00:00:00 2001 From: Jay Foad Date: Thu, 1 Oct 2020 15:06:27 +0100 Subject: [PATCH] [AMDGPU] Simplify getNumFlatOffsetBits. NFC. Remove some checks that have already been done in the only caller. --- llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp | 2 +- llvm/lib/Target/AMDGPU/SIInstrInfo.cpp | 9 +-------- llvm/lib/Target/AMDGPU/SIInstrInfo.h | 2 +- 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp b/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp index 5dd42d1..8915ef8 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp @@ -1712,7 +1712,7 @@ bool AMDGPUDAGToDAGISel::SelectFlatOffset(SDNode *N, SDLoc DL(N); uint64_t RemainderOffset = COffsetVal; uint64_t ImmField = 0; - const unsigned NumBits = TII->getNumFlatOffsetBits(AS, IsSigned); + const unsigned NumBits = TII->getNumFlatOffsetBits(IsSigned); if (IsSigned) { // Use signed division by a power of two to truncate towards 0. int64_t D = 1LL << (NumBits - 1); diff --git a/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp b/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp index 8f67c2a..abf6869 100644 --- a/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp +++ b/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp @@ -6893,14 +6893,7 @@ bool SIInstrInfo::isBufferSMRD(const MachineInstr &MI) const { return RI.getRegClass(RCID)->hasSubClassEq(&AMDGPU::SGPR_128RegClass); } -unsigned SIInstrInfo::getNumFlatOffsetBits(unsigned AddrSpace, - bool Signed) const { - if (!ST.hasFlatInstOffsets()) - return 0; - - if (ST.hasFlatSegmentOffsetBug() && AddrSpace == AMDGPUAS::FLAT_ADDRESS) - return 0; - +unsigned SIInstrInfo::getNumFlatOffsetBits(bool Signed) const { if (ST.getGeneration() >= AMDGPUSubtarget::GFX10) return Signed ? 12 : 11; diff --git a/llvm/lib/Target/AMDGPU/SIInstrInfo.h b/llvm/lib/Target/AMDGPU/SIInstrInfo.h index 8149c47..8ce41c4 100644 --- a/llvm/lib/Target/AMDGPU/SIInstrInfo.h +++ b/llvm/lib/Target/AMDGPU/SIInstrInfo.h @@ -1016,7 +1016,7 @@ public: return isUInt<12>(Imm); } - unsigned getNumFlatOffsetBits(unsigned AddrSpace, bool Signed) const; + unsigned getNumFlatOffsetBits(bool Signed) const; /// Returns if \p Offset is legal for the subtarget as the offset to a FLAT /// encoded instruction. If \p Signed, this is for an instruction that -- 2.7.4