diff --git a/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp b/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp index 595d6891f53..f3845dc8fed 100644 --- a/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp +++ b/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp @@ -598,6 +598,12 @@ void DAGTypeLegalizer::ExpungeNode(SDNode *N) { RemapValue(I->second); } + for (DenseMap::iterator I = PromotedFloats.begin(), + E = PromotedFloats.end(); I != E; ++I) { + assert(I->first.getNode() != N); + RemapValue(I->second); + } + for (DenseMap::iterator I = SoftenedFloats.begin(), E = SoftenedFloats.end(); I != E; ++I) { assert(I->first.getNode() != N);