Sanjay Patel
fa5ca2bf46
[InstCombine] use m_APInt to allow icmp (udiv X, Y), C folds for splat constant vectors
...
This is a sibling of:
https://reviews.llvm.org/rL278859
https://reviews.llvm.org/rL278935
https://reviews.llvm.org/rL278945
https://reviews.llvm.org/rL279066
https://reviews.llvm.org/rL279077
llvm-svn: 279101
2016-08-18 17:55:59 +00:00
Sanjay Patel
43aeb001c9
[InstCombine] use m_APInt to allow icmp (binop X, Y), C folds with constant splat vectors
...
This removes the restriction for the icmp constant, but as noted by the FIXME comments,
we still need to change individual checks for binop operand constants.
llvm-svn: 277629
2016-08-03 18:59:03 +00:00
Sanjay Patel
91bab5364e
add a vector variant of each test
...
llvm-svn: 277598
2016-08-03 14:25:55 +00:00
Sanjay Patel
8d8594acb9
auto-generate checks
...
llvm-svn: 276501
2016-07-23 00:09:54 +00:00
Chad Rosier
4e6cda2db5
[InstCombine] Fold icmp ugt/ult (udiv i32 C2, X), C1.
...
This patch adds support for two optimizations:
icmp ugt (udiv C2, X), C1 -> icmp ule X, C2/(C1+1)
icmp ult (udiv C2, X), C1 -> icmp ugt X, C2/C1
Differential Revision: http://reviews.llvm.org/D20123
llvm-svn: 269109
2016-05-10 20:22:09 +00:00
Chad Rosier
131a42ccdf
[InstCombine] Fold icmp eq/ne (udiv i32 A, B), 0 -> icmp ugt/ule B, A.
...
Differential Revision: http://reviews.llvm.org/D20036
llvm-svn: 268960
2016-05-09 19:30:20 +00:00