diff options
-rw-r--r-- | llvm/lib/Analysis/InlineCost.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Analysis/InlineCost.cpp b/llvm/lib/Analysis/InlineCost.cpp index 4f69d1f012c..355c32678c4 100644 --- a/llvm/lib/Analysis/InlineCost.cpp +++ b/llvm/lib/Analysis/InlineCost.cpp @@ -1600,5 +1600,8 @@ BlockFrequencyInfo *BlockFrequencyAnalysis::getBlockFrequencyInfo(Function *F) { /// \brief Invalidate BlockFrequencyInfo for a function. void BlockFrequencyAnalysis::invalidateBlockFrequencyInfo(Function *F) { - BFM.erase(F); + if (BFM.count(F)) { + delete BFM[F]; + BFM.erase(F); + } } |