Teach legalize how to promote sext_inreg to fix a problem Andrew pointed
authorChris Lattner <sabre@nondot.org>
Fri, 9 Dec 2005 17:32:47 +0000 (17:32 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 9 Dec 2005 17:32:47 +0000 (17:32 +0000)
out to me.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24644 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/LegalizeDAG.cpp

index 41ba14205da11c6e21fd8b7f23314272ba93e3b8..c66748729db4bb419c95d760c39d993a875331cc 100644 (file)
@@ -2404,6 +2404,11 @@ SDOperand SelectionDAGLegalize::PromoteOp(SDOperand Op) {
     }
     break;
 
+  case ISD::SIGN_EXTEND_INREG:
+    Result = PromoteOp(Node->getOperand(0));
+    Result = DAG.getNode(ISD::SIGN_EXTEND_INREG, NVT, Result, 
+                         Node->getOperand(1));
+    break;
   case ISD::FP_TO_SINT:
   case ISD::FP_TO_UINT:
     switch (getTypeAction(Node->getOperand(0).getValueType())) {