[llvm] aa7e09e - AMDGPU: Use generic helper for skipping over allocas
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 22 15:03:05 PDT 2023
Author: Matt Arsenault
Date: 2023-06-22T18:02:49-04:00
New Revision: aa7e09ebd38c5f23f6d7d6d8394a2aea04715ba9
URL: https://github.com/llvm/llvm-project/commit/aa7e09ebd38c5f23f6d7d6d8394a2aea04715ba9
DIFF: https://github.com/llvm/llvm-project/commit/aa7e09ebd38c5f23f6d7d6d8394a2aea04715ba9.diff
LOG: AMDGPU: Use generic helper for skipping over allocas
Added:
Modified:
llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp b/llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
index f5323725250f3..1feb2bf15aed3 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
@@ -40,21 +40,6 @@ class AMDGPULowerKernelArguments : public FunctionPass{
} // end anonymous namespace
-// skip allocas
-static BasicBlock::iterator getInsertPt(BasicBlock &BB) {
- BasicBlock::iterator InsPt = BB.getFirstInsertionPt();
- for (BasicBlock::iterator E = BB.end(); InsPt != E; ++InsPt) {
- AllocaInst *AI = dyn_cast<AllocaInst>(&*InsPt);
-
- // If this is a dynamic alloca, the value may depend on the loaded kernargs,
- // so loads will need to be inserted before it.
- if (!AI || !AI->isStaticAlloca())
- break;
- }
-
- return InsPt;
-}
-
bool AMDGPULowerKernelArguments::runOnFunction(Function &F) {
CallingConv::ID CC = F.getCallingConv();
if (CC != CallingConv::AMDGPU_KERNEL || F.arg_empty())
@@ -67,7 +52,7 @@ bool AMDGPULowerKernelArguments::runOnFunction(Function &F) {
LLVMContext &Ctx = F.getParent()->getContext();
const DataLayout &DL = F.getParent()->getDataLayout();
BasicBlock &EntryBlock = *F.begin();
- IRBuilder<> Builder(&*getInsertPt(EntryBlock));
+ IRBuilder<> Builder(&*EntryBlock.getFirstNonPHIOrDbgOrAlloca());
const Align KernArgBaseAlign(16); // FIXME: Increase if necessary
const uint64_t BaseOffset = ST.getExplicitKernelArgOffset();
More information about the llvm-commits
mailing list