llvm-6502/lib/Transforms/InstCombine
Dinesh Dwivedi 85386a3de9 Added instruction combine to transform few more negative values addition to subtraction (Part 1)
This patch enables transforms for following patterns.
  (x + (~(y & c) + 1)   -->   x - (y & c)
  (x + (~((y >> z) & c) + 1)   -->   x - ((y>>z) & c)

Differential Revision: http://reviews.llvm.org/D3733



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211266 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-19 10:36:52 +00:00
..
CMakeLists.txt
InstCombine.h [InstCombine] mark ADD with nuw if no unsigned overflow 2014-06-17 00:42:07 +00:00
InstCombineAddSub.cpp Added instruction combine to transform few more negative values addition to subtraction (Part 1) 2014-06-19 10:36:52 +00:00
InstCombineAndOrXor.cpp Move optimization of some cases of (A & C1)|(B & C2) from instcombine to instsimplify. Patch by Rahul Jain, plus some last minute changes by me -- you can blame me for any bugs. 2014-06-19 03:51:46 +00:00
InstCombineCalls.cpp R600/SI: Add intrinsics for various math instructions. 2014-06-19 01:19:19 +00:00
InstCombineCasts.cpp Canonicalize addrspacecast ConstExpr between different pointer types 2014-06-15 21:40:57 +00:00
InstCombineCompares.cpp
InstCombineLoadStoreAlloca.cpp
InstCombineMulDivRem.cpp InstCombine: Stop two transforms dueling 2014-06-19 07:14:33 +00:00
InstCombinePHI.cpp
InstCombineSelect.cpp
InstCombineShifts.cpp Remove redundant code in InstCombineShift, no functionality change because instsimplify already does this and instcombine calls instsimplify a few lines above. Patch by Suyog Sarda! 2014-06-19 03:28:28 +00:00
InstCombineSimplifyDemanded.cpp
InstCombineVectorOps.cpp
InstCombineWorklist.h
InstructionCombining.cpp Refactored and updated SimplifyUsingDistributiveLaws() to 2014-06-19 08:29:18 +00:00
LLVMBuild.txt
Makefile