This is an archive of the discontinued LLVM Phabricator instance.

[FuncAttrs] Always preserve FunctionAnalysisManagerCGSCCProxy
ClosedPublic

Authored by aeubanks on Apr 20 2021, 3:08 PM.

Details

Summary

FunctionAnalysisManagerCGSCCProxy should not be preserved if any of its
keys may be invalid. Since we are not removing/adding functions in
FuncAttrs, it's fine to preserve it.

Diff Detail

Event Timeline

aeubanks created this revision.Apr 20 2021, 3:08 PM
aeubanks requested review of this revision.Apr 20 2021, 3:08 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 20 2021, 3:08 PM

This shouldn't help compile times yet since we still end up invalidating all the same analyses in FunctionAnalysisManagerCGSCCProxy::Result::invalidate, but it's a step in that direction.
I want to look into preserving analyses for functions not modified in a CGSCC pass, even if other functions are modified, to help D98103 and compile times in general.

asbirlea accepted this revision.Apr 20 2021, 3:19 PM

Sounds good, thank you!

This revision is now accepted and ready to land.Apr 20 2021, 3:19 PM