diff options
| author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2024-08-06 00:14:02 +0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-06 00:14:02 +0400 |
| commit | f01a6f5ecb6c6969ee4ac4fdf6e1ab3d98c31309 (patch) | |
| tree | d59633f41cc0003516ea31ce8802e4a4c768a409 /llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp | |
| parent | 72825fde03aab3ce9eba2635b872144d1fb6b6b2 (diff) | |
InferAddressSpaces: Handle prefetch intrinsic (#101982)
Diffstat (limited to 'llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp')
| -rw-r--r-- | llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp b/llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp index 830c15249582..87b885447cc0 100644 --- a/llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp +++ b/llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp @@ -401,6 +401,13 @@ bool InferAddressSpacesImpl::rewriteIntrinsicOperands(IntrinsicInst *II, II->setCalledFunction(NewDecl); return true; } + case Intrinsic::prefetch: { + Function *NewDecl = + Intrinsic::getDeclaration(M, II->getIntrinsicID(), {NewV->getType()}); + II->setArgOperand(0, NewV); + II->setCalledFunction(NewDecl); + return true; + } default: { Value *Rewrite = TTI->rewriteIntrinsicWithAddressSpace(II, OldV, NewV); if (!Rewrite) @@ -423,6 +430,7 @@ void InferAddressSpacesImpl::collectRewritableIntrinsicOperands( PostorderStack, Visited); break; case Intrinsic::masked_gather: + case Intrinsic::prefetch: appendsFlatAddressExpressionToPostorderStack(II->getArgOperand(0), PostorderStack, Visited); break; |
