[PATCH] D50891: [LICM] Hoist guards from non-header blocks

Max Kazantsev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 17 04:50:51 PDT 2018


mkazantsev created this revision.
mkazantsev added reviewers: reames, skatkov, fedor.sergeev, sanjoy.

This patch relaxes overconservative checks on whether or not we could write memory
before we execute an instruction. This allows us to hoist guards out of loops even if they
are not in the header block.


https://reviews.llvm.org/D50891

Files:
  include/llvm/Analysis/MustExecute.h
  lib/Analysis/MustExecute.cpp
  lib/Transforms/Scalar/LICM.cpp
  test/Transforms/LICM/guards.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D50891.161208.patch
Type: text/x-patch
Size: 8705 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180817/d4cb94f7/attachment.bin>


More information about the llvm-commits mailing list