[PATCH] D47408: [PM/LoopUnswitch] When using the new SimpleLoopUnswitch pass, schedule loop-cleanup passes at the beginning of the loop pass pipeline, and re-enqueue loops after even trivial unswitching.
Chandler Carruth via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat May 26 15:38:15 PDT 2018
chandlerc updated this revision to Diff 148739.
chandlerc retitled this revision from "[PM/LoopUnswitch] Schedule loop-cleanup passes at the beginning of the loop pass pipeline, and re-enqueue loops after even trivial unswitching." to "[PM/LoopUnswitch] When using the new SimpleLoopUnswitch pass, schedule loop-cleanup passes at the beginning of the loop pass pipeline, and re-enqueue loops after even trivial unswitching.".
chandlerc edited the summary of this revision.
chandlerc added reviewers: fedor.sergeev, reames.
chandlerc added a dependency: D47407: [LoopInstSimplify] Re-implement the core logic of loop-instsimplify to be both simpler and substantially more efficient..
chandlerc added a comment.
Rebase and teach the old PM to do this as well when using SimpleLoopUnswitch.
I've also now built a Clang with this and run it over the test suite with both old and new PM and with this unswitch pass enabled. No crashes, no failures.
Repository:
rL LLVM
https://reviews.llvm.org/D47408
Files:
llvm/lib/Passes/PassBuilder.cpp
llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
llvm/test/Other/new-pm-defaults.ll
llvm/test/Other/new-pm-thinlto-defaults.ll
llvm/test/Transforms/SimpleLoopUnswitch/trivial-unswitch-iteration.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D47408.148739.patch
Type: text/x-patch
Size: 12700 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180526/00bb4ec7/attachment.bin>
More information about the llvm-commits
mailing list