diff options
author | Chris Lattner <sabre@nondot.org> | 2005-08-05 16:55:31 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-08-05 16:55:31 +0000 |
commit | 1095dc94a9e908c5e4d8084d309a9aab208cec37 (patch) | |
tree | 76ac99b99f1e2855b224d69bee331be7730e5e01 /llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | |
parent | cabdc34563b5b3d9229889d6fa118dfd1b2b0458 (diff) | |
download | bcm5719-llvm-1095dc94a9e908c5e4d8084d309a9aab208cec37.tar.gz bcm5719-llvm-1095dc94a9e908c5e4d8084d309a9aab208cec37.zip |
Fix a use-of-dangling-pointer bug, from the introduction of SrcValue's.
llvm-svn: 22679
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index e45e708ede6..6a018a546c1 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<VTSDNode>(N)->getVT()] = 0; break; + case ISD::SRCVALUE: { + SrcValueSDNode *SVN = cast<SrcValueSDNode>(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), |