mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-07 01:38:26 +00:00
Sink DwarfDebug.cpp::constructVariableDIE into DwarfCompileUnit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219419 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4710301da5
commit
81a95a816b
@ -542,4 +542,12 @@ DwarfCompileUnit::constructVariableDIEImpl(const DbgVariable &DV,
|
||||
return VariableDie;
|
||||
}
|
||||
|
||||
std::unique_ptr<DIE> DwarfCompileUnit::constructVariableDIE(
|
||||
DbgVariable &DV, const LexicalScope &Scope, DIE *&ObjectPointer) {
|
||||
auto Var = constructVariableDIE(DV, Scope.isAbstractScope());
|
||||
if (DV.isObjectPointer())
|
||||
ObjectPointer = Var.get();
|
||||
return Var;
|
||||
}
|
||||
|
||||
} // end llvm namespace
|
||||
|
@ -106,6 +106,10 @@ public:
|
||||
/// constructVariableDIE - Construct a DIE for the given DbgVariable.
|
||||
std::unique_ptr<DIE> constructVariableDIE(DbgVariable &DV,
|
||||
bool Abstract = false);
|
||||
|
||||
std::unique_ptr<DIE> constructVariableDIE(DbgVariable &DV,
|
||||
const LexicalScope &Scope,
|
||||
DIE *&ObjectPointer);
|
||||
};
|
||||
|
||||
} // end llvm namespace
|
||||
|
@ -330,16 +330,6 @@ bool DwarfDebug::isLexicalScopeDIENull(LexicalScope *Scope) {
|
||||
return !getLabelAfterInsn(Ranges.front().second);
|
||||
}
|
||||
|
||||
static std::unique_ptr<DIE> constructVariableDIE(DwarfCompileUnit &TheCU,
|
||||
DbgVariable &DV,
|
||||
const LexicalScope &Scope,
|
||||
DIE *&ObjectPointer) {
|
||||
auto Var = TheCU.constructVariableDIE(DV, Scope.isAbstractScope());
|
||||
if (DV.isObjectPointer())
|
||||
ObjectPointer = Var.get();
|
||||
return Var;
|
||||
}
|
||||
|
||||
DIE *DwarfDebug::createScopeChildrenDIE(
|
||||
DwarfCompileUnit &TheCU, LexicalScope *Scope,
|
||||
SmallVectorImpl<std::unique_ptr<DIE>> &Children,
|
||||
@ -347,7 +337,7 @@ DIE *DwarfDebug::createScopeChildrenDIE(
|
||||
DIE *ObjectPointer = nullptr;
|
||||
|
||||
for (DbgVariable *DV : ScopeVariables.lookup(Scope))
|
||||
Children.push_back(constructVariableDIE(TheCU, *DV, *Scope, ObjectPointer));
|
||||
Children.push_back(TheCU.constructVariableDIE(*DV, *Scope, ObjectPointer));
|
||||
|
||||
unsigned ChildCountWithoutScopes = Children.size();
|
||||
|
||||
@ -433,7 +423,7 @@ void DwarfDebug::constructSubprogramScopeDIE(DwarfCompileUnit &TheCU,
|
||||
for (DbgVariable *ArgDV : CurrentFnArguments)
|
||||
if (ArgDV)
|
||||
ScopeDIE.addChild(
|
||||
constructVariableDIE(TheCU, *ArgDV, *Scope, ObjectPointer));
|
||||
TheCU.constructVariableDIE(*ArgDV, *Scope, ObjectPointer));
|
||||
|
||||
// If this is a variadic function, add an unspecified parameter.
|
||||
DITypeArray FnArgs = Sub.getType().getTypeArray();
|
||||
|
Loading…
x
Reference in New Issue
Block a user