From 7ae92a69c2f3ddd3d41cbc5c808d240184b394d0 Mon Sep 17 00:00:00 2001 From: Mircea Trofin Date: Fri, 24 Jun 2022 18:19:34 -0700 Subject: [PATCH] [MLInliner] No need to invalidate everything post-inlining. We really just need to invalidate loop info and the dominator tree, in addition to the FunctionPropertiesInfo we were invalidating originally. Doing more adds unnecessary compile time overhead. --- llvm/lib/Analysis/MLInlineAdvisor.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/llvm/lib/Analysis/MLInlineAdvisor.cpp b/llvm/lib/Analysis/MLInlineAdvisor.cpp index 1a7cdc3..f55de71e 100644 --- a/llvm/lib/Analysis/MLInlineAdvisor.cpp +++ b/llvm/lib/Analysis/MLInlineAdvisor.cpp @@ -232,7 +232,10 @@ void MLInlineAdvisor::onSuccessfulInlining(const MLInlineAdvice &Advice, Function *Callee = Advice.getCallee(); // The caller features aren't valid anymore. { - PreservedAnalyses PA = PreservedAnalyses::none(); + PreservedAnalyses PA = PreservedAnalyses::all(); + PA.abandon(); + PA.abandon(); + PA.abandon(); FAM.invalidate(*Caller, PA); } Advice.updateCachedCallerFPI(FAM); -- 2.7.4