Improve comment to include that the use of a preg is also verboten in this situation.
authorBill Wendling <isanbard@gmail.com>
Wed, 16 Jun 2010 18:01:31 +0000 (18:01 +0000)
committerBill Wendling <isanbard@gmail.com>
Wed, 16 Jun 2010 18:01:31 +0000 (18:01 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106119 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/MachineSink.cpp

index 61334fc1790a19566727c9f1f6189c4c5cd79f00..e2152d43a8666adf84f1c84ecf5fc2ecc113189d 100644 (file)
@@ -282,9 +282,10 @@ bool MachineSinking::SinkInstruction(MachineInstr *MI, bool &SawStore) {
   if (MI->getParent() == SuccToSinkTo)
     return false;
 
-  // If the instruction to move defines a dead physical register which is live
-  // when leaving the basic block, don't move it because it could turn into a
-  // "zombie" define of that preg. E.g., EFLAGS. (<rdar://problem/8030636>)
+  // If the instruction to move defines or uses a dead physical register which
+  // is live when leaving the basic block, don't move it because it could turn
+  // into a zombie define or misuse of that preg. E.g., EFLAGS.
+  // (<rdar://problem/8030636>)
   for (unsigned I = 0, E = MI->getNumOperands(); I != E; ++I) {
     const MachineOperand &MO = MI->getOperand(I);
     if (!MO.isReg()) continue;