llvm-6502/lib
David Majnemer dd5456bd01 InstCombine: Optimize GEP's involving ptrtoint better
We supported transforming:
(gep i8* X, -(ptrtoint Y))

to:
(inttoptr (sub (ptrtoint X), (ptrtoint Y)))

However, this only fired if 'X' had type i8*.  Generalize this to
support various types of different sizes.  This results in much better
CodeGen, especially for pointers to packed structs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216523 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-27 05:16:04 +00:00
..
Analysis
AsmParser Pass a MemoryBufferRef when we can avoid taking ownership. 2014-08-26 21:49:01 +00:00
Bitcode Pass a std::unique_ptr<MemoryBuffer>& to getLazyBitcodeModule. 2014-08-26 22:00:09 +00:00
CodeGen Remove type unit skeletons. GDB no longer needs them & this saves a heap of space. 2014-08-27 05:04:14 +00:00
DebugInfo
ExecutionEngine
IR Pass a MemoryBufferRef when we can avoid taking ownership. 2014-08-26 21:49:01 +00:00
IRReader Pass a std::unique_ptr<MemoryBuffer>& to getLazyBitcodeModule. 2014-08-26 22:00:09 +00:00
LineEditor
Linker
LTO Pass a MemoryBufferRef when we can avoid taking ownership. 2014-08-26 21:49:01 +00:00
MC
Object Pass a std::unique_ptr<MemoryBuffer>& to getLazyBitcodeModule. 2014-08-26 22:00:09 +00:00
Option
ProfileData
Support Pass a MemoryBufferRef when we can avoid taking ownership. 2014-08-26 21:49:01 +00:00
TableGen
Target [FastISel][AArch64] Fix address simplification. 2014-08-27 00:58:30 +00:00
Transforms InstCombine: Optimize GEP's involving ptrtoint better 2014-08-27 05:16:04 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile