diff options
author | David Majnemer <david.majnemer@gmail.com> | 2013-04-18 07:30:07 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2013-04-18 07:30:07 +0000 |
commit | a40a3a59818d1fe394f23cda1df940762e30ea65 (patch) | |
tree | 955cb6028bd96331f3d0893d7816b0bcc5137e30 /lib/Target/ARM/ARMLoadStoreOptimizer.cpp | |
parent | 0556900b260eed881a2f47a2b5267ae3a7cc7ae0 (diff) |
Combine bit test + conditional or into simple math
Simplify:
(select (icmp eq (and X, C1), 0), Y, (or Y, C2))
Into:
(or (shl (and X, C1), C3), y)
Where:
C3 = Log(C2) - Log(C1)
If:
C1 and C2 are both powers of two
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179748 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMLoadStoreOptimizer.cpp')
0 files changed, 0 insertions, 0 deletions