diff --git a/llvm/lib/Transforms/Scalar/CorrelatedExprs.cpp b/llvm/lib/Transforms/Scalar/CorrelatedExprs.cpp index 9ac8a4a8939c..6d26ffd86191 100644 --- a/llvm/lib/Transforms/Scalar/CorrelatedExprs.cpp +++ b/llvm/lib/Transforms/Scalar/CorrelatedExprs.cpp @@ -212,11 +212,6 @@ namespace { // information. virtual void print(std::ostream &O, const Module *M) const; - virtual void releaseMemory() { - RegionInfoMap.clear(); - RankMap.clear(); - } - private: RegionInfo &getRegionInfo(BasicBlock *BB) { std::map::iterator I @@ -272,7 +267,11 @@ bool CEE::runOnFunction(Function &F) { DT = &getAnalysis(); std::set VisitedBlocks; - return TransformRegion(&F.getEntryNode(), VisitedBlocks); + bool Changed = TransformRegion(&F.getEntryNode(), VisitedBlocks); + + RegionInfoMap.clear(); + RankMap.clear(); + return Changed; } // TransformRegion - Transform the region starting with BB according to the