OSDN Git Service

[LICM] Allow sinking when foldable in loop
authorJun Bum Lim <junbuml@codeaurora.org>
Fri, 15 Dec 2017 16:09:54 +0000 (16:09 +0000)
committerJun Bum Lim <junbuml@codeaurora.org>
Fri, 15 Dec 2017 16:09:54 +0000 (16:09 +0000)
commit20ea5a516182ba80d098f722ff822fda9702d583
tree93172453fb744a870cfd52ab0c7fe05d01431ec5
parent213645abbdf5e9f079496abf8798b94221026db9
[LICM] Allow sinking when foldable in loop

Summary:
Continue trying to sink an instruction if its users in the loop is foldable.
This will allow the instruction to be folded in the loop by decoupling it from
the user outside of the loop.

Reviewers: hfinkel, majnemer, davidxl, efriedma, danielcdh, bmakam, mcrosier

Reviewed By: hfinkel

Subscribers: javed.absar, bmakam, mcrosier, llvm-commits

Differential Revision: https://reviews.llvm.org/D37076

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@320823 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Transforms/Utils/LoopUtils.h
lib/Transforms/Scalar/LICM.cpp
test/Transforms/LICM/sink-foldable.ll [new file with mode: 0644]