llvm-6502/test
Quentin Colombet 30c0f72237 [CodeGenPrepare] Move away sign extensions that get in the way of addressing
mode.

Basically the idea is to transform code like this:
%idx = add nsw i32 %a, 1
%sextidx = sext i32 %idx to i64
%gep = gep i8* %myArray, i64 %sextidx
load i8* %gep

Into:
%sexta = sext i32 %a to i64
%idx = add nsw i64 %sexta, 1
%gep = gep i8* %myArray, i64 %idx
load i8* %gep

That way the computation can be folded into the addressing mode.

This transformation is done as part of the addressing mode matcher.
If the matching fails (not profitable, addressing mode not legal, etc.), the
matcher will revert the related promotions.

<rdar://problem/15519855>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200947 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-06 21:44:56 +00:00
..
Analysis X86: add costs for 64-bit vector ext/trunc & rebalance 2014-02-06 18:18:36 +00:00
Assembler
Bindings
Bitcode Update testing case for r200806. 2014-02-04 23:53:12 +00:00
BugPoint
CodeGen [CodeGenPrepare] Move away sign extensions that get in the way of addressing 2014-02-06 21:44:56 +00:00
DebugInfo ARM: Enable use of relocation type tlsldo in debug info for tls data. 2014-02-05 07:23:09 +00:00
ExecutionEngine mips: XFAIL non-extern-addend-smallcodemodel test 2014-02-05 16:47:59 +00:00
Feature Disable most IR-level transform passes on functions marked 'optnone'. 2014-02-06 00:07:05 +00:00
FileCheck
Instrumentation
Integer
JitListener
Linker DebugInfo: Remove some unneeded conditionals now that DIBuilder no longer emits zero-length arrays as {i32 0} 2014-02-04 01:23:52 +00:00
LTO
MC Update the X86 assembler for .intel_syntax to accept 2014-02-06 01:21:15 +00:00
Object Add a test for printing absolute symbols in ELF. 2014-02-05 04:36:47 +00:00
Other
TableGen
tools llvm-cov: Implement the preserve-paths flag 2014-02-04 10:45:02 +00:00
Transforms A memcpy out of an fresh alloca is a no-op, delete it. Patch by Patrick Walton! 2014-02-06 06:29:19 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh