OSDN Git Service

[SLSR] handle (B | i) * S
authorJingyue Wu <jingyue@google.com>
Fri, 15 May 2015 17:07:48 +0000 (17:07 +0000)
committerJingyue Wu <jingyue@google.com>
Fri, 15 May 2015 17:07:48 +0000 (17:07 +0000)
commitef0b6c4b1e6d9f51407c10dd2a77fb010797810e
tree6f3883d7abf2c421c99eadb01fece339ed3d89e6
parentd63e0fc2d9086ed223bebc8fab8a8774fb43a1dd
[SLSR] handle (B | i) * S

Summary:
Consider (B | i) * S as (B + i) * S if B and i have no bits set in
common.

Test Plan: @or in slsr-mul.ll

Reviewers: broune, meheff

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D9788

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237456 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
test/Transforms/StraightLineStrengthReduce/slsr-mul.ll