OSDN Git Service

[LICM] Hoist guards with invariant conditions
authorMax Kazantsev <max.kazantsev@azul.com>
Tue, 21 Aug 2018 08:11:31 +0000 (08:11 +0000)
committerMax Kazantsev <max.kazantsev@azul.com>
Tue, 21 Aug 2018 08:11:31 +0000 (08:11 +0000)
commit33515ddc7051a2b512002f18d43510443f9e026f
tree368a76cb672a61d02875db0a56623aa1d50e83ea
parent56f506811f622031c1c7e0403bc4db5e89039f03
[LICM] Hoist guards with invariant conditions

This patch teaches LICM to hoist guards from the loop if they are guaranteed to execute and
if there are no side effects that could prevent that.

Differential Revision: https://reviews.llvm.org/D50501
Reviewed By: reames

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@340256 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/LICM.cpp
test/Transforms/GuardWidening/loop-schedule.ll
test/Transforms/LICM/guards.ll