summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-01-18 19:26:36 +0000
committerChris Lattner <sabre@nondot.org>2005-01-18 19:26:36 +0000
commita9d53f9fb98a3e4db04c8f9524e123e3c9e8f367 (patch)
treec27e6cb104306aba292742065890974d0b3cb706 /llvm/lib/CodeGen
parent8cd93be302bd38f34e05c88d328b405d37e9a697 (diff)
downloadbcm5719-llvm-a9d53f9fb98a3e4db04c8f9524e123e3c9e8f367.tar.gz
bcm5719-llvm-a9d53f9fb98a3e4db04c8f9524e123e3c9e8f367.zip
Keep track of the retval type as well.
llvm-svn: 19670
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index 43f13d71fcd..3da2f5fe7ab 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -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);
OpenPOWER on IntegriCloud