llvm-6502/lib/Transforms
Rafael Espindola e8075c6877 InstCombine: Improvement to check if signed addition overflows.
This patch implements two things:

1. If we know one number is positive and another is negative, we return true as
   signed addition of two opposite signed numbers will never overflow.

2. Implemented TODO : If one of the operands only has one non-zero bit, and if
   the other operand has a known-zero bit in a more significant place than it
   (not including the sign bit) the ripple may go up to and fill the zero, but
   won't change the sign. e.x -  (x & ~4) + 1

We make sure that we are ignoring 0 at MSB.

Patch by Suyog Sarda.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209746 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-28 15:30:40 +00:00
..
Hello [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:55:47 +00:00
InstCombine InstCombine: Improvement to check if signed addition overflows. 2014-05-28 15:30:40 +00:00
Instrumentation [asancov] Don't emit extra runtime calls when compiling without coverage. 2014-05-28 09:26:46 +00:00
IPO Add an extension point for peephole optimizers. 2014-05-25 10:27:02 +00:00
ObjCARC Add comdat key field to llvm.global_ctors and llvm.global_dtors 2014-05-16 20:39:27 +00:00
Scalar Distribute sext/zext to the operands of and/or/xor 2014-05-27 18:00:00 +00:00
Utils Add support for missed and analysis optimization remarks. 2014-05-22 14:19:46 +00:00
Vectorize Add support for missed and analysis optimization remarks. 2014-05-22 14:19:46 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile