[PATCH] D63921: [Loop Peeling] Add support for peeling of loops with multiple exits

Serguei Katkov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 28 01:27:23 PDT 2019


skatkov created this revision.
skatkov added reviewers: reames, mkuper, iajbar, fhahn.
Herald added a subscriber: zzheng.

This patch modifies the loop peeling transformation so that
it does not expect that there is only one loop exit from latch.

It modifies only transformation. Update of branch weights remains
only for exit from latch.

The motivation is that in follow-up patch I plan to enable loop peeling for
loops with multiple exits but only if other exits then from latch one goes to
block with call to deopt.

For now this patch is NFC.


https://reviews.llvm.org/D63921

Files:
  include/llvm/Analysis/LoopInfo.h
  include/llvm/Analysis/LoopInfoImpl.h
  lib/Transforms/Utils/LoopUnroll.cpp
  lib/Transforms/Utils/LoopUnrollPeel.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D63921.207013.patch
Type: text/x-patch
Size: 7819 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190628/d6bb883b/attachment.bin>


More information about the llvm-commits mailing list