llvm-6502/test
Arnold Schwaighofer f28a29b776 Merge load/store sequences with adresses: base + index + offset
We would also like to merge sequences that involve a variable index like in the
example below.

    int index = *idx++
    int i0 = c[index+0];
    int i1 = c[index+1];
    b[0] = i0;
    b[1] = i1;

By extending the parsing of the base pointer to handle dags that contain a
base, index, and offset we can handle examples like the one above.

The dag for the code above will look something like:

 (load (i64 add (i64 copyfromreg %c)
                (i64 signextend (i8 load %index))))

 (load (i64 add (i64 copyfromreg %c)
                (i64 signextend (i32 add (i32 signextend (i8 load %index))
                                         (i32 1)))))

The code that parses the tree ignores the intermediate sign extensions. However,
if there is a sign extension it needs to be on all indexes.

 (load (i64 add (i64 copyfromreg %c)
                (i64 signextend (add (i8 load %index)
                                     (i8 1))))
 vs

 (load (i64 add (i64 copyfromreg %c)
                (i64 signextend (i32 add (i32 signextend (i8 load %index))
                                         (i32 1)))))
radar://13536387

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178483 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-01 18:12:58 +00:00
..
Analysis X86TTI: Add accurate costs for itofp operations, based on the actual instruction counts. 2013-04-01 10:23:49 +00:00
Archive
Assembler
Bindings/Ocaml
Bitcode
BugPoint
CodeGen Merge load/store sequences with adresses: base + index + offset 2013-04-01 18:12:58 +00:00
DebugInfo move testcase into appropriate X86 subdirectory. 2013-03-29 20:14:08 +00:00
ExecutionEngine Add support for vector data types in the LLVM interpreter. 2013-04-01 15:53:30 +00:00
Feature
FileCheck
Instrumentation [tsan] make sure memset/memcpy/memmove are not inlined in tsan mode 2013-03-28 11:21:13 +00:00
Integer
JitListener
Linker
MC [Mips Assembler] Add support for OR macro with imediate opperand 2013-03-28 23:45:13 +00:00
Object [tools][llvm-readobj] print the name of the section when iterating the symbol table / dynamic symbol table 2013-03-25 16:06:51 +00:00
Other
Scripts
TableGen Allow TableGen DAG arguments to be just a name. 2013-03-24 19:36:51 +00:00
tools
Transforms X86TTI: Add accurate costs for itofp operations, based on the actual instruction counts. 2013-04-01 10:23:49 +00:00
Unit Disable ASan/MSan symbolization of reports in tests. 2013-03-27 13:11:12 +00:00
Verifier
YAMLParser
CMakeLists.txt
lit.cfg Disable ASan/MSan symbolization of reports in tests. 2013-03-27 13:11:12 +00:00
lit.site.cfg.in Add asan/msan to the list of available features in LIT test runner 2013-03-26 08:27:39 +00:00
Makefile Reverted r176374. In some cases the lit.site.cfg file does not get generated in tools/clang/tools/extra. 2013-03-22 18:54:14 +00:00
Makefile.tests
TestRunner.sh