llvm-6502/lib/Transforms/InstCombine
David Majnemer f74443e53a InstCombine: Combine (X+cst) < 0 --> X < -cst
This can happen pretty often in code that looks like:
int foo = bar - 1;
if (foo < 0)
  do stuff

In this case, bar < 1 is an equivalent condition.

This transform requires that the add instruction be annotated with nsw.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221045 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-01 09:09:51 +00:00
..
CMakeLists.txt
InstCombine.h Clean up assume intrinsic pattern matching, no need to check that the argument is a value. 2014-10-25 18:09:01 +00:00
InstCombineAddSub.cpp InstCombine: (sub (or A B) (xor A B)) --> (and A B) 2014-10-19 08:32:32 +00:00
InstCombineAndOrXor.cpp InstCombine: Turn (x != 0 & x <u C) into the canonical range check form (x-1 <u C-1) 2014-10-12 14:02:34 +00:00
InstCombineCalls.cpp IR: MDNode => Value: Instruction::getMetadata() 2014-11-01 00:10:31 +00:00
InstCombineCasts.cpp InstCombine: Fix a combine assuming that icmp operands were integers 2014-10-27 05:47:49 +00:00
InstCombineCompares.cpp InstCombine: Combine (X+cst) < 0 --> X < -cst 2014-11-01 09:09:51 +00:00
InstCombineLoadStoreAlloca.cpp IR: MDNode => Value: Instruction::getAllMetadata() 2014-11-01 00:26:42 +00:00
InstCombineMulDivRem.cpp InstCombine: Don't miscompile X % ((Pow2 << A) >>u B) 2014-10-14 20:28:40 +00:00
InstCombinePHI.cpp Make use of @llvm.assume in ValueTracking (computeKnownBits, etc.) 2014-09-07 18:57:58 +00:00
InstCombineSelect.cpp Untabify and whitespace cleanups. 2014-10-28 11:53:30 +00:00
InstCombineShifts.cpp Make use of @llvm.assume in ValueTracking (computeKnownBits, etc.) 2014-09-07 18:57:58 +00:00
InstCombineSimplifyDemanded.cpp Add additional patterns for @llvm.assume in ValueTracking 2014-09-07 19:21:07 +00:00
InstCombineVectorOps.cpp
InstCombineWorklist.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
InstructionCombining.cpp Shrinkify libcalls: use float versions of double libm functions with fast-math (bug 17850) 2014-10-22 15:29:23 +00:00
LLVMBuild.txt
Makefile