Keep track of the retval type as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19670 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2005-01-18 19:26:36 +00:00
parent c7ba0eb5eb
commit 4a9b4f1943

View File

@ -218,7 +218,9 @@ void SelectionDAG::DeleteNodeIfDead(SDNode *N, void *NodeSet) {
case ISD::SETCC:
SetCCs.erase(std::make_pair(std::make_pair(N->getOperand(0),
N->getOperand(1)),
cast<SetCCSDNode>(N)->getCondition()));
std::make_pair(
cast<SetCCSDNode>(N)->getCondition(),
N->getValueType(0))));
break;
case ISD::TRUNCSTORE:
case ISD::SIGN_EXTEND_INREG:
@ -463,7 +465,8 @@ SDOperand SelectionDAG::getSetCC(ISD::CondCode Cond, MVT::ValueType VT,
}
}
SetCCSDNode *&N = SetCCs[std::make_pair(std::make_pair(N1, N2), Cond)];
SetCCSDNode *&N = SetCCs[std::make_pair(std::make_pair(N1, N2),
std::make_pair(Cond, VT))];
if (N) return SDOperand(N, 0);
N = new SetCCSDNode(Cond, N1, N2);
N->setValueTypes(VT);