llvm-6502/lib/Transforms/InstCombine
David Majnemer 59b11c415e Optimize icmp involving addition better
Allows LLVM to optimize sequences like the following:

%add = add nsw i32 %x, 1
%cmp = icmp sgt i32 %add, %y

into:

%cmp = icmp sge i32 %x, %y

as well as:

%add1 = add nsw i32 %x, 20
%add2 = add nsw i32 %y, 57
%cmp = icmp sge i32 %add1, %add2

into:

%add = add nsw i32 %y, 37
%cmp = icmp sle i32 %cmp, %x


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179316 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-11 20:05:46 +00:00
..
CMakeLists.txt Tidy up a bit. No functional change. 2013-04-05 21:20:12 +00:00
InstCombine.h Remove trailing spaces. 2013-01-14 23:16:36 +00:00
InstCombineAddSub.cpp Tidy up a bit. No functional change. 2013-04-05 21:20:12 +00:00
InstCombineAndOrXor.cpp Tidy up a bit. No functional change. 2013-04-05 21:20:12 +00:00
InstCombineCalls.cpp Tidy up a bit. No functional change. 2013-04-05 21:20:12 +00:00
InstCombineCasts.cpp Make InstCombineCasts.cpp:OptimizeIntToFloatBitCast endian safe. 2013-03-26 15:36:14 +00:00
InstCombineCompares.cpp Optimize icmp involving addition better 2013-04-11 20:05:46 +00:00
InstCombineLoadStoreAlloca.cpp Tidy up a bit. No functional change. 2013-04-05 21:20:12 +00:00
InstCombineMulDivRem.cpp Tidy up a bit. No functional change. 2013-04-05 21:20:12 +00:00
InstCombinePHI.cpp Tidy up a bit. No functional change. 2013-04-05 21:20:12 +00:00
InstCombineSelect.cpp Tidy up a bit. No functional change. 2013-04-05 21:20:12 +00:00
InstCombineShifts.cpp Revert r174152. The shift amount may overflow and in that case this transformation is illegal. 2013-02-01 07:59:33 +00:00
InstCombineSimplifyDemanded.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
InstCombineVectorOps.cpp Fix for wrong instcombine on vector insert/extract 2013-04-11 15:10:09 +00:00
InstCombineWorklist.h Remove trailing spaces. 2013-01-14 23:16:36 +00:00
InstructionCombining.cpp Preserve fast-math flags after reassociation and commutation. Update test cases 2013-02-07 01:40:15 +00:00
LLVMBuild.txt
Makefile