llvm-6502/lib/Transforms/InstCombine
Benjamin Kramer 49064ff770 InstCombine: Add a combine that turns (2^n)-1 ^ x back into (2^n)-1 - x iff x is smaller than 2^n and it fuses with a following add.
This was intended to undo the sub canonicalization in cases where it's not profitable, but it also
finds some cases on it's own.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147256 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-24 17:31:53 +00:00
..
CMakeLists.txt build/CMake: Finish removal of add_llvm_library_dependencies. 2011-11-29 19:25:30 +00:00
InstCombine.h Fix a few more places where TargetData/TargetLibraryInfo is not being passed. 2011-12-02 01:26:24 +00:00
InstCombineAddSub.cpp InstCombine: Add a combine that turns (2^n)-1 ^ x back into (2^n)-1 - x iff x is smaller than 2^n and it fuses with a following add. 2011-12-24 17:31:53 +00:00
InstCombineAndOrXor.cpp Refactor code used in InstCombine::FoldAndOfICmps to new file. 2011-12-17 01:20:32 +00:00
InstCombineCalls.cpp Add support for vectors of pointers. 2011-12-05 06:29:09 +00:00
InstCombineCasts.cpp The powers that be have decided that LLVM IR should now support 16-bit 2011-12-17 00:04:22 +00:00
InstCombineCompares.cpp The powers that be have decided that LLVM IR should now support 16-bit 2011-12-17 00:04:22 +00:00
InstCombineLoadStoreAlloca.cpp Use the getFirstInsertionPt() method instead of getFirstNonPHI + an 'isa<>' 2011-08-16 20:45:24 +00:00
InstCombineMulDivRem.cpp InstCombine now optimizes vector udiv by power of 2 to shifts 2011-11-07 23:04:49 +00:00
InstCombinePHI.cpp Update instcombine for atomic load/store. 2011-08-15 22:09:40 +00:00
InstCombineSelect.cpp Added InstCombine for "select cond, ~cond, x" type patterns 2011-12-15 00:56:45 +00:00
InstCombineShifts.cpp Fix a few more places where TargetData/TargetLibraryInfo is not being passed. 2011-12-02 01:26:24 +00:00
InstCombineSimplifyDemanded.cpp InstCombine: Canonicalize (2^n)-1 - x into (2^n)-1 ^ x iff x is known to be smaller than 2^n. 2011-12-24 17:31:38 +00:00
InstCombineVectorOps.cpp Minor simplification: use ShuffleVectorInst::getMaskValue instead of a more expensive helper. 2011-10-21 19:11:34 +00:00
InstCombineWorklist.h
InstructionCombining.cpp Add support for vectors of pointers. 2011-12-05 06:29:09 +00:00
LLVMBuild.txt LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
Makefile