llvm/tools/opt
Chandler Carruth 67a41f0919 [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.

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.

Differential Revision: http://reviews.llvm.org/D17259

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@261197 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-18 09:45:17 +00:00
..
AnalysisWrappers.cpp
BreakpointPrinter.cpp
BreakpointPrinter.h
CMakeLists.txt
GraphPrinters.cpp
LLVMBuild.txt
NewPMDriver.cpp [PM/AA] Teach the new pass manager to use pass-by-lambda for registering 2016-02-18 09:45:17 +00:00
NewPMDriver.h
opt.cpp Move SafeStack to CodeGen. 2016-01-27 16:53:42 +00:00
PassPrinters.cpp
PassPrinters.h
PrintSCC.cpp