-
Notifications
You must be signed in to change notification settings - Fork 12.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[NFC][Utils] Remove DebugInfoFinder parameter from CloneBasicBlock #118620
Conversation
@llvm/pr-subscribers-llvm-transforms Author: Artem Pianykh (artempyanykh) Changes[NFC][Utils] Remove DebugInfoFinder parameter from CloneBasicBlock Summary: Test Plan: Full diff: https://github.com/llvm/llvm-project/pull/118620.diff 2 Files Affected:
diff --git a/llvm/include/llvm/Transforms/Utils/Cloning.h b/llvm/include/llvm/Transforms/Utils/Cloning.h
index 049d68b8a30681..3c8f2cbfaa9b81 100644
--- a/llvm/include/llvm/Transforms/Utils/Cloning.h
+++ b/llvm/include/llvm/Transforms/Utils/Cloning.h
@@ -119,8 +119,7 @@ struct ClonedCodeInfo {
/// parameter.
BasicBlock *CloneBasicBlock(const BasicBlock *BB, ValueToValueMapTy &VMap,
const Twine &NameSuffix = "", Function *F = nullptr,
- ClonedCodeInfo *CodeInfo = nullptr,
- DebugInfoFinder *DIFinder = nullptr);
+ ClonedCodeInfo *CodeInfo = nullptr);
/// Return a copy of the specified function and add it to that
/// function's module. Also, any references specified in the VMap are changed
diff --git a/llvm/lib/Transforms/Utils/CloneFunction.cpp b/llvm/lib/Transforms/Utils/CloneFunction.cpp
index cb6a4e34c226e5..b55776d736e663 100644
--- a/llvm/lib/Transforms/Utils/CloneFunction.cpp
+++ b/llvm/lib/Transforms/Utils/CloneFunction.cpp
@@ -43,21 +43,16 @@ using namespace llvm;
/// See comments in Cloning.h.
BasicBlock *llvm::CloneBasicBlock(const BasicBlock *BB, ValueToValueMapTy &VMap,
const Twine &NameSuffix, Function *F,
- ClonedCodeInfo *CodeInfo,
- DebugInfoFinder *DIFinder) {
+ ClonedCodeInfo *CodeInfo) {
BasicBlock *NewBB = BasicBlock::Create(BB->getContext(), "", F);
NewBB->IsNewDbgInfoFormat = BB->IsNewDbgInfoFormat;
if (BB->hasName())
NewBB->setName(BB->getName() + NameSuffix);
bool hasCalls = false, hasDynamicAllocas = false, hasMemProfMetadata = false;
- Module *TheModule = F ? F->getParent() : nullptr;
// Loop over all instructions, and copy them over.
for (const Instruction &I : *BB) {
- if (DIFinder && TheModule)
- DIFinder->processInstruction(*TheModule, I);
-
Instruction *NewInst = I.clone();
if (I.hasName())
NewInst->setName(I.getName() + NameSuffix);
@@ -221,10 +216,7 @@ void llvm::CloneFunctionInto(Function *NewFunc, const Function *OldFunc,
for (const BasicBlock &BB : *OldFunc) {
// Create a new basic block and copy instructions into it!
- // NOTE: don't pass DIFinder because instructions' debug info was processed
- // in ProcessSubprogramAttachment. This will be cleaned up further.
- BasicBlock *CBB =
- CloneBasicBlock(&BB, VMap, NameSuffix, NewFunc, CodeInfo, nullptr);
+ BasicBlock *CBB = CloneBasicBlock(&BB, VMap, NameSuffix, NewFunc, CodeInfo);
// Add basic block mapping.
VMap[&BB] = CBB;
|
Summary: There was a single usage of CloneBasicBlock with non-default DebugInfoFinder inside CloneFunctionInto which has been refactored in more focused. Test Plan: ninja check-llvm-unit check-llvm stack-info: PR: #118620, branch: users/artempyanykh/fast-coro-upstream/1
7359c16
to
1eaaeec
Compare
I looked through the PR stack. I don't have any objections. Although I don't have much familiarity with how DebugInfo is used. LGTM |
Thanks for having a look at the stack @TylerNowicki! Just in case, there's a bit more info on the stack in #109032 and this topic. |
…lvm#118620) Summary: There was a single usage of CloneBasicBlock with non-default DebugInfoFinder inside CloneFunctionInto which has been refactored in more focused. Test Plan: ninja check-llvm-unit check-llvm
…lvm#118620) Summary: There was a single usage of CloneBasicBlock with non-default DebugInfoFinder inside CloneFunctionInto which has been refactored in more focused. Test Plan: ninja check-llvm-unit check-llvm
…lvm#118620) Summary: There was a single usage of CloneBasicBlock with non-default DebugInfoFinder inside CloneFunctionInto which has been refactored in more focused. Test Plan: ninja check-llvm-unit check-llvm
Stacked PRs:
[NFC][Utils] Remove DebugInfoFinder parameter from CloneBasicBlock
Summary:
There was a single usage of CloneBasicBlock with non-default
DebugInfoFinder inside CloneFunctionInto which has been refactored in
more focused.
Test Plan:
ninja check-llvm-unit check-llvm