[PATCH] D45754: [PM/LoopUnswitch] Detect irreducible control flow within loops and skip unswitching non-trivial edges.

Chandler Carruth via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 17 23:13:32 PDT 2018


chandlerc created this revision.
chandlerc added reviewers: sanjoy, fedor.sergeev.
Herald added subscribers: hiraditya, mcrosier.

This fixes the bug pointed out in review with non-trivial unswitching.

This also provides a basis that should make it pretty easy to finish
fleshing out a routine to scan an entire function body for irreducible
control flow, but this patch remains minimal for disabling loop
unswitch.


Repository:
  rL LLVM

https://reviews.llvm.org/D45754

Files:
  llvm/include/llvm/Analysis/LoopInfo.h
  llvm/include/llvm/Analysis/LoopInfoImpl.h
  llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
  llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45754.142884.patch
Type: text/x-patch
Size: 7322 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180418/8ffc5e01/attachment.bin>


More information about the llvm-commits mailing list