[PATCH] D100917: [NewPM] Only invalidate modified functions' analyses in CGSCC passes

Arthur Eubanks via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 20 18:39:04 PDT 2021


aeubanks created this revision.
aeubanks added reviewers: mtrofin, asbirlea.
Herald added subscribers: hiraditya, eraman.
aeubanks requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Previously, any change in any function in an SCC would cause all
analyses for all functions in the SCC to be invalidated. With this
change, we now manually invalidate analyses for functions we modify,
then let the pass manager know that all function analyses should be
preserved.

So far this only touches the inliner, argpromotion, and funcattrs, since
they are the common passes in typical optimization pipelines.

Slight compile time improvements:
http://llvm-compile-time-tracker.com/compare.php?from=326da4adcb8def2abdd530299d87ce951c0edec9&to=8942c7669f330082ef159f3c6c57c3c28484f4be&stat=instructions


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D100917

Files:
  llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
  llvm/lib/Transforms/IPO/FunctionAttrs.cpp
  llvm/lib/Transforms/IPO/Inliner.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D100917.339070.patch
Type: text/x-patch
Size: 19653 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210421/353475e6/attachment.bin>


More information about the llvm-commits mailing list