diff options
author | Andrés Villegas <andresvi@google.com> | 2024-01-03 23:05:20 +0000 |
---|---|---|
committer | Andrés Villegas <andresvi@google.com> | 2024-01-03 23:05:20 +0000 |
commit | e99fdd060baf7ea196f9b9e531b58e5d8489f5fd (patch) | |
tree | 56305609013119524612245bd222dac094de4f68 /llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp | |
parent | d242f164d69ec606db9418c02c9588bffa429928 (diff) | |
parent | 51113244836be55b3d2f181c0f88043b5967eb61 (diff) | |
download | llvm-e99fdd060baf7ea196f9b9e531b58e5d8489f5fd.zip llvm-e99fdd060baf7ea196f9b9e531b58e5d8489f5fd.tar.gz llvm-e99fdd060baf7ea196f9b9e531b58e5d8489f5fd.tar.bz2 |
Created using spr 1.3.5
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp')
-rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp b/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp index fba0604..92182ec 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp @@ -3263,17 +3263,19 @@ void AMDGPURegisterBankInfo::applyMappingImpl( MI.eraseFromParent(); return; } - unsigned PtrBank = - getRegBankID(MI.getOperand(0).getReg(), MRI, AMDGPU::SGPRRegBankID); + Register PtrReg = MI.getOperand(0).getReg(); + unsigned PtrBank = getRegBankID(PtrReg, MRI, AMDGPU::SGPRRegBankID); if (PtrBank == AMDGPU::VGPRRegBankID) { MI.eraseFromParent(); return; } - // FIXME: There is currently no support for prefetch in global isel. - // There is no node equivalence and what's worse there is no MMO produced - // for a prefetch on global isel path. - // Prefetch does not affect execution so erase it for now. - MI.eraseFromParent(); + unsigned AS = MRI.getType(PtrReg).getAddressSpace(); + if (!AMDGPU::isFlatGlobalAddrSpace(AS) && + AS != AMDGPUAS::CONSTANT_ADDRESS_32BIT) { + MI.eraseFromParent(); + return; + } + applyDefaultMapping(OpdMapper); return; } default: |