diff options
author | Stanislav Mekhanoshin <rampitec@users.noreply.github.com> | 2024-09-13 11:14:28 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-13 11:14:28 -0700 |
commit | d0e7714de73b8b657dca1706e676027d42bbb775 (patch) | |
tree | 7993bf1cecf9200d113582d147797dec9b56303c /llvm/lib/IR/Verifier.cpp | |
parent | 4c040c027575f3a30dc94bfab4c975567195bdc7 (diff) | |
download | llvm-d0e7714de73b8b657dca1706e676027d42bbb775.zip llvm-d0e7714de73b8b657dca1706e676027d42bbb775.tar.gz llvm-d0e7714de73b8b657dca1706e676027d42bbb775.tar.bz2 |
[AMDGPU] Error on non-global pointer with s_prefetch_data (#107624)
Diffstat (limited to 'llvm/lib/IR/Verifier.cpp')
-rw-r--r-- | llvm/lib/IR/Verifier.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/IR/Verifier.cpp b/llvm/lib/IR/Verifier.cpp index d8f3bab..06a67346f 100644 --- a/llvm/lib/IR/Verifier.cpp +++ b/llvm/lib/IR/Verifier.cpp @@ -114,6 +114,7 @@ #include "llvm/IR/Value.h" #include "llvm/InitializePasses.h" #include "llvm/Pass.h" +#include "llvm/Support/AMDGPUAddrSpace.h" #include "llvm/Support/AtomicOrdering.h" #include "llvm/Support/Casting.h" #include "llvm/Support/CommandLine.h" @@ -6281,6 +6282,13 @@ void Verifier::visitIntrinsicCall(Intrinsic::ID ID, CallBase &Call) { "Value for inactive lanes must be a VGPR function argument", &Call); break; } + case Intrinsic::amdgcn_s_prefetch_data: { + Check( + AMDGPU::isFlatGlobalAddrSpace( + Call.getArgOperand(0)->getType()->getPointerAddressSpace()), + "llvm.amdgcn.s.prefetch.data only supports global or constant memory"); + break; + } case Intrinsic::nvvm_setmaxnreg_inc_sync_aligned_u32: case Intrinsic::nvvm_setmaxnreg_dec_sync_aligned_u32: { Value *V = Call.getArgOperand(0); |