[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