[PATCH] D47858: [New PM] Introducing PassInstrumentation framework

Fedor Sergeev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 13 23:04:36 PDT 2018


fedor.sergeev updated this revision to Diff 165428.
fedor.sergeev added a comment.

updating a solution as per review comments as well as following
the design discussion we had on IRC.
Main directions:

- PassInstrumentation is split in two parts - callbacks/instrumenting points
- PassInstrumentationAnalysis returns PassInstrumentation
- no more PassCounter tracking in PassInstrumentation
- PassInstanceID is gone, not trying to track pass instance as we have no good mental model on what it actually is. Passing just StringRefs - pass names.
- using getResult<PassInstrumentationAnalysis> instead of getPassInstrumentation whenever possible (still using std::tuple variant in places where it needs to chop off AM args).

Most likely I forgot to mention something :)


Repository:
  rL LLVM

https://reviews.llvm.org/D47858

Files:
  include/llvm/Analysis/CGSCCPassManager.h
  include/llvm/IR/PassInstrumentation.h
  include/llvm/IR/PassManager.h
  include/llvm/IR/PassManagerInternal.h
  include/llvm/Passes/PassBuilder.h
  include/llvm/Transforms/Scalar/LoopPassManager.h
  lib/Analysis/CGSCCPassManager.cpp
  lib/FuzzMutate/IRMutator.cpp
  lib/IR/CMakeLists.txt
  lib/IR/PassInstrumentation.cpp
  lib/Passes/PassBuilder.cpp
  lib/Transforms/Scalar/LoopPassManager.cpp
  test/Other/loop-pm-invalidation.ll
  test/Other/new-pass-manager.ll
  test/Other/new-pm-defaults.ll
  test/Other/new-pm-lto-defaults.ll
  test/Other/new-pm-thinlto-defaults.ll
  test/Transforms/Inline/cgscc-incremental-invalidate.ll
  test/Transforms/LoopRotate/pr35210.ll
  unittests/Analysis/CGSCCPassManagerTest.cpp
  unittests/IR/PassBuilderCallbacksTest.cpp
  unittests/IR/PassManagerTest.cpp
  unittests/Transforms/Scalar/LoopPassManagerTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D47858.165428.patch
Type: text/x-patch
Size: 63269 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180914/de60bc36/attachment.bin>


More information about the llvm-commits mailing list