diff options
author | shadchin <shadchin@yandex-team.ru> | 2022-02-10 16:44:39 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:44:39 +0300 |
commit | e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (patch) | |
tree | 64175d5cadab313b3e7039ebaa06c5bc3295e274 /contrib/libs/llvm12/lib/Analysis/CallGraph.cpp | |
parent | 2598ef1d0aee359b4b6d5fdd1758916d5907d04f (diff) | |
download | ydb-e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0.tar.gz |
Restoring authorship annotation for <shadchin@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs/llvm12/lib/Analysis/CallGraph.cpp')
-rw-r--r-- | contrib/libs/llvm12/lib/Analysis/CallGraph.cpp | 58 |
1 files changed, 29 insertions, 29 deletions
diff --git a/contrib/libs/llvm12/lib/Analysis/CallGraph.cpp b/contrib/libs/llvm12/lib/Analysis/CallGraph.cpp index 931a3ff3ac..9b212e564a 100644 --- a/contrib/libs/llvm12/lib/Analysis/CallGraph.cpp +++ b/contrib/libs/llvm12/lib/Analysis/CallGraph.cpp @@ -267,37 +267,37 @@ void CallGraphNode::replaceCallEdge(CallBase &Call, CallBase &NewCall, I->second = NewNode; NewNode->AddRef(); - // Refresh callback references. Do not resize CalledFunctions if the - // number of callbacks is the same for new and old call sites. - SmallVector<CallGraphNode *, 4u> OldCBs; - SmallVector<CallGraphNode *, 4u> NewCBs; - forEachCallbackFunction(Call, [this, &OldCBs](Function *CB) { - OldCBs.push_back(CG->getOrInsertFunction(CB)); + // Refresh callback references. Do not resize CalledFunctions if the + // number of callbacks is the same for new and old call sites. + SmallVector<CallGraphNode *, 4u> OldCBs; + SmallVector<CallGraphNode *, 4u> NewCBs; + forEachCallbackFunction(Call, [this, &OldCBs](Function *CB) { + OldCBs.push_back(CG->getOrInsertFunction(CB)); }); - forEachCallbackFunction(NewCall, [this, &NewCBs](Function *CB) { - NewCBs.push_back(CG->getOrInsertFunction(CB)); + forEachCallbackFunction(NewCall, [this, &NewCBs](Function *CB) { + NewCBs.push_back(CG->getOrInsertFunction(CB)); }); - if (OldCBs.size() == NewCBs.size()) { - for (unsigned N = 0; N < OldCBs.size(); ++N) { - CallGraphNode *OldNode = OldCBs[N]; - CallGraphNode *NewNode = NewCBs[N]; - for (auto J = CalledFunctions.begin();; ++J) { - assert(J != CalledFunctions.end() && - "Cannot find callsite to update!"); - if (!J->first && J->second == OldNode) { - J->second = NewNode; - OldNode->DropRef(); - NewNode->AddRef(); - break; - } - } - } - } else { - for (auto *CGN : OldCBs) - removeOneAbstractEdgeTo(CGN); - for (auto *CGN : NewCBs) - addCalledFunction(nullptr, CGN); - } + if (OldCBs.size() == NewCBs.size()) { + for (unsigned N = 0; N < OldCBs.size(); ++N) { + CallGraphNode *OldNode = OldCBs[N]; + CallGraphNode *NewNode = NewCBs[N]; + for (auto J = CalledFunctions.begin();; ++J) { + assert(J != CalledFunctions.end() && + "Cannot find callsite to update!"); + if (!J->first && J->second == OldNode) { + J->second = NewNode; + OldNode->DropRef(); + NewNode->AddRef(); + break; + } + } + } + } else { + for (auto *CGN : OldCBs) + removeOneAbstractEdgeTo(CGN); + for (auto *CGN : NewCBs) + addCalledFunction(nullptr, CGN); + } return; } } |