diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index c3d1bb398e4..9d7e5b1648a 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -1042,7 +1042,7 @@ SDOperand SelectionDAG::getNode(unsigned Opcode, MVT::ValueType VT, SDNode *N; if (VT != MVT::Flag) { // Don't CSE flag producing nodes SDNode *&E = UnaryOps[std::make_pair(Opcode, std::make_pair(Operand, VT))]; - if (E) return SDOperand(N, 0); + if (E) return SDOperand(E, 0); E = N = new SDNode(Opcode, Operand); } else { N = new SDNode(Opcode, Operand);