summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2010-05-21 00:10:20 +0000
committerDevang Patel <dpatel@apple.com>2010-05-21 00:10:20 +0000
commitfbd6c45e069fc817aa084434ffc29c3937235593 (patch)
treeae9a0917497d904500a9c59f3d8c26a5afb859f8 /llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
parent6ac7d7d068e6dd926b54f0919334a68ef6227cad (diff)
downloadbcm5719-llvm-fbd6c45e069fc817aa084434ffc29c3937235593.tar.gz
bcm5719-llvm-fbd6c45e069fc817aa084434ffc29c3937235593.zip
Simplify.
llvm-svn: 104302
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp24
1 files changed, 8 insertions, 16 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index 902b152c8e7..2eb6f3acd00 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -2145,30 +2145,22 @@ void DwarfDebug::collectVariableInfo(const MachineFunction *MF) {
if (Processed.count(DV) != 0)
continue;
- if (DV.getTag() == dwarf::DW_TAG_arg_variable) {
- // FIXME Handle inlined subroutine arguments.
- DbgVariable *ArgVar = new DbgVariable(DV);
- CurrentFnDbgScope->addVariable(ArgVar);
- DbgValueStartMap[MInsn] = ArgVar;
- DbgVariableToDbgInstMap[ArgVar] = MInsn;
- Processed.insert(DV);
- continue;
- }
-
DbgScope *Scope = findDbgScope(MInsn);
+ if (!Scope && DV.getTag() == dwarf::DW_TAG_arg_variable)
+ Scope = CurrentFnDbgScope;
// If variable scope is not found then skip this variable.
- if (Scope == 0)
+ if (!Scope)
continue;
Processed.insert(DV);
- DbgVariable *AbsDbgVariable = findAbstractVariable(DV, MInsn->getDebugLoc());
DbgVariable *RegVar = new DbgVariable(DV);
- DbgValueStartMap[MInsn] = RegVar;
DbgVariableToDbgInstMap[RegVar] = MInsn;
Scope->addVariable(RegVar);
- if (AbsDbgVariable) {
- DbgVariableToDbgInstMap[AbsDbgVariable] = MInsn;
- VarToAbstractVarMap[RegVar] = AbsDbgVariable;
+ if (DV.getTag() != dwarf::DW_TAG_arg_variable)
+ DbgValueStartMap[MInsn] = RegVar;
+ if (DbgVariable *AbsVar = findAbstractVariable(DV, MInsn->getDebugLoc())) {
+ DbgVariableToDbgInstMap[AbsVar] = MInsn;
+ VarToAbstractVarMap[RegVar] = AbsVar;
}
}
OpenPOWER on IntegriCloud