diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-03-30 23:47:26 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-03-30 23:47:26 +0000 |
commit | 82eba746df36e6bc95b0c0667697cdeb3dc4fbef (patch) | |
tree | b17dff6f830a2ab7052af60ed10d72b204efcf66 /llvm/lib/CodeGen/LexicalScopes.cpp | |
parent | a8c2a0b0b24d915a2e8fcfaf9cdc01aafc7c0b9c (diff) | |
download | bcm5719-llvm-82eba746df36e6bc95b0c0667697cdeb3dc4fbef.tar.gz bcm5719-llvm-82eba746df36e6bc95b0c0667697cdeb3dc4fbef.zip |
DebugLoc: Remove getFromDILexicalBlock()
The only user of `DebugLoc::getFromDILexicalBlock()` was creating a new
`MDLocation` as convenient API for passing an `MDScope`. Stop doing
that, and remove the API. If in the future we actually *want* to create
new DebugLocs, calling `MDLexicalBlock::get()` makes more sense.
llvm-svn: 233643
Diffstat (limited to 'llvm/lib/CodeGen/LexicalScopes.cpp')
-rw-r--r-- | llvm/lib/CodeGen/LexicalScopes.cpp | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/llvm/lib/CodeGen/LexicalScopes.cpp b/llvm/lib/CodeGen/LexicalScopes.cpp index 2b356b4adee..45f312bb7b1 100644 --- a/llvm/lib/CodeGen/LexicalScopes.cpp +++ b/llvm/lib/CodeGen/LexicalScopes.cpp @@ -134,15 +134,13 @@ LexicalScope *LexicalScopes::findLexicalScope(const MDLocation *DL) { /// getOrCreateLexicalScope - Find lexical scope for the given DebugLoc. If /// not available then create new lexical scope. -LexicalScope *LexicalScopes::getOrCreateLexicalScope(const MDLocation *DL) { - if (!DL) - return nullptr; - MDLocalScope *Scope = DL->getScope(); - if (auto *InlinedAt = DL->getInlinedAt()) { +LexicalScope *LexicalScopes::getOrCreateLexicalScope(const MDLocalScope *Scope, + const MDLocation *IA) { + if (IA) { // Create an abstract scope for inlined function. getOrCreateAbstractScope(Scope); // Create an inlined scope for inlined function. - return getOrCreateInlinedScope(Scope, InlinedAt); + return getOrCreateInlinedScope(Scope, IA); } return getOrCreateRegularScope(Scope); @@ -158,11 +156,10 @@ LexicalScopes::getOrCreateRegularScope(const MDLocalScope *Scope) { if (I != LexicalScopeMap.end()) return &I->second; + // FIXME: Should the following dyn_cast be MDLexicalBlock? LexicalScope *Parent = nullptr; - if (isa<MDLexicalBlockBase>(Scope)) // FIXME: Should this be MDLexicalBlock? - Parent = - getOrCreateLexicalScope(DebugLoc::getFromDILexicalBlock( - const_cast<MDLocalScope *>(Scope)).get()); + if (auto *Block = dyn_cast<MDLexicalBlockBase>(Scope)) + Parent = getOrCreateLexicalScope(Block->getScope()); I = LexicalScopeMap.emplace(std::piecewise_construct, std::forward_as_tuple(Scope), std::forward_as_tuple(Parent, Scope, nullptr, |