[PATCH] D98103: [NPM] Do not run function simplification pipeline unnecessarily
Arthur Eubanks via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 14 18:54:40 PDT 2021
aeubanks added a comment.
Talking offline with mtrofin, IMO in an ideal world:
- the analysis should be invalidatable like a typical stateful analysis result (I hadn't noticed the analysis here was immutable, that's why I was confused, plus the invalidate vs clear distinction)
- the logic around `InvalidateSA` shouldn't be necessary, the existing invalidation infra should handle it
- all CGSCC passes specify that they preserve all function analyses and only manually invalidate function analyses on functions that they have modified
- this wouldn't happen in `updateCGAndAnalysisManagerForPass()` since that's mostly just for keeping the call graph up to date, passes that don't change the call graph won't call that (e.g. `PostOrderFunctionAttrsPass`)
- this could save some compile time in general since right now we're invalidating function analysis results for all functions in an SCC if any function has changed
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D98103/new/
https://reviews.llvm.org/D98103
More information about the llvm-commits
mailing list