llvm-6502/lib/Transforms/InstCombine
Arnaud A. de Grandmaison 2be921adc4 InstCombine: Improve the result bitvect type when folding (cmp pred (load (gep GV, i)) C) to a bit test.
The original code used i32, and i64 if legal. This introduced unneeded
casts when they aren't legal, or when the index variable i has another
type. In order of preference: try to use i's type; use the smallest
fitting legal type (using an added DataLayout method); default to i32.
A testcase checks that this works when the index gep operand is i16.

Patch by : Ahmed Bougacha <ahmed.bougacha@gmail.com>
Reviewed by : Duncan

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177712 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-22 08:25:01 +00:00
..
CMakeLists.txt
InstCombine.h
InstCombineAddSub.cpp Perform factorization as a last resort of unsafe fadd/fsub simplification. 2013-03-14 18:08:26 +00:00
InstCombineAndOrXor.cpp Simplify code. No functionality change. 2013-03-09 11:18:59 +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 InstCombine: Don't shrink allocas when combining with a bitcast. 2013-03-06 05:44:53 +00:00
InstCombineCompares.cpp InstCombine: Improve the result bitvect type when folding (cmp pred (load (gep GV, i)) C) to a bit test. 2013-03-22 08:25:01 +00:00
InstCombineLoadStoreAlloca.cpp
InstCombineMulDivRem.cpp Fix a bug in instcombine for fmul in fast math mode. 2013-02-28 21:12:40 +00:00
InstCombinePHI.cpp
InstCombineSelect.cpp
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
InstCombineVectorOps.cpp
InstCombineWorklist.h
InstructionCombining.cpp Preserve fast-math flags after reassociation and commutation. Update test cases 2013-02-07 01:40:15 +00:00
LLVMBuild.txt
Makefile