summaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/AsmPrinter
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
commitc0c5a26deadb11b607ffd54b7b8978a56bf3545f (patch)
tree8817a7a70f301340bddb814ac6e33cd505fd2a78 /lib/CodeGen/AsmPrinter
parent4ef6730632f5e9e5958173b707230ff57b3c5dac (diff)
downloadexternal_llvm-c0c5a26deadb11b607ffd54b7b8978a56bf3545f.zip
external_llvm-c0c5a26deadb11b607ffd54b7b8978a56bf3545f.tar.gz
external_llvm-c0c5a26deadb11b607ffd54b7b8978a56bf3545f.tar.bz2
Simplify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104302 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/AsmPrinter')
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfDebug.cpp24
1 files changed, 8 insertions, 16 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index 902b152..2eb6f3a 100644
--- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/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;
}
}