implement legalization of build_pair for nate
authorChris Lattner <sabre@nondot.org>
Mon, 28 Mar 2005 22:03:13 +0000 (22:03 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 28 Mar 2005 22:03:13 +0000 (22:03 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20901 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/LegalizeDAG.cpp

index 215cf78c5beb16ae32d1c546569989f49dccd477..576232540e983e6b817cf73828402ec8666157e1 100644 (file)
@@ -1590,6 +1590,14 @@ void SelectionDAGLegalize::ExpandOp(SDOperand Op, SDOperand &Lo, SDOperand &Hi){
     break;
   }
 
+  case ISD::BUILD_PAIR:
+    // Legalize both operands.  FIXME: in the future we should handle the case
+    // where the two elements are not legal.
+    assert(isTypeLegal(NVT) && "Cannot expand this multiple times yet!");
+    Lo = LegalizeOp(Node->getOperand(0));
+    Hi = LegalizeOp(Node->getOperand(1));
+    break;
+
   case ISD::LOAD: {
     SDOperand Ch = LegalizeOp(Node->getOperand(0));   // Legalize the chain.
     SDOperand Ptr = LegalizeOp(Node->getOperand(1));  // Legalize the pointer.