From 6122a4d1c0c73c1d2d5754c50c68d1dc4ae6f70f Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Thu, 8 Apr 2010 15:37:09 +0000 Subject: [PATCH] Refactor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100768 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 12 ++++++++++-- lib/CodeGen/AsmPrinter/DwarfDebug.h | 5 +++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 259167b809b..b1e190c3f51 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -2268,6 +2268,16 @@ bool DwarfDebug::extractScopeInformation() { CurrentFnDbgScope->fixInstructionMarkers(MIIndexMap); + populateDbgScopeInverseMaps(); + + return !DbgScopeMap.empty(); +} + +/// populateDbgScopeInverseMaps() - Populate DbgScopeBeginMap and +/// DbgScopeEndMap. This maps are used to indentify debug scope started +/// and ended by an instruction. +void DwarfDebug::populateDbgScopeInverseMaps() { + // Each scope has first instruction and last instruction to mark beginning // and end of a scope respectively. Create an inverse map that list scopes // starts (and ends) with an instruction. One instruction may start (or end) @@ -2302,8 +2312,6 @@ bool DwarfDebug::extractScopeInformation() { else DbgScopeEndMap[MI].push_back(S); } - - return !DbgScopeMap.empty(); } /// beginFunction - Gather pre-function debug information. Assumes being diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.h b/lib/CodeGen/AsmPrinter/DwarfDebug.h index 006ee2d7558..6d725646054 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.h +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.h @@ -527,6 +527,11 @@ private: return Lines.size(); } + /// populateDbgScopeInverseMaps() - Populate DbgScopeBeginMap and + /// DbgScopeEndMap. This maps are used to indentify debug scope started + /// and ended by an instruction. + void populateDbgScopeInverseMaps(); + /// extractScopeInformation - Scan machine instructions in this function /// and collect DbgScopes. Return true, if atleast one scope was found. bool extractScopeInformation();