From 0dc623c2325ba1da8d64f5bc4ee7f0b81954410e Mon Sep 17 00:00:00 2001 From: David Blaikie Date: Fri, 24 Oct 2014 17:53:38 +0000 Subject: [PATCH] Remove DwarfDebug::FirstCU as it has no use It was only being used as a flag to identify the lack of debug info from within endModule - use the section labels for that instead. llvm-svn: 220575 --- llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 16 +++++----------- llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h | 6 ------ 2 files changed, 5 insertions(+), 17 deletions(-) diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 5fcc28e..19c8c39 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -169,8 +169,7 @@ static LLVM_CONSTEXPR DwarfAccelTable::Atom TypeAtoms[] = { DwarfAccelTable::Atom(dwarf::DW_ATOM_type_flags, dwarf::DW_FORM_data1)}; DwarfDebug::DwarfDebug(AsmPrinter *A, Module *M) - : Asm(A), MMI(Asm->MMI), FirstCU(nullptr), PrevLabel(nullptr), - GlobalRangeCount(0), + : Asm(A), MMI(Asm->MMI), PrevLabel(nullptr), GlobalRangeCount(0), InfoHolder(A, *this, "info_string", DIEValueAllocator), UsedNonDefaultText(false), SkeletonHolder(A, *this, "skel_string", DIEValueAllocator), @@ -403,9 +402,6 @@ DwarfCompileUnit &DwarfDebug::constructDwarfCompileUnit(DICompileUnit DIUnit) { NewCU.addUInt(Die, dwarf::DW_AT_APPLE_major_runtime_vers, dwarf::DW_FORM_data1, RVer); - if (!FirstCU) - FirstCU = &NewCU; - if (useSplitDwarf()) { NewCU.initSection(Asm->getObjFileLowering().getDwarfInfoDWOSection(), DwarfInfoDWOSectionSym); @@ -438,8 +434,6 @@ void DwarfDebug::beginModule() { FunctionDIs = makeSubprogramMap(*M); - // If module has named metadata anchors then use them, otherwise scan the - // module using debug info finder to collect debug info. NamedMDNode *CU_Nodes = M->getNamedMetadata("llvm.dbg.cu"); if (!CU_Nodes) return; @@ -687,7 +681,10 @@ void DwarfDebug::endModule() { assert(CurFn == nullptr); assert(CurMI == nullptr); - if (!FirstCU) + // If we aren't actually generating debug info (check beginModule - + // conditionalized on !DisableDebugInfoPrinting and the presence of the + // llvm.dbg.cu metadata node) + if (!DwarfInfoSectionSym) return; // End any existing sections. @@ -741,9 +738,6 @@ void DwarfDebug::endModule() { // clean up. SPMap.clear(); AbstractVariables.clear(); - - // Reset these for the next Module if we have one. - FirstCU = nullptr; } // Find abstract variable, if any, associated with Var. diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h index 9692213..2c7955d 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h @@ -164,12 +164,6 @@ class DwarfDebug : public AsmPrinterHandler { // All DIEValues are allocated through this allocator. BumpPtrAllocator DIEValueAllocator; - // Handle to the compile unit used for the inline extension handling, - // this is just so that the DIEValue allocator has a place to store - // the particular elements. - // FIXME: Store these off of DwarfDebug instead? - DwarfCompileUnit *FirstCU; - // Maps MDNode with its corresponding DwarfCompileUnit. MapVector CUMap; -- 2.7.4