[PATCH] D17259: [PM/AA] Teach the new pass manager to use pass-by-lambda for registering analysis passes, support pre-registering analyses, and use that to implement parsing and pre-registering a custom alias analysis pipeline.

Chandler Carruth via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 15 02:22:21 PST 2016


chandlerc created this revision.
chandlerc added a subscriber: llvm-commits.
Herald added subscribers: mcrosier, joker.eph.

With this its possible to configure the particular alias analysis
pipeline used by the AAManager from the commandline of opt. I've updated
the test to show this effectively in use to build a pipeline including
basic-aa as part of it.

My big question for reviewers are around the APIs that are used to
expose this functionality. Are folks happy with pass-by-lambda to do
pass registration? Are folks happy with pre-registering analyses as
a way to inject customized instances of an analysis while still using
the registry for the general case?

Other thoughts of course welcome. The next round of patches will be to
add the rest of the alias analyses into the new pass manager and wire
them up here so that they can be used from opt. This will require
extending the (somewhate limited) functionality of AAManager w.r.t.
module passes.

http://reviews.llvm.org/D17259

Files:
  include/llvm/IR/PassManager.h
  include/llvm/Passes/PassBuilder.h
  lib/Passes/PassBuilder.cpp
  lib/Passes/PassRegistry.def
  test/Other/new-pass-manager.ll
  tools/opt/NewPMDriver.cpp
  unittests/IR/PassManagerTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D17259.47964.patch
Type: text/x-patch
Size: 13738 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160215/67d084d7/attachment.bin>


More information about the llvm-commits mailing list