summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-04-23 01:18:53 +0000
committerDan Gohman <gohman@apple.com>2010-04-23 01:18:53 +0000
commite9135cb3fb927f130b4f27e34e9b35cc95d76b19 (patch)
tree184f3c94979cd033815a23545d00b9df1370fa5e /llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
parent95b0ff445cc4c6bbdafbc0409fb6b151911c0902 (diff)
downloadbcm5719-llvm-e9135cb3fb927f130b4f27e34e9b35cc95d76b19.tar.gz
bcm5719-llvm-e9135cb3fb927f130b4f27e34e9b35cc95d76b19.zip
Revert 102135, 102129, 102127, 102106, 102104, 102102, 102012, 102004,
because 102004 causes codegen to emit invalid assembly on at least x86_64-unknown-gnu-linux. llvm-svn: 102155
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h26
1 files changed, 12 insertions, 14 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
index 16d41370535..bfd6f48d2e3 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
@@ -188,22 +188,16 @@ class DwarfDebug {
DenseMap<MDNode*, SmallVector<InlineInfoLabels, 4> > InlineInfo;
SmallVector<MDNode *, 4> InlinedSPNodes;
- /// LabelsBeforeInsn - Maps instruction with label emitted before
+ /// InsnBeforeLabelMap - Maps instruction with label emitted before
/// instruction.
- DenseMap<const MachineInstr *, MCSymbol *> LabelsBeforeInsn;
+ DenseMap<const MachineInstr *, MCSymbol *> InsnBeforeLabelMap;
- /// LabelsAfterInsn - Maps instruction with label emitted after
+ /// InsnAfterLabelMap - Maps instruction with label emitted after
/// instruction.
- DenseMap<const MachineInstr *, MCSymbol *> LabelsAfterInsn;
+ DenseMap<const MachineInstr *, MCSymbol *> InsnAfterLabelMap;
SmallVector<const MCSymbol *, 8> DebugRangeSymbols;
- /// weakDebugRangeSymbols - In cases where function bodies is not emitted
- /// into .text section, use function begin marker as anchor for debug range
- /// offsets. This map keeps track of such symbols and corresponding
- /// function begin marker symbols.
- DenseMap<const MCSymbol *, const MCSymbol *> WeakDebugRangeSymbols;
-
/// Previous instruction's location information. This is used to determine
/// label location to indicate scope boundries in dwarf debug info.
DebugLoc PrevInstLoc;
@@ -224,8 +218,7 @@ class DwarfDebug {
// section offsets and are created by EmitSectionLabels.
MCSymbol *DwarfFrameSectionSym, *DwarfInfoSectionSym, *DwarfAbbrevSectionSym;
MCSymbol *DwarfStrSectionSym, *TextSectionSym, *DwarfDebugRangeSectionSym;
-
- MCSymbol *FunctionBeginSym;
+
private:
/// getSourceDirectoryAndFileIds - Return the directory and file ids that
@@ -375,8 +368,13 @@ private:
/// createSubprogramDIE - Create new DIE using SP.
DIE *createSubprogramDIE(const DISubprogram &SP, bool MakeDecl = false);
- /// getOrCreateDbgScope - Create DbgScope for the scope.
- DbgScope *getOrCreateDbgScope(MDNode *Scope, MDNode *InlinedAt);
+ /// getUpdatedDbgScope - Find or create DbgScope assicated with
+ /// the instruction. Initialize scope and update scope hierarchy.
+ DbgScope *getUpdatedDbgScope(MDNode *N, const MachineInstr *MI,
+ MDNode *InlinedAt);
+
+ /// createDbgScope - Create DbgScope for the scope.
+ void createDbgScope(MDNode *Scope, MDNode *InlinedAt);
DbgScope *getOrCreateAbstractScope(MDNode *N);
OpenPOWER on IntegriCloud