cycle counter fix
authorAndrew Lenharth <andrewl@lenharth.org>
Fri, 2 Dec 2005 04:56:24 +0000 (04:56 +0000)
committerAndrew Lenharth <andrewl@lenharth.org>
Fri, 2 Dec 2005 04:56:24 +0000 (04:56 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24573 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/LegalizeDAG.cpp

index 0690c641db6d8d8b6e32397c8e0cc1903fd3231c..feaf890e9502e3bf29ee9b2c7fba02fd43f032e9 100644 (file)
@@ -1193,6 +1193,12 @@ SDOperand SelectionDAGLegalize::LegalizeOp(SDOperand Op) {
     Tmp1 = LegalizeOp(Node->getOperand(0)); // Legalize the chain
     if (Tmp1 != Node->getOperand(0))
       Result = DAG.getNode(ISD::READCYCLECOUNTER, MVT::i64, Tmp1);
+
+    // Since rdcc produce two values, make sure to remember that we legalized
+    // both of them.
+    AddLegalizedOperand(SDOperand(Node, 0), Result);
+    AddLegalizedOperand(SDOperand(Node, 1), Result.getValue(1));
+    return Result.getValue(Op.ResNo);
     break;
 
   case ISD::TRUNCSTORE: