mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-02 01:38:34 +00:00
- Early exit a nested block.
- Correct comment. - Whitespace changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65149 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
33e3a36f0a
commit
9a65cfe7dd
@ -1267,6 +1267,7 @@ class DwarfDebug : public Dwarf {
|
||||
/// MainCU - Some platform prefers one compile unit per .o file. In such
|
||||
/// cases, all dies are inserted in MainCU.
|
||||
CompileUnit *MainCU;
|
||||
|
||||
/// AbbreviationsSet - Used to uniquely define abbreviations.
|
||||
///
|
||||
FoldingSet<DIEAbbrev> AbbreviationsSet;
|
||||
@ -1278,7 +1279,7 @@ class DwarfDebug : public Dwarf {
|
||||
/// Directories - Uniquing vector for directories.
|
||||
UniqueVector<std::string> Directories;
|
||||
|
||||
/// SourceFiles - Uniquing vector for source files.
|
||||
/// SrcFiles - Uniquing vector for source files.
|
||||
UniqueVector<SrcFileInfo> SrcFiles;
|
||||
|
||||
/// Lines - List of of source line correspondence.
|
||||
@ -1993,28 +1994,32 @@ private:
|
||||
///
|
||||
DbgScope *getOrCreateScope(GlobalVariable *V) {
|
||||
DbgScope *&Slot = DbgScopeMap[V];
|
||||
if (!Slot) {
|
||||
if (Slot) return Slot;
|
||||
|
||||
// FIXME - breaks down when the context is an inlined function.
|
||||
DIDescriptor ParentDesc;
|
||||
DIDescriptor Desc(V);
|
||||
|
||||
if (Desc.getTag() == dwarf::DW_TAG_lexical_block) {
|
||||
DIBlock Block(V);
|
||||
ParentDesc = Block.getContext();
|
||||
}
|
||||
|
||||
DbgScope *Parent = ParentDesc.isNull() ?
|
||||
NULL : getOrCreateScope(ParentDesc.getGV());
|
||||
Slot = new DbgScope(Parent, Desc);
|
||||
|
||||
if (Parent) {
|
||||
Parent->AddScope(Slot);
|
||||
} else if (RootDbgScope) {
|
||||
// FIXME - Add inlined function scopes to the root so we can delete
|
||||
// them later. Long term, handle inlined functions properly.
|
||||
// FIXME - Add inlined function scopes to the root so we can delete them
|
||||
// later. Long term, handle inlined functions properly.
|
||||
RootDbgScope->AddScope(Slot);
|
||||
} else {
|
||||
// First function is top level function.
|
||||
RootDbgScope = Slot;
|
||||
}
|
||||
}
|
||||
|
||||
return Slot;
|
||||
}
|
||||
|
||||
@ -3087,7 +3092,6 @@ public:
|
||||
|
||||
/// ValidDebugInfo - Return true if V represents valid debug info value.
|
||||
bool ValidDebugInfo(Value *V) {
|
||||
|
||||
if (!V)
|
||||
return false;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user