llvm-6502/lib/Transforms/InstCombine
Benjamin Kramer 1fdfae05b0 InstCombine: Canonicalize (2^n)-1 - x into (2^n)-1 ^ x iff x is known to be smaller than 2^n.
This has the obvious advantage of being commutable and is always a win on x86 because
const - x wastes a register there. On less weird architectures this may lead to
a regression because other arithmetic doesn't fuse with it anymore. I'll address that
problem in a followup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147254 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-24 17:31:38 +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: 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
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 InstCombine: We know the number of items initially added to the worklist map, reserve space early to avoid rehashing. 2011-03-05 16:43:46 +00:00
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 make -fno-rtti the default unless a directory builds with REQUIRES_RTTI. 2010-01-24 20:43:08 +00:00