llvm/lib/Transforms/InstCombine
Arnaud A. de Grandmaison 7c5c9b39c9 Teach InstCombine to work with smaller legal types in icmp (shl %v, C1), C2
It enables to work with a smaller constant, which is target friendly for those which can compare to immediates.
It also avoids inserting a shift in favor of a trunc, which can be free on some targets.

This used to work until LLVM-3.1, but regressed with the 3.2 release.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175270 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-15 14:35:47 +00:00
..
CMakeLists.txt llvm/lib: [CMake] Add explicit dependency to intrinsics_gen. 2012-06-24 13:32:01 +00:00
InstCombine.h Remove trailing spaces. 2013-01-14 23:16:36 +00:00
InstCombineAddSub.cpp Transform (sub 0, (zext bool to A)) to (sext bool to A) and 2013-01-21 21:57:20 +00:00
InstCombineAndOrXor.cpp InstCombine: canonicalize sext-and --> select 2013-01-30 06:35:22 +00:00
InstCombineCalls.cpp Revert "Have InstCombine call SipmlifyCall when handling calls. Test case included." 2013-02-08 01:55:39 +00:00
InstCombineCasts.cpp Fix comment 2013-02-13 00:19:19 +00:00
InstCombineCompares.cpp Teach InstCombine to work with smaller legal types in icmp (shl %v, C1), C2 2013-02-15 14:35:47 +00:00
InstCombineLoadStoreAlloca.cpp switch from pointer equality comparison to MDNode::getMostGenericTBAA 2013-01-05 16:44:07 +00:00
InstCombineMulDivRem.cpp 1. Hoist minus sign as high as possible in an attempt to reveal 2013-01-15 21:09:32 +00:00
InstCombinePHI.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
InstCombineSelect.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +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 Check for less than 0 in shuffle mask instead of -1. It's more consistent with other code related to shuffles and easier to implement in compiled code. 2013-01-18 05:30:07 +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 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