[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
Tue May 29 09:52:07 PDT 2018


chandlerc added a comment.

Thanks for review all! (Waiting on the patch before this in order to land this one.)



================
Comment at: llvm/lib/Passes/PassBuilder.cpp:396-397
   // `SimplifyCFGPass` and `InstCombinePass` are used. We have
   // `LoopSimplifyCFGPass` which isn't yet powerful enough, and the closest to
   // the other we have is `LoopInstSimplify`.
   LoopPassManager LPM1(DebugLogging), LPM2(DebugLogging);
----------------
fedor.sergeev wrote:
> Time to update the comment? :)
No? I think this is still true. We still break it into two pipelines. I don't think LoopSimplifyCFG has had enough of SimplifyCFG ported to it to make it effective to re-merge the loop pipelines (yet).


================
Comment at: llvm/lib/Transforms/IPO/PassManagerBuilder.cpp:340
+  // Begin the loop pass pipeline.
   // Rotate Loop - disable header duplication at -Oz
+  if (EnableSimpleLoopUnswitch) {
----------------
dmgreen wrote:
> Should this comment be moved down next to the loop rotate pass?
I think I even intended to do that. Not sure how this ended up this way. Anyways, well spotted. Fixed. =D


Repository:
  rL LLVM

https://reviews.llvm.org/D47408





More information about the llvm-commits mailing list