[PATCH] D16257: PM: Implement a basic loop pass manager
Justin Bogner via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 15 20:13:14 PST 2016
Justin Bogner via llvm-commits <llvm-commits at lists.llvm.org> writes:
> 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.
Here are POCs for the ports of loop rotate and loop unroll so you can
see how this is used or try it out if you like.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: newpm-loop-rotate.patch
Type: text/x-patch
Size: 8604 bytes
Desc: Loop Rotation
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160115/b8c09144/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: newpm-loop-unroll.patch
Type: text/x-patch
Size: 9731 bytes
Desc: Loop Unroll
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160115/b8c09144/attachment-0001.bin>
More information about the llvm-commits
mailing list