Handle regmasks in FixupKills.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Thu, 23 Feb 2012 01:22:15 +0000 (01:22 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Thu, 23 Feb 2012 01:22:15 +0000 (01:22 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151226 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/PostRASchedulerList.cpp

index 1f7833c47df40273d1461148792c68a3dee4084d..88d20dc5c829e7251b89e8307267de7d40416aba 100644 (file)
@@ -461,6 +461,10 @@ void SchedulePostRATDList::FixupKills(MachineBasicBlock *MBB) {
     // are completely defined.
     for (unsigned i = 0, e = MI->getNumOperands(); i != e; ++i) {
       MachineOperand &MO = MI->getOperand(i);
+      if (MO.isRegMask())
+        for (unsigned i = 0, e = TRI->getNumRegs(); i != e; ++i)
+          if (MO.clobbersPhysReg(i))
+            KillIndices[i] = ~0u;
       if (!MO.isReg()) continue;
       unsigned Reg = MO.getReg();
       if (Reg == 0) continue;