[PATCH] D81582: [BreakCritEdges] Add option to opt-out of perserving loop-simplify.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 12 04:50:00 PDT 2020


fhahn marked an inline comment as done.
fhahn added inline comments.


================
Comment at: llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp:193
+      if (any_of(LoopPreds, [](BasicBlock *Pred) {
+            return isa<IndirectBrInst>(Pred->getTerminator());
+          })) {
----------------
efriedma wrote:
> Really, I'd prefer if the `if (Options.PreserveLoopSimplify) return nullptr;` check wasn't guarded by the check for indirectbrinsts.
Unfortunately there are some places, like LoopRotate & LoopUnswtich that rely on the splitting to happen (and loop-simplify form being preserved here). In most cases they probably reject the indirectbr cases up-front. I'll continue on D81584, which should hopefully eliminate this particular issue.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D81582





More information about the llvm-commits mailing list