llvm-6502/test
David Peixotto 7014d274e4 17309 ARM backend incorrectly lowers COPY_STRUCT_BYVAL_I32 for thumb1 targets
This commit implements the correct lowering of the
COPY_STRUCT_BYVAL_I32 pseudo-instruction for thumb1 targets.
Previously, the lowering of COPY_STRUCT_BYVAL_I32 generated the
post-increment forms of ldr/ldrh/ldrb instructions. Thumb1 does not
have the post-increment form of these instructions so the generated
assembly contained invalid instructions.

Passing the generated assembly to gcc caused it to complain with an
error like this:

  Error: cannot honor width suffix -- `ldrb r3,[r0],#1'

and the integrated assembler would generate an object file with an
invalid instruction encoding.

This commit contains a small test case that demonstrates the problem
with thumb1 targets as well as an expanded test case that more
throughly tests the lowering of byval struct passing for arm,
thumb1, and thumb2 targets.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192916 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-17 19:52:05 +00:00
..
Analysis Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
Assembler Change objectsize intrinsic to accept different address spaces. 2013-10-07 18:06:48 +00:00
Bindings/Ocaml [PR11606] ocaml bindings tests produce binaries in source dir 2013-08-23 00:55:32 +00:00
Bitcode AutoUpgrade: upgrade from scalar TBAA format to struct-path aware TBAA format. 2013-09-28 00:22:27 +00:00
BugPoint [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
CodeGen 17309 ARM backend incorrectly lowers COPY_STRUCT_BYVAL_I32 for thumb1 targets 2013-10-17 19:52:05 +00:00
DebugInfo Changing DebugInfoFinder to iterate over all the compile units. 2013-10-17 10:27:12 +00:00
ExecutionEngine Fixing problems in lli's RemoteMemoryManager. 2013-10-11 22:47:10 +00:00
Feature Implement function prefix data as an IR feature. 2013-09-16 01:08:15 +00:00
FileCheck Really fix CHECK-LABEL and CHECK-DAG interaction. This actually just restores the initial implementation that was in r186162 but got lost in some subsequent refactoring. More explicit variable names and comments are present now to hopefully prevent repeat regression, as well as another test. 2013-10-11 18:38:36 +00:00
Instrumentation tsan: implement no_sanitize_thread attribute 2013-10-17 07:20:06 +00:00
Integer [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
JitListener Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields. 2013-09-06 21:03:58 +00:00
Linker Debug Info: In DIBuilder, the derived-from field of a DW_TAG_pointer_type 2013-10-05 01:43:03 +00:00
LTO llvm/test/LTO should run also on cygwin. 2013-10-09 01:07:31 +00:00
MC [AArch64] Add support for NEON scalar three register different instruction 2013-10-17 18:12:29 +00:00
Object Create an atom with just the data that failed to disassemble. 2013-10-16 19:03:14 +00:00
Other Update to remove the no-frame-pointer-elim-non-leaf flag if it was set to 'false'. 2013-08-22 21:28:54 +00:00
TableGen FileCheckize some tests. 2013-08-22 20:46:05 +00:00
tools [Mips] Teach llvm-readobj to print MIPS-specific ELF program headers. 2013-10-07 08:58:27 +00:00
Transforms SLPVectorizer: Don't vectorize volatile memory operations 2013-10-16 17:52:40 +00:00
Unit [tests] Update to use lit_config and lit package, as appropriate. 2013-08-09 16:22:05 +00:00
Verifier Add support for metadata representing .ident directives. 2013-10-16 01:49:05 +00:00
YAMLParser
CMakeLists.txt Fixing lli-child-target build 2013-10-02 22:27:23 +00:00
lit.cfg Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
lit.site.cfg.in Fix LTO handling of module-level assembly (PR14152). 2013-09-19 22:15:52 +00:00
Makefile Fix LTO handling of module-level assembly (PR14152). 2013-09-19 22:15:52 +00:00
Makefile.tests
TestRunner.sh