mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-26 12:20:42 +00:00
DebugInfo: Delete subclasses of DIScope
Delete subclasses of (the already defunct) `DIScope`, updating users to use the raw pointers from the `Metadata` hierarchy directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235356 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -154,9 +154,10 @@ void llvm::CloneFunctionInto(Function *NewFunc, const Function *OldFunc,
|
||||
TypeMapper, Materializer);
|
||||
}
|
||||
|
||||
// Find the MDNode which corresponds to the DISubprogram data that described F.
|
||||
static MDNode* FindSubprogram(const Function *F, DebugInfoFinder &Finder) {
|
||||
for (DISubprogram Subprogram : Finder.subprograms()) {
|
||||
// Find the MDNode which corresponds to the subprogram data that described F.
|
||||
static MDSubprogram *FindSubprogram(const Function *F,
|
||||
DebugInfoFinder &Finder) {
|
||||
for (MDSubprogram *Subprogram : Finder.subprograms()) {
|
||||
if (Subprogram->describes(F))
|
||||
return Subprogram;
|
||||
}
|
||||
@@ -165,7 +166,8 @@ static MDNode* FindSubprogram(const Function *F, DebugInfoFinder &Finder) {
|
||||
|
||||
// Add an operand to an existing MDNode. The new operand will be added at the
|
||||
// back of the operand list.
|
||||
static void AddOperand(DICompileUnit CU, MDSubprogramArray SPs, Metadata *NewSP) {
|
||||
static void AddOperand(MDCompileUnit *CU, MDSubprogramArray SPs,
|
||||
Metadata *NewSP) {
|
||||
SmallVector<Metadata *, 16> NewSPs;
|
||||
NewSPs.reserve(SPs.size() + 1);
|
||||
for (auto *SP : SPs)
|
||||
@@ -181,16 +183,16 @@ static void CloneDebugInfoMetadata(Function *NewFunc, const Function *OldFunc,
|
||||
DebugInfoFinder Finder;
|
||||
Finder.processModule(*OldFunc->getParent());
|
||||
|
||||
const MDNode *OldSubprogramMDNode = FindSubprogram(OldFunc, Finder);
|
||||
const MDSubprogram *OldSubprogramMDNode = FindSubprogram(OldFunc, Finder);
|
||||
if (!OldSubprogramMDNode) return;
|
||||
|
||||
// Ensure that OldFunc appears in the map.
|
||||
// (if it's already there it must point to NewFunc anyway)
|
||||
VMap[OldFunc] = NewFunc;
|
||||
DISubprogram NewSubprogram =
|
||||
auto *NewSubprogram =
|
||||
cast<MDSubprogram>(MapMetadata(OldSubprogramMDNode, VMap));
|
||||
|
||||
for (DICompileUnit CU : Finder.compile_units()) {
|
||||
for (auto *CU : Finder.compile_units()) {
|
||||
auto Subprograms = CU->getSubprograms();
|
||||
// If the compile unit's function list contains the old function, it should
|
||||
// also contain the new one.
|
||||
|
||||
Reference in New Issue
Block a user