Refactor.
authorDevang Patel <dpatel@apple.com>
Mon, 15 Aug 2011 18:40:16 +0000 (18:40 +0000)
committerDevang Patel <dpatel@apple.com>
Mon, 15 Aug 2011 18:40:16 +0000 (18:40 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137632 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/AsmPrinter/DwarfDebug.cpp
lib/CodeGen/AsmPrinter/DwarfDebug.h

index 54c0419ab4a42ba267e9c9aa97e8346d025cf9c0..1679a309961c7a5b654fffecbd633d7f184d2ef3 100644 (file)
@@ -401,11 +401,8 @@ DIE *DwarfDebug::constructVariableDIE(DbgVariable *DV, LexicalScope *Scope) {
     VariableCU->addType(VariableDie, DV->getType());
   }
 
-  if (Tag == dwarf::DW_TAG_formal_parameter && DV->getType().isArtificial())
-    VariableCU->addUInt(VariableDie, dwarf::DW_AT_artificial, 
-                        dwarf::DW_FORM_flag, 1);
-  else if (DIVariable(DV->getVariable()).isArtificial())
-    VariableCU->addUInt(VariableDie, dwarf::DW_AT_artificial, 
+  if (DV->isArtificial())
+    VariableCU->addUInt(VariableDie, dwarf::DW_AT_artificial,
                         dwarf::DW_FORM_flag, 1);
 
   if (Scope->isAbstractScope()) {
index 05656d531d3fe4e60c17026e29671917104c4608..97704b94cf2f4a45ed3371f9b0f1721c2e60eef8 100644 (file)
@@ -143,6 +143,15 @@ public:
     
     return dwarf::DW_TAG_variable;
   }
+  /// isArtificial - Return true if DbgVariable is artificial.
+  bool isArtificial()                const {
+    if (Var.isArtificial())
+      return true;
+    if (Var.getTag() == dwarf::DW_TAG_arg_variable
+        && getType().isArtificial())
+      return true;
+    return false;
+  }
   bool variableHasComplexAddress()   const {
     assert(Var.Verify() && "Invalid complex DbgVariable!");
     return Var.hasComplexAddress();