From 1095dc94a9e908c5e4d8084d309a9aab208cec37 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 5 Aug 2005 16:55:31 +0000 Subject: [PATCH] Fix a use-of-dangling-pointer bug, from the introduction of SrcValue's. llvm-svn: 22679 --- llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index e45e708ede6f..6a018a546c1e 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -215,6 +215,11 @@ void SelectionDAG::DeleteNodeIfDead(SDNode *N, void *NodeSet) { case ISD::VALUETYPE: ValueTypeNodes[cast(N)->getVT()] = 0; break; + case ISD::SRCVALUE: { + SrcValueSDNode *SVN = cast(N); + ValueNodes.erase(std::make_pair(SVN->getValue(), SVN->getOffset())); + break; + } case ISD::LOAD: Loads.erase(std::make_pair(N->getOperand(1), std::make_pair(N->getOperand(0),