OSDN Git Service

Recommit r317510 "[InstCombine] Pull shifts through a select plus binop with constant"
authorCraig Topper <craig.topper@intel.com>
Tue, 7 Nov 2017 18:47:24 +0000 (18:47 +0000)
committerCraig Topper <craig.topper@intel.com>
Tue, 7 Nov 2017 18:47:24 +0000 (18:47 +0000)
commit7e1904e9c8a91c436bac4217ce6f01a1d0499af5
tree235bc527f737b058a88132e81260e81a218390ee
parent3c64d8ff3aeab292b97ddfff0d1a70f6aba0fd5f
Recommit r317510 "[InstCombine] Pull shifts through a select plus binop with constant"

The hexagon test should be fixed now.

Original commit message:

This pulls shifts through a select+binop with a constant where the select conditionally executes the binop. We already do this for just the binop, but not with the select.

This can allow us to get the select closer to other selects to enable removing one.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@317600 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/InstCombine/InstCombineShifts.cpp
test/Transforms/InstCombine/shift.ll