mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-22 23:24:59 +00:00
DebugInfo: Gut DICompileUnit and DIFile
Continuing gutting `DIDescriptor` subclasses; this edition, `DICompileUnit` and `DIFile`. In the name of PR23080. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235055 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -363,8 +363,8 @@ void DwarfDebug::addGnuPubAttributes(DwarfUnit &U, DIE &D) const {
|
||||
// Create new DwarfCompileUnit for the given metadata node with tag
|
||||
// DW_TAG_compile_unit.
|
||||
DwarfCompileUnit &DwarfDebug::constructDwarfCompileUnit(DICompileUnit DIUnit) {
|
||||
StringRef FN = DIUnit.getFilename();
|
||||
CompilationDir = DIUnit.getDirectory();
|
||||
StringRef FN = DIUnit->getFilename();
|
||||
CompilationDir = DIUnit->getDirectory();
|
||||
|
||||
auto OwnedUnit = make_unique<DwarfCompileUnit>(
|
||||
InfoHolder.getUnits().size(), DIUnit, Asm, this, &InfoHolder);
|
||||
@@ -382,9 +382,9 @@ DwarfCompileUnit &DwarfDebug::constructDwarfCompileUnit(DICompileUnit DIUnit) {
|
||||
Asm->OutStreamer.getContext().setMCLineTableCompilationDir(
|
||||
NewCU.getUniqueID(), CompilationDir);
|
||||
|
||||
NewCU.addString(Die, dwarf::DW_AT_producer, DIUnit.getProducer());
|
||||
NewCU.addString(Die, dwarf::DW_AT_producer, DIUnit->getProducer());
|
||||
NewCU.addUInt(Die, dwarf::DW_AT_language, dwarf::DW_FORM_data2,
|
||||
DIUnit.getLanguage());
|
||||
DIUnit->getSourceLanguage());
|
||||
NewCU.addString(Die, dwarf::DW_AT_name, FN);
|
||||
|
||||
if (!useSplitDwarf()) {
|
||||
@@ -398,14 +398,14 @@ DwarfCompileUnit &DwarfDebug::constructDwarfCompileUnit(DICompileUnit DIUnit) {
|
||||
addGnuPubAttributes(NewCU, Die);
|
||||
}
|
||||
|
||||
if (DIUnit.isOptimized())
|
||||
if (DIUnit->isOptimized())
|
||||
NewCU.addFlag(Die, dwarf::DW_AT_APPLE_optimized);
|
||||
|
||||
StringRef Flags = DIUnit.getFlags();
|
||||
StringRef Flags = DIUnit->getFlags();
|
||||
if (!Flags.empty())
|
||||
NewCU.addString(Die, dwarf::DW_AT_APPLE_flags, Flags);
|
||||
|
||||
if (unsigned RVer = DIUnit.getRunTimeVersion())
|
||||
if (unsigned RVer = DIUnit->getRuntimeVersion())
|
||||
NewCU.addUInt(Die, dwarf::DW_AT_APPLE_major_runtime_vers,
|
||||
dwarf::DW_FORM_data1, RVer);
|
||||
|
||||
@@ -1194,7 +1194,7 @@ void DwarfDebug::endFunction(const MachineFunction *MF) {
|
||||
|
||||
// Under -gmlt, skip building the subprogram if there are no inlined
|
||||
// subroutines inside it.
|
||||
if (TheCU.getCUNode().getEmissionKind() == DIBuilder::LineTablesOnly &&
|
||||
if (TheCU.getCUNode()->getEmissionKind() == DIBuilder::LineTablesOnly &&
|
||||
LScopes.getAbstractScopesList().empty() && !IsDarwin) {
|
||||
assert(InfoHolder.getScopeVariables().empty());
|
||||
assert(DbgValues.empty());
|
||||
@@ -1824,7 +1824,7 @@ void DwarfDebug::emitDebugRanges() {
|
||||
void DwarfDebug::initSkeletonUnit(const DwarfUnit &U, DIE &Die,
|
||||
std::unique_ptr<DwarfUnit> NewU) {
|
||||
NewU->addString(Die, dwarf::DW_AT_GNU_dwo_name,
|
||||
U.getCUNode().getSplitDebugFilename());
|
||||
U.getCUNode()->getSplitDebugFilename());
|
||||
|
||||
if (!CompilationDir.empty())
|
||||
NewU->addString(Die, dwarf::DW_AT_comp_dir, CompilationDir);
|
||||
@@ -1888,7 +1888,7 @@ MCDwarfDwoLineTable *DwarfDebug::getDwoLineTable(const DwarfCompileUnit &CU) {
|
||||
if (!useSplitDwarf())
|
||||
return nullptr;
|
||||
if (SingleCU)
|
||||
SplitTypeUnitFileTable.setCompilationDir(CU.getCUNode().getDirectory());
|
||||
SplitTypeUnitFileTable.setCompilationDir(CU.getCUNode()->getDirectory());
|
||||
return &SplitTypeUnitFileTable;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user