When marking a register as being implicitly defined, make sure to clear its partial...
authorEvan Cheng <evan.cheng@apple.com>
Mon, 14 May 2007 20:39:18 +0000 (20:39 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Mon, 14 May 2007 20:39:18 +0000 (20:39 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37046 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/LiveVariables.cpp

index 9d2d29057d6f72cd2fa8521a481838d911bbd061..32d3d387edd0f6329b4789eb11c72d052a70bfe7 100644 (file)
@@ -314,6 +314,7 @@ void LiveVariables::HandlePhysRegDef(unsigned Reg, MachineInstr *MI) {
     }
     PhysRegInfo[SubReg] = MI;
     PhysRegUsed[SubReg] = false;
+    PhysRegPartUse[SubReg] = NULL;
   }
 
   if (MI)
@@ -328,6 +329,7 @@ void LiveVariables::HandlePhysRegDef(unsigned Reg, MachineInstr *MI) {
         MI->addRegOperand(SuperReg, true/*IsDef*/,true/*IsImp*/);
         PhysRegInfo[SuperReg] = MI;
         PhysRegUsed[SuperReg] = false;
+        PhysRegPartUse[SuperReg] = NULL;
       } else {
         // Remember this partial def.
         PhysRegPartDef[SuperReg].push_back(MI);