[PATCH] D89854: [GVN LoadPRE] Add an option to disable splitting backedge

Serguei Katkov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 20 23:52:59 PDT 2020


skatkov created this revision.
skatkov added reviewers: fedor.sergeev, mkazantsev, nikic, reames, fhahn.
Herald added subscribers: dantrushin, hiraditya.
Herald added a project: LLVM.
skatkov requested review of this revision.

GVN Load PRE can split the backedge causing breaking the loop structure where the latch
contains the conditional branch with for example induction variable.

Different optimizations expect this form of the loop, so it is better to preserve it for some time.
This CL adds an option to control an ability to split backedge.

Default value is true so technically it is NFC and current behavior is not changed.


https://reviews.llvm.org/D89854

Files:
  llvm/include/llvm/Transforms/Scalar/GVN.h
  llvm/lib/Passes/PassBuilder.cpp
  llvm/lib/Transforms/Scalar/GVN.cpp
  llvm/test/Transforms/GVN/PRE/load-pre-split-backedge.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D89854.299572.patch
Type: text/x-patch
Size: 5732 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201021/12af80df/attachment.bin>


More information about the llvm-commits mailing list