[PATCH] D33464: [PM][WIP] Enable out-of-tree registration of passes with the new PassBuilder

Philip Pfaffe via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 3 07:34:25 PDT 2017


philip.pfaffe updated this revision to Diff 105058.
philip.pfaffe marked 11 inline comments as done.
philip.pfaffe added a comment.

Addressed (most of the) review comments:

- Drop Early and Late EPs
- Fix nits
- Convert the unittest to gmock

Two things are still open and require more discussion:

1. The overloads of parsePassPipeline. These functions implement top level parsing. I think we want automatic nesting inference in all these cases. A use case is for example this: `opt` can now parse EP pipelines into the various EPs, most of which do not construct a ModulePassManager. Consider running `opt -passes-ep-peephole="licm"`. The Peephole EP inserts passes into a FunctionPassManager, and as with the -passes option, this simplifies typing out the pipeline a lot.
2. A single opt invocation in the `new-pm-defaults.ll` testcase: Making this a single opt RUN line would certainly simplify the testcase a bit. What I like about the way this looks now, however, is that the CHECK-EP-* prefixes show very clearly what and where the extensions points are.


https://reviews.llvm.org/D33464

Files:
  include/llvm/Passes/PassBuilder.h
  lib/Passes/PassBuilder.cpp
  test/Other/new-pm-defaults.ll
  test/Other/new-pm-lto-defaults.ll
  tools/opt/NewPMDriver.cpp
  unittests/IR/CMakeLists.txt
  unittests/IR/PassBuilderCallbacksTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D33464.105058.patch
Type: text/x-patch
Size: 65772 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170703/97c5071f/attachment.bin>


More information about the llvm-commits mailing list