summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Object
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2013-07-05 00:31:17 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2013-07-05 00:31:17 +0000
commitc2a990bc00faf4a7017590d24a8a3d08b0a2640b (patch)
treeb6854be2856139d97b8739b27b4fa68ecf2ba5db /llvm/lib/Object
parent156a2deafe5694fe0f867eb041bd6b6b8ed8ca90 (diff)
downloadbcm5719-llvm-c2a990bc00faf4a7017590d24a8a3d08b0a2640b.tar.gz
bcm5719-llvm-c2a990bc00faf4a7017590d24a8a3d08b0a2640b.zip
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 llvm-svn: 185677
Diffstat (limited to 'llvm/lib/Object')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud