[PATCH] D16257: PM: Implement a basic loop pass manager
Justin Bogner via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 15 20:09:23 PST 2016
bogner created this revision.
bogner added a reviewer: chandlerc.
bogner added a subscriber: llvm-commits.
bogner set the repository for this revision to rL LLVM.
Herald added a subscriber: joker.eph.
This creates the new-style LoopPassManager and wires it up with dummy
and print passes.
TODO:
- Is a BasicBlock name sufficient for Loop::getName(), or should we
include the containing function's name as well?
- LoopAnalysisManagerFunctionProxy::run could use an assert to
ensure that we don't run Loop Analyses before the proxy is
created, but this can't work without a good model for invalidating
the cache between functions. Note: this is an existing issue with
FunctionAMModuleProxy as well.
- There is no LoopVerifierPass. This can be added later.
Repository:
rL LLVM
http://reviews.llvm.org/D16257
Files:
include/llvm/Analysis/LoopInfo.h
include/llvm/Analysis/LoopPassManager.h
include/llvm/IR/PassManager.h
include/llvm/Passes/PassBuilder.h
lib/Analysis/CMakeLists.txt
lib/Analysis/LoopPassManager.cpp
lib/Passes/PassBuilder.cpp
lib/Passes/PassRegistry.def
test/Other/loop-pass-ordering.ll
test/Other/pass-pipeline-parsing.ll
tools/opt/NewPMDriver.cpp
unittests/Analysis/CMakeLists.txt
unittests/Analysis/LoopPassManagerTest.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16257.45070.patch
Type: text/x-patch
Size: 37767 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160116/03ec7788/attachment.bin>
More information about the llvm-commits
mailing list