From: Devang Patel Date: Thu, 30 Jul 2009 18:56:46 +0000 (+0000) Subject: Start using DebugInfoFinder. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=78ab9e2c4907428f5f0d8aa594258ac188dd2125;p=oota-llvm.git Start using DebugInfoFinder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77621 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index fea00f4f954..afcd44aeb9e 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -1283,14 +1283,12 @@ void DwarfDebug::BeginModule(Module *M, MachineModuleInfo *mmi) { if (TimePassesIsEnabled) DebugTimer->startTimer(); - SmallVector CUs; - SmallVector GVs; - SmallVector SPs; - CollectDebugInfoAnchors(*M, CUs, GVs, SPs); + DebugInfoFinder DbgFinder; + DbgFinder.processModule(*M); // Create all the compile unit DIEs. - for (SmallVector::iterator I = CUs.begin(), - E = CUs.end(); I != E; ++I) + for (DebugInfoFinder::iterator I = DbgFinder.compile_unit_begin(), + E = DbgFinder.compile_unit_end(); I != E; ++I) ConstructCompileUnit(*I); if (CompileUnits.empty()) { @@ -1307,21 +1305,21 @@ void DwarfDebug::BeginModule(Module *M, MachineModuleInfo *mmi) { // If there is not any debug info available for any global variables and any // subprograms then there is not any debug info to emit. - if (GVs.empty() && SPs.empty()) { + if (DbgFinder.global_variable_count() == 0 + && DbgFinder.subprogram_count() == 0) { if (TimePassesIsEnabled) DebugTimer->stopTimer(); - return; } - + // Create DIEs for each of the externally visible global variables. - for (SmallVector::iterator I = GVs.begin(), - E = GVs.end(); I != E; ++I) + for (DebugInfoFinder::iterator I = DbgFinder.global_variable_begin(), + E = DbgFinder.global_variable_end(); I != E; ++I) ConstructGlobalVariableDIE(*I); // Create DIEs for each of the externally visible subprograms. - for (SmallVector::iterator I = SPs.begin(), - E = SPs.end(); I != E; ++I) + for (DebugInfoFinder::iterator I = DbgFinder.subprogram_begin(), + E = DbgFinder.subprogram_end(); I != E; ++I) ConstructSubprogram(*I); MMI = mmi;