[MLGO] Fix use of AM.invalidate post D100519
The ML inline advisors more aggressively invalidate certain analyses after each call site inlining, to more accurately capture the problem state.
This commit is contained in:
parent
f8cf3b9931
commit
0d06b14f59
|
@ -160,7 +160,9 @@ public:
|
|||
*CurrentNativeSize += Change;
|
||||
}
|
||||
void resetNativeSize(Function *F) {
|
||||
FAM.invalidate<InlineSizeEstimatorAnalysis>(*F);
|
||||
PreservedAnalyses PA = PreservedAnalyses::all();
|
||||
PA.abandon<InlineSizeEstimatorAnalysis>();
|
||||
FAM.invalidate(*F, PA);
|
||||
}
|
||||
|
||||
std::unique_ptr<MLInlineAdvice>
|
||||
|
|
|
@ -134,7 +134,11 @@ void MLInlineAdvisor::onSuccessfulInlining(const MLInlineAdvice &Advice,
|
|||
Function *Callee = Advice.getCallee();
|
||||
|
||||
// The caller features aren't valid anymore.
|
||||
FAM.invalidate<FunctionPropertiesAnalysis>(*Caller);
|
||||
{
|
||||
PreservedAnalyses PA = PreservedAnalyses::all();
|
||||
PA.abandon<FunctionPropertiesAnalysis>();
|
||||
FAM.invalidate(*Caller, PA);
|
||||
}
|
||||
int64_t IRSizeAfter =
|
||||
getIRSize(*Caller) + (CalleeWasDeleted ? 0 : Advice.CalleeIRSize);
|
||||
CurrentIRSize += IRSizeAfter - (Advice.CallerIRSize + Advice.CalleeIRSize);
|
||||
|
|
Loading…
Reference in New Issue