diff options
Diffstat (limited to 'llvm/lib/Transforms/IPO/HotColdSplitting.cpp')
| -rw-r--r-- | llvm/lib/Transforms/IPO/HotColdSplitting.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/IPO/HotColdSplitting.cpp b/llvm/lib/Transforms/IPO/HotColdSplitting.cpp index 79a5a9b80a9..49937a727fe 100644 --- a/llvm/lib/Transforms/IPO/HotColdSplitting.cpp +++ b/llvm/lib/Transforms/IPO/HotColdSplitting.cpp @@ -659,6 +659,11 @@ bool HotColdSplitting::outlineColdRegions(Function &F, bool HasProfileSummary) { } while (!Region.empty()); } + // We need to explicitly clear the assumption cache since the value tracking + // may now be invalid as part of the function has changed. + if (Changed) + if (AssumptionCache *AC = LookupAC(F)) + AC->clear(); return Changed; } |

