diff options
| author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-03-31 00:10:37 +0000 |
|---|---|---|
| committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-03-31 00:10:37 +0000 |
| commit | 88f50087c8aa28f38b9bf86206d529b7cdc9b612 (patch) | |
| tree | 72241d4654f0b33a7915793353cc65952975dc63 /llvm/lib | |
| parent | 7e0fadf837193ab1c71a1d51fc0ecda564b31462 (diff) | |
| download | bcm5719-llvm-88f50087c8aa28f38b9bf86206d529b7cdc9b612.tar.gz bcm5719-llvm-88f50087c8aa28f38b9bf86206d529b7cdc9b612.zip | |
DebugInfo: Remove LexicalBlockFile scope/context distinction
Two things here:
1. I read `getScope()` and `getContext()` backwards in r233640. There
was no need for `getScopeOfScope()`. Obviously not enough test
coverage here (as I said in that commit, I'm going to come back to
that), but anyway I'm reverting to the behaviour before r233640.
2. The callers that use `DILexicalBlockFile::getContext()` don't seem
to care about the difference. Just have it redirect to `getScope()`
so I can't get confused again.
llvm-svn: 233650
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/CodeGen/LexicalScopes.cpp | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/llvm/lib/CodeGen/LexicalScopes.cpp b/llvm/lib/CodeGen/LexicalScopes.cpp index fc12b8ff3ff..3e978361481 100644 --- a/llvm/lib/CodeGen/LexicalScopes.cpp +++ b/llvm/lib/CodeGen/LexicalScopes.cpp @@ -104,15 +104,6 @@ void LexicalScopes::extractLexicalScopes( } } -static MDLocalScope *getScopeOfScope(const MDLexicalBlockFile *File) { - // FIXME: Why double-walk the scope list? Are these just being encoded - // awkwardly? - auto *Scope = File->getScope(); - if (auto *Block = dyn_cast<MDLexicalBlockBase>(Scope)) - return Block->getScope(); - return Scope; -} - /// findLexicalScope - Find lexical scope, either regular or inlined, for the /// given DebugLoc. Return NULL if not found. LexicalScope *LexicalScopes::findLexicalScope(const MDLocation *DL) { @@ -123,7 +114,7 @@ LexicalScope *LexicalScopes::findLexicalScope(const MDLocation *DL) { // The scope that we were created with could have an extra file - which // isn't what we care about in this case. if (auto *File = dyn_cast<MDLexicalBlockFile>(Scope)) - Scope = getScopeOfScope(File); + Scope = File->getScope(); if (auto *IA = DL->getInlinedAt()) { auto I = InlinedLexicalScopeMap.find(std::make_pair(Scope, IA)); @@ -150,7 +141,7 @@ LexicalScope *LexicalScopes::getOrCreateLexicalScope(const MDLocalScope *Scope, LexicalScope * LexicalScopes::getOrCreateRegularScope(const MDLocalScope *Scope) { if (auto *File = dyn_cast<MDLexicalBlockFile>(Scope)) - Scope = getScopeOfScope(File); + Scope = File->getScope(); auto I = LexicalScopeMap.find(Scope); if (I != LexicalScopeMap.end()) @@ -204,7 +195,7 @@ LexicalScopes::getOrCreateAbstractScope(const MDLocalScope *Scope) { assert(Scope && "Invalid Scope encoding!"); if (auto *File = dyn_cast<MDLexicalBlockFile>(Scope)) - Scope = getScopeOfScope(File); + Scope = File->getScope(); auto I = AbstractScopeMap.find(Scope); if (I != AbstractScopeMap.end()) return &I->second; |

