[PATCH] D84977: [NewPM] Only verify loop for nonskipped user loop pass

Arthur Eubanks via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 30 21:03:52 PDT 2020


aeubanks added a comment.

It seems like the verification is to check either that on the first round, `LoopCanonicalizationFPM` worked, or on iterations after the first, the loop pass maintained whatever loop invariants.
Since the `LoopPassManager` itself doesn't check for `L->isRecursivelyLCSSAForm(LAR.DT, LI)`, I don't think we should guard the check with `!isSpecialPass(Pass.name(), {"PassManager"})`.

Maybe it makes more sense to mark `LoopSimplifyPass` and `LCSSAPass` as required? Since we don't know ahead of time if any loop passes in the pass manager are required (well we could, but that's a different issue).



================
Comment at: llvm/include/llvm/Transforms/Scalar/LoopPassManager.h:307-311
       // Check the PassInstrumentation's BeforePass callbacks before running the
       // pass, skip its execution completely if asked to (callback returns
       // false).
       if (!PI.runBeforePass<Loop>(Pass, *L))
         continue;
----------------
move this up even more? right after `Loop *L = Worklist.pop_back_val();`


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D84977/new/

https://reviews.llvm.org/D84977



More information about the llvm-commits mailing list