Remove the DefBlock element of VarInfo. DefBlock is always DefInst->getParent()
authorChris Lattner <sabre@nondot.org>
Mon, 19 Jul 2004 06:26:50 +0000 (06:26 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 19 Jul 2004 06:26:50 +0000 (06:26 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14996 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/LiveVariables.h
lib/CodeGen/LiveVariables.cpp

index 67c213daf224588cc481b50f889840d9eba40937..1df98e50e001d2692625812ce14622939558606e 100644 (file)
@@ -39,8 +39,7 @@ class MRegisterInfo;
 class LiveVariables : public MachineFunctionPass {
 public:
   struct VarInfo {
-    /// DefBlock - The basic block which defines this value...
-    MachineBasicBlock *DefBlock;
+    /// DefInst - The machine instruction that defines this register.
     MachineInstr      *DefInst;
 
     /// AliveBlocks - Set of blocks of which this value is alive completely
@@ -55,7 +54,7 @@ public:
     ///
     std::vector<std::pair<MachineBasicBlock*, MachineInstr*> > Kills;
 
-    VarInfo() : DefBlock(0), DefInst(0) {}
+    VarInfo() : DefInst(0) {}
 
     /// removeKill - Delete a kill corresponding to the specified
     /// machine instruction. Returns true if there was a kill
index d26848cb1c6399cff6d6bb5603cc6186d8e6d975..883b7813e7f132d80b3245b81f51cf057765fc4c 100644 (file)
@@ -64,7 +64,7 @@ void LiveVariables::MarkVirtRegAliveInBlock(VarInfo &VRInfo,
       break;
     }
 
-  if (MBB == VRInfo.DefBlock) return;  // Terminate recursion
+  if (MBB == VRInfo.DefInst->getParent()) return;  // Terminate recursion
 
   if (VRInfo.AliveBlocks.size() <= BBNum)
     VRInfo.AliveBlocks.resize(BBNum+1);  // Make space...
@@ -95,7 +95,8 @@ void LiveVariables::HandleVirtRegUse(VarInfo &VRInfo, MachineBasicBlock *MBB,
     assert(VRInfo.Kills[i].first != MBB && "entry should be at end!");
 #endif
 
-  assert(MBB != VRInfo.DefBlock && "Should have kill for defblock!");
+  assert(MBB != VRInfo.DefInst->getParent() && 
+         "Should have kill for defblock!");
 
   // Add a new kill entry for this basic block.
   VRInfo.Kills.push_back(std::make_pair(MBB, MI));
@@ -230,8 +231,7 @@ bool LiveVariables::runOnMachineFunction(MachineFunction &MF) {
           if (MRegisterInfo::isVirtualRegister(MO.getReg())) {
             VarInfo &VRInfo = getVarInfo(MO.getReg());
 
-            assert(VRInfo.DefBlock == 0 && "Variable multiply defined!");
-            VRInfo.DefBlock = MBB;                           // Created here...
+            assert(VRInfo.DefInst == 0 && "Variable multiply defined!");
             VRInfo.DefInst = MI;
             VRInfo.Kills.push_back(std::make_pair(MBB, MI)); // Defaults to dead
           } else if (MRegisterInfo::isPhysicalRegister(MO.getReg()) &&