fix two bugs in OPC_EmitRegister, which makes ppc happier.
authorChris Lattner <sabre@nondot.org>
Sun, 21 Feb 2010 06:58:27 +0000 (06:58 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 21 Feb 2010 06:58:27 +0000 (06:58 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96728 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/DAGISelHeader.h

index 9acd406792784ca9b62d916a7bc948d1922e9bb7..7e6728ea807e56143a9685f6e467ba923b72d177 100644 (file)
@@ -525,11 +525,10 @@ SDNode *SelectCodeCommon(SDNode *NodeToMatch, const unsigned char *MatcherTable,
     }
         
     case OPC_EmitRegister: {
-      unsigned RegNo = MatcherTable[MatcherIndex++];
       MVT::SimpleValueType VT =
-      (MVT::SimpleValueType)MatcherTable[MatcherIndex++];
-      SDValue Reg = CurDAG->getRegister(RegNo, VT);
-      RecordedNodes.push_back(N);
+        (MVT::SimpleValueType)MatcherTable[MatcherIndex++];
+      unsigned RegNo = MatcherTable[MatcherIndex++];
+      RecordedNodes.push_back(CurDAG->getRegister(RegNo, VT));
       continue;
     }
         
@@ -640,6 +639,8 @@ SDNode *SelectCodeCommon(SDNode *NodeToMatch, const unsigned char *MatcherTable,
       SmallVector<EVT, 4> VTs;
       for (unsigned i = 0; i != NumVTs; ++i)
         VTs.push_back((MVT::SimpleValueType)MatcherTable[MatcherIndex++]);
+      
+      // FIXME: Use faster version for the common 'one VT' case?
       SDVTList VTList = CurDAG->getVTList(VTs.data(), VTs.size());
 
       // Get the operand list.