[all-commits] [llvm/llvm-project] d14d84: [NewPM] Only invalidate modified functions' analys...

aeubanks via All-commits all-commits at lists.llvm.org
Mon May 3 17:22:08 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d14d84af2f5ebb8ae2188ce6884a29a586dc0a40
      https://github.com/llvm/llvm-project/commit/d14d84af2f5ebb8ae2188ce6884a29a586dc0a40
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2021-05-03 (Mon, 03 May 2021)

  Changed paths:
    M clang/test/CodeGen/thinlto-distributed-newpm.ll
    M llvm/lib/Analysis/CGSCCPassManager.cpp
    M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/lib/Transforms/IPO/Inliner.cpp
    M llvm/test/Other/opt-O3-pipeline.ll
    A llvm/test/Transforms/Inline/analysis-invalidation.ll
    M llvm/test/Transforms/Inline/cgscc-incremental-invalidate.ll

  Log Message:
  -----------
  [NewPM] Only invalidate modified functions' analyses in CGSCC passes

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, funcattrs, and
updateCGAndAnalysisManager(), since they are the most used.

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

Reviewed By: mtrofin

Differential Revision: https://reviews.llvm.org/D100917




More information about the All-commits mailing list