Bring UsedBlocks back.  StrongPHIElimination needs this information.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43866 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/LiveVariables.cpp b/lib/CodeGen/LiveVariables.cpp
index 7e8965e..2af8bf3 100644
--- a/lib/CodeGen/LiveVariables.cpp
+++ b/lib/CodeGen/LiveVariables.cpp
@@ -50,6 +50,9 @@
   cerr << "  Alive in blocks: ";
   for (unsigned i = 0, e = AliveBlocks.size(); i != e; ++i)
     if (AliveBlocks[i]) cerr << i << ", ";
+  cerr << "  Used in blocks: ";
+  for (unsigned i = 0, e = UsedBlocks.size(); i != e; ++i)
+    if (UsedBlocks[i]) cerr << i << ", ";
   cerr << "\n  Killed by:";
   if (Kills.empty())
     cerr << " No instructions.\n";
@@ -72,6 +75,7 @@
   }
   VarInfo &VI = VirtRegInfo[RegIdx];
   VI.AliveBlocks.resize(MF->getNumBlockIDs());
+  VI.UsedBlocks.resize(MF->getNumBlockIDs());
   return VI;
 }
 
@@ -154,6 +158,9 @@
                                      MachineInstr *MI) {
   assert(VRInfo.DefInst && "Register use before def!");
 
+  unsigned BBNum = MBB->getNumber();
+
+  VRInfo.UsedBlocks[BBNum] = true;
   VRInfo.NumUses++;
 
   // Check to see if this basic block is already a kill block...
@@ -176,7 +183,7 @@
   // If this virtual register is already marked as alive in this basic block,
   // that means it is alive in at least one of the successor block, it's not
   // a kill.
-  if (!VRInfo.AliveBlocks[MBB->getNumber()])
+  if (!VRInfo.AliveBlocks[BBNum])
     VRInfo.Kills.push_back(MI);
 
   // Update all dominating blocks to mark them known live.