There is no need to maintain InsnsBeginScopeSet separately.
authorDevang Patel <dpatel@apple.com>
Wed, 19 May 2010 21:26:53 +0000 (21:26 +0000)
committerDevang Patel <dpatel@apple.com>
Wed, 19 May 2010 21:26:53 +0000 (21:26 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104165 91177308-0d34-0410-b5e6-96231b3b80d8

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

index ce13945583e2c016823989c840d36f0572e7125c..4287c115bddfc904c70ba464b848d203fe045afd 100644 (file)
@@ -2230,11 +2230,8 @@ void DwarfDebug::beginScope(const MachineInstr *MI) {
         Label = recordSourceLine(DL.getLine(), DL.getCol(), 0);
         PrevInstLoc = DL;
         PrevLabel = Label;
-      }
-
-      // If this instruction begins a scope then note down corresponding label.
-      if (InsnsBeginScopeSet.count(MI) != 0)
         LabelsBeforeInsn[MI] = Label;
+      }
     }
 
     return;
@@ -2258,6 +2255,7 @@ void DwarfDebug::beginScope(const MachineInstr *MI) {
         Label = recordSourceLine(DL.getLine(), DL.getCol(), Scope);
         PrevInstLoc = DL;
         PrevLabel = Label;
+        LabelsBeforeInsn[MI] = Label;
       }
       DI->second->setDbgValueLabel(Label);
     }
@@ -2273,11 +2271,9 @@ void DwarfDebug::beginScope(const MachineInstr *MI) {
     Label = recordSourceLine(DL.getLine(), DL.getCol(), Scope);
     PrevInstLoc = DL;
     PrevLabel = Label;
+    LabelsBeforeInsn[MI] = Label;
   }
 
-  // If this instruction begins a scope then note down corresponding label.
-  if (InsnsBeginScopeSet.count(MI) != 0)
-    LabelsBeforeInsn[MI] = Label;
 }
 
 /// endScope - Process end of a scope.
@@ -2535,9 +2531,8 @@ void DwarfDebug::identifyScopeMarkers() {
       continue;
     for (SmallVector<DbgRange, 4>::const_iterator RI = Ranges.begin(),
            RE = Ranges.end(); RI != RE; ++RI) {
-      assert(RI->first && "DbgRange does not have first instruction!");      
-      assert(RI->second && "DbgRange does not have second instruction!");      
-      InsnsBeginScopeSet.insert(RI->first);
+      assert(RI->first && "DbgRange does not have first instruction!");
+      assert(RI->second && "DbgRange does not have second instruction!");
       InsnsEndScopeSet.insert(RI->second);
     }
   }
@@ -2631,7 +2626,6 @@ void DwarfDebug::endFunction(const MachineFunction *MF) {
   // Clear debug info
   CurrentFnDbgScope = NULL;
   DeleteContainerSeconds(DbgScopeMap);
-  InsnsBeginScopeSet.clear();
   InsnsEndScopeSet.clear();
   DbgValueStartMap.clear();
   ConcreteScopes.clear();
index 48a52623c3977d0bb287d8aff323e66d033ca3b5..2c4c9b6600139306c85fa568d44640cb240f7a6e 100644 (file)
@@ -179,8 +179,6 @@ class DwarfDebug {
   /// corresponds to the MDNode mapped with the subprogram DIE.
   DenseMap<DIE *, const MDNode *> ContainingTypeMap;
 
-  typedef SmallVector<DbgScope *, 2> ScopeVector;
-  SmallPtrSet<const MachineInstr *, 8> InsnsBeginScopeSet;
   SmallPtrSet<const MachineInstr *, 8> InsnsEndScopeSet;
 
   /// InlineInfo - Keep track of inlined functions and their location.  This