[all-commits] [llvm/llvm-project] 717588: [NewPM] Make eager analysis invalidation per-adaptor

aeubanks via All-commits all-commits at lists.llvm.org
Thu Nov 4 17:19:26 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7175886a0f612aded1430ae240ca7ffd53d260dd
      https://github.com/llvm/llvm-project/commit/7175886a0f612aded1430ae240ca7ffd53d260dd
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2021-11-04 (Thu, 04 Nov 2021)

  Changed paths:
    M llvm/include/llvm/Analysis/CGSCCPassManager.h
    M llvm/include/llvm/IR/PassManager.h
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/lib/Analysis/CGSCCPassManager.cpp
    M llvm/lib/IR/PassManager.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/test/Other/new-pm-eager-invalidate.ll
    M llvm/test/Other/new-pm-print-pipeline.ll

  Log Message:
  -----------
  [NewPM] Make eager analysis invalidation per-adaptor

Follow-up change to D111575.
We don't need eager invalidation on every adaptor. Most notably,
adaptors running passes that use very few analyses, or passes that
purely invalidate specific analyses.

Also allow testing of this via a pipeline string
"function<eager-inv>()".

The compile time/memory impact of this is very comparable to D111575.
https://llvm-compile-time-tracker.com/compare.php?from=9a2eec512a29df45c90c2fcb741e9d5c693b1383&to=b9f20bcdea138060967d95a98eab87ce725b22bb&stat=instructions

Reviewed By: nikic

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




More information about the All-commits mailing list