David Majnemer
b1b738e036
InstCombine: (icmp eq B, 0) | (icmp ult A, B) -> (icmp ule A, B-1)
This transform allows us to turn IR that looks like:
%1 = icmp eq i64 %b, 0
%2 = icmp ult i64 %a, %b
%3 = or i1 %1, %2
ret i1 %3
into:
%0 = add i64 %b, -1
%1 = icmp uge i64 %0, %a
ret i1 %1
which means we go from lowering:
cmpq %rsi, %rdi
setb %cl
testq %rsi, %rsi
sete %al
orb %cl, %al
ret
to lowering:
decq %rsi
cmpq %rdi, %rsi
setae %al
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185677 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-05 00:31:17 +00:00
..
2013-03-21 18:30:10 +00:00
2013-05-01 00:25:27 +00:00
2013-05-06 01:48:55 +00:00
2013-06-30 20:26:21 +00:00
2013-04-30 17:52:57 +00:00
2013-06-28 20:37:20 +00:00
2013-03-18 12:07:24 +00:00
2013-07-03 04:15:22 +00:00
2013-04-22 06:12:31 +00:00
2013-04-19 09:32:30 +00:00
2013-06-12 16:45:47 +00:00
2013-05-06 02:07:24 +00:00
2013-06-04 17:51:58 +00:00
2013-03-22 20:36:39 +00:00
2013-07-05 00:31:17 +00:00
2013-04-19 16:56:24 +00:00
2013-04-30 17:52:57 +00:00
2013-03-12 16:27:52 +00:00
2013-05-06 17:58:18 +00:00
2013-06-19 19:59:41 +00:00
2013-05-31 23:34:46 +00:00
2013-04-30 17:52:57 +00:00
2013-07-01 00:54:44 +00:00
2013-03-28 02:44:59 +00:00
2013-06-08 04:56:05 +00:00
2013-04-30 17:52:57 +00:00
2013-06-07 06:16:49 +00:00
2013-04-19 09:32:30 +00:00
2013-04-30 17:52:57 +00:00
2013-06-25 19:09:50 +00:00
2013-07-04 14:22:02 +00:00
2013-06-28 22:07:09 +00:00
2013-05-01 19:53:30 +00:00
2013-06-19 20:18:24 +00:00
2013-03-12 16:27:52 +00:00
2013-03-12 16:27:52 +00:00