diff options
author | Devang Patel <dpatel@apple.com> | 2010-04-08 16:50:29 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2010-04-08 16:50:29 +0000 |
commit | 3ebd8931fb3d581b7dac63fb7ff61bf0a5691fab (patch) | |
tree | e463afd715e34f9619e10e5e385fc3babea40372 /llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h | |
parent | 64d8d1a022a22949354eb1fe1f74fa35ff84e035 (diff) | |
download | bcm5719-llvm-3ebd8931fb3d581b7dac63fb7ff61bf0a5691fab.tar.gz bcm5719-llvm-3ebd8931fb3d581b7dac63fb7ff61bf0a5691fab.zip |
One instruction may start (or end) multiple lexical scopes.
There is no need to remember labels identifying regions marked by such instructions in each scope.
llvm-svn: 100781
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h index 8a38ef10a77..ba3813758da 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h @@ -179,14 +179,9 @@ class DwarfDebug { SmallPtrSet<DIE *, 4> AbstractSubprogramDIEs; typedef SmallVector<DbgScope *, 2> ScopeVector; - typedef DenseMap<const MachineInstr *, ScopeVector> - InsnToDbgScopeMapTy; - /// DbgScopeBeginMap - Maps instruction with a list of DbgScopes it starts. - InsnToDbgScopeMapTy DbgScopeBeginMap; - - /// DbgScopeEndMap - Maps instruction with a list DbgScopes it ends. - InsnToDbgScopeMapTy DbgScopeEndMap; + SmallPtrSet<const MachineInstr *, 8> InsnsBeginScopeSet; + SmallPtrSet<const MachineInstr *, 8> InsnsEndScopeSet; /// InlineInfo - Keep track of inlined functions and their location. This /// information is used to populate debug_inlined section. @@ -194,6 +189,14 @@ class DwarfDebug { DenseMap<MDNode*, SmallVector<InlineInfoLabels, 4> > InlineInfo; SmallVector<MDNode *, 4> InlinedSPNodes; + /// InsnBeforeLabelMap - Maps instruction with label emitted before + /// instruction. + DenseMap<const MachineInstr *, MCSymbol *> InsnBeforeLabelMap; + + /// InsnAfterLabelMap - Maps instruction with label emitted after + /// instruction. + DenseMap<const MachineInstr *, MCSymbol *> InsnAfterLabelMap; + /// CompileUnitOffsets - A vector of the offsets of the compile units. This is /// used when calculating the "origin" of a concrete instance of an inlined /// function. |