Bug fix. Must also match ResNo when matching an operand with a user.
authorEvan Cheng <evan.cheng@apple.com>
Fri, 14 Dec 2007 08:25:15 +0000 (08:25 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Fri, 14 Dec 2007 08:25:15 +0000 (08:25 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45028 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/ScheduleDAG.cpp

index ec84b705bbfa098add547d707d217ab35e839f01..2b8965ba151bf80618527024d87320acb8110336 100644 (file)
@@ -326,7 +326,7 @@ void ScheduleDAG::EmitCopyFromReg(SDNode *Node, unsigned ResNo,
     } else {
       for (unsigned i = 0, e = Use->getNumOperands(); i != e; ++i) {
         SDOperand Op = Use->getOperand(i);
-        if (Op.Val != Node)
+        if (Op.Val != Node || Op.ResNo != ResNo)
           continue;
         MVT::ValueType VT = Node->getValueType(Op.ResNo);
         if (VT != MVT::Other && VT != MVT::Flag)