Simplify.
authorDevang Patel <dpatel@apple.com>
Fri, 21 May 2010 00:10:20 +0000 (00:10 +0000)
committerDevang Patel <dpatel@apple.com>
Fri, 21 May 2010 00:10:20 +0000 (00:10 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104302 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/AsmPrinter/DwarfDebug.cpp

index 902b152c8e7496470befb7a75c8ff426c8963ed5..2eb6f3acd000553e3377cb31f217837068477e32 100644 (file)
@@ -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;
     }
   }