summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2014-10-09 16:50:53 +0000
committerDavid Blaikie <dblaikie@gmail.com>2014-10-09 16:50:53 +0000
commit01b48a84dc9c4a2de9335cc717ee781cbd30450d (patch)
tree652dff77a35d323b3c365ca7aa2be37c55f38c71 /llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
parent20c1c890b3ce356b01f69aed8378f2ae6bc799d3 (diff)
downloadbcm5719-llvm-01b48a84dc9c4a2de9335cc717ee781cbd30450d.tar.gz
bcm5719-llvm-01b48a84dc9c4a2de9335cc717ee781cbd30450d.zip
Sink DwarfDebug::constructInlinedScopeDIE into DwarfCompileUnit
This introduces access to the AbstractSPDies map from DwarfDebug so DwarfCompileUnit can access it. Eventually this'll sink down to DwarfFile, but it'll still be generically accessible - not much encapsulation to provide it. (constructInlinedScopeDIE could stay further up, in DwarfFile to avoid exposing this - but I don't think that's particularly better) llvm-svn: 219411
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h27
1 files changed, 15 insertions, 12 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
index d522455a4e5..c675764dfbe 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
@@ -661,6 +661,18 @@ public:
/// going to be null.
bool isLexicalScopeDIENull(LexicalScope *Scope);
+ /// \brief Return Label preceding the instruction.
+ MCSymbol *getLabelBeforeInsn(const MachineInstr *MI);
+
+ /// \brief Return Label immediately following the instruction.
+ MCSymbol *getLabelAfterInsn(const MachineInstr *MI);
+
+ // FIXME: Consider rolling ranges up into DwarfDebug since we use a single
+ // range_base anyway, so there's no need to keep them as separate per-CU range
+ // lists. (though one day we might end up with a range.dwo section, in which
+ // case it'd go to DwarfFile)
+ unsigned getNextRangeNumber() { return GlobalRangeCount++; }
+
// FIXME: Sink these functions down into DwarfFile/Dwarf*Unit.
/// \brief Construct new DW_TAG_lexical_block for this scope and
@@ -668,23 +680,14 @@ public:
std::unique_ptr<DIE> constructLexicalScopeDIE(DwarfCompileUnit &TheCU,
LexicalScope *Scope);
- /// \brief This scope represents inlined body of a function. Construct
- /// DIE to represent this concrete inlined copy of the function.
- std::unique_ptr<DIE> constructInlinedScopeDIE(DwarfCompileUnit &TheCU,
- LexicalScope *Scope);
-
/// A helper function to create children of a Scope DIE.
DIE *createScopeChildrenDIE(DwarfCompileUnit &TheCU, LexicalScope *Scope,
SmallVectorImpl<std::unique_ptr<DIE>> &Children,
unsigned *ChildScopeCount = nullptr);
- /// \brief Return Label preceding the instruction.
- MCSymbol *getLabelBeforeInsn(const MachineInstr *MI);
-
- /// \brief Return Label immediately following the instruction.
- MCSymbol *getLabelAfterInsn(const MachineInstr *MI);
-
- unsigned getNextRangeNumber() { return GlobalRangeCount++; }
+ DenseMap<const MDNode *, DIE *> &getAbstractSPDies() {
+ return AbstractSPDies;
+ }
};
} // End of namespace llvm
OpenPOWER on IntegriCloud