From: Chris Lattner Date: Sat, 15 Oct 2005 20:24:07 +0000 (+0000) Subject: Use getExtLoad here instead of getNode, as extloads produce two values. This X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=8136cdae60eaa30cea91f288f25564a417b19a84;p=oota-llvm.git Use getExtLoad here instead of getNode, as extloads produce two values. This fixes a legalize failure on SPASS for itanium. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23747 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp index b02fac1c049..8c7f761f833 100644 --- a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp +++ b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp @@ -2355,8 +2355,9 @@ SDOperand SelectionDAGLegalize::PromoteOp(SDOperand Op) { case ISD::EXTLOAD: Tmp1 = LegalizeOp(Node->getOperand(0)); // Legalize the chain. Tmp2 = LegalizeOp(Node->getOperand(1)); // Legalize the pointer. - Result = DAG.getNode(Node->getOpcode(), NVT, Tmp1, Tmp2, - Node->getOperand(2), Node->getOperand(3)); + Result = DAG.getExtLoad(Node->getOpcode(), NVT, Tmp1, Tmp2, + Node->getOperand(2), + cast(Node->getOperand(3))->getVT()); // Remember that we legalized the chain. AddLegalizedOperand(Op.getValue(1), Result.getValue(1)); break;