summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2011-08-10 21:50:54 +0000
committerDevang Patel <dpatel@apple.com>2011-08-10 21:50:54 +0000
commitbb23a4a9a5eb85f6fe2a8d66fc01afb58ae42515 (patch)
tree521772c71601bb601a331411132bb4d09c274f6a /llvm/lib/CodeGen
parent93db2277e6e993edfbbec97876abd3f327610e44 (diff)
downloadbcm5719-llvm-bb23a4a9a5eb85f6fe2a8d66fc01afb58ae42515.tar.gz
bcm5719-llvm-bb23a4a9a5eb85f6fe2a8d66fc01afb58ae42515.zip
Distinguish between two copies of one inlined variable. Take 2.
llvm-svn: 137253
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index 475b6704c28..fbe1c49c9d4 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -1126,14 +1126,15 @@ void DwarfDebug::endModule() {
}
/// findAbstractVariable - Find abstract variable, if any, associated with Var.
-DbgVariable *DwarfDebug::findAbstractVariable(DIVariable &Var,
+DbgVariable *DwarfDebug::findAbstractVariable(DIVariable &DV,
DebugLoc ScopeLoc) {
-
+ LLVMContext &Ctx = DV->getContext();
+ // More then one inlined variable corresponds to one abstract variable.
+ DIVariable Var = cleanseInlinedVariable(DV, Ctx);
DbgVariable *AbsDbgVariable = AbstractVariables.lookup(Var);
if (AbsDbgVariable)
return AbsDbgVariable;
- LLVMContext &Ctx = Var->getContext();
LexicalScope *Scope = LScopes.findAbstractScope(ScopeLoc.getScope(Ctx));
if (!Scope)
return NULL;
OpenPOWER on IntegriCloud