llvm-6502/lib/Transforms
Philip Reames d777c2c0c0 [InstCombine] When canonicalizing gep indices, prefer zext when possible
If we know that the sign bit of a value being sign extended is zero, we can use a zero extension instead.  This is motivated by the fact that zero extensions are generally cheaper on x86 (and most other architectures?).  We already apply a similar transform in DAGCombine, this just extends that to the IR level.

This comes up when we eagerly canonicalize gep indices to the width of a machine register (i64 on x86_64). To do so, we insert sign extensions (sext) to promote smaller types. 

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229189 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-14 00:05:36 +00:00
..
Hello
InstCombine [InstCombine] When canonicalizing gep indices, prefer zext when possible 2015-02-14 00:05:36 +00:00
Instrumentation
IPO
ObjCARC
Scalar
Utils [SimplifyCFG] Be more aggressive 2015-02-13 10:48:30 +00:00
Vectorize
CMakeLists.txt
LLVMBuild.txt
Makefile