diff options
author | David Blaikie <dblaikie@gmail.com> | 2014-10-09 16:50:53 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2014-10-09 16:50:53 +0000 |
commit | 01b48a84dc9c4a2de9335cc717ee781cbd30450d (patch) | |
tree | 652dff77a35d323b3c365ca7aa2be37c55f38c71 /llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h | |
parent | 20c1c890b3ce356b01f69aed8378f2ae6bc799d3 (diff) | |
download | bcm5719-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.h | 27 |
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 |