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
..
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-08-22 17:11:18 +00:00
2013-07-14 06:24:09 +00:00
2013-08-26 22:39:55 +00:00
2013-07-14 06:24:09 +00:00
2013-07-25 19:33:30 +00:00
2013-08-26 22:39:55 +00:00
2013-10-14 13:17:07 +00:00
2013-10-11 16:03:43 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-08-26 22:39:55 +00:00
2013-08-21 22:20:53 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-10-14 16:57:17 +00:00
2013-07-13 20:38:47 +00:00
2013-09-06 21:03:58 +00:00
2013-10-14 16:57:17 +00:00
2013-09-25 00:26:16 +00:00
2013-09-25 00:26:16 +00:00
2013-07-13 20:38:47 +00:00
2013-07-13 20:38:47 +00:00
2013-07-14 06:24:09 +00:00
2013-07-13 20:38:47 +00:00
2013-07-14 06:24:09 +00:00
2013-07-03 21:42:57 +00:00
2013-07-13 20:38:47 +00:00
2013-07-14 06:24:09 +00:00
2013-10-14 16:57:17 +00:00
2013-07-14 06:24:09 +00:00
2013-07-03 16:41:29 +00:00
2013-07-03 16:41:29 +00:00
2013-07-25 18:35:14 +00:00
2013-07-13 20:38:47 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-18 22:47:09 +00:00
2013-07-14 06:24:09 +00:00
2013-08-12 12:43:26 +00:00
2013-10-11 18:09:19 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-10-11 18:09:19 +00:00
2013-10-10 22:37:47 +00:00
2013-08-14 16:35:29 +00:00
2013-07-18 18:35:22 +00:00
2013-07-30 04:43:08 +00:00
2013-10-14 16:57:17 +00:00
2013-07-29 09:25:50 +00:00
2013-07-14 06:24:09 +00:00
2013-08-12 12:43:26 +00:00
2013-10-16 16:47:56 +00:00
2013-08-01 21:42:05 +00:00
2013-07-14 06:24:09 +00:00
2013-09-09 14:21:49 +00:00
2013-07-14 06:24:09 +00:00
2013-07-18 22:47:09 +00:00
2013-07-14 06:24:09 +00:00
2013-09-26 12:22:36 +00:00
2013-07-14 06:24:09 +00:00
2013-08-22 12:19:24 +00:00
2013-09-26 12:22:36 +00:00
2013-07-14 06:24:09 +00:00
2013-07-25 18:35:19 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-10-07 19:47:53 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-09-30 18:17:35 +00:00
2013-07-14 06:24:09 +00:00
2013-08-20 08:57:11 +00:00
2013-07-12 23:33:03 +00:00
2013-07-13 20:38:47 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-09-02 17:09:01 +00:00
2013-07-14 06:24:09 +00:00
2013-09-06 21:03:58 +00:00
2013-09-06 21:03:58 +00:00
2013-09-06 21:03:58 +00:00
2013-08-26 22:39:55 +00:00
2013-09-08 03:11:54 +00:00
2013-09-06 21:03:58 +00:00
2013-09-06 21:03:58 +00:00
2013-07-18 18:35:22 +00:00
2013-10-07 18:06:48 +00:00
2013-07-13 20:38:47 +00:00
2013-07-25 18:35:14 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-13 20:38:47 +00:00
2013-07-13 20:38:47 +00:00
2013-07-13 20:38:47 +00:00
2013-08-16 23:37:23 +00:00
2013-08-23 15:20:56 +00:00
2013-07-14 06:24:09 +00:00
2013-08-26 20:22:05 +00:00
2013-08-16 23:37:36 +00:00
2013-08-16 23:37:23 +00:00
2013-08-16 23:37:36 +00:00
2013-08-16 23:37:36 +00:00
2013-07-14 06:24:09 +00:00
2013-08-16 23:37:36 +00:00
2013-08-16 23:37:36 +00:00
2013-08-21 22:20:53 +00:00
2013-08-26 20:07:29 +00:00
2013-08-16 23:37:36 +00:00
2013-09-09 14:21:49 +00:00
2013-08-16 23:37:23 +00:00
2013-08-12 12:43:26 +00:00
2013-08-16 23:37:31 +00:00
2013-07-06 12:58:45 +00:00
2013-07-13 20:38:47 +00:00
2013-07-13 20:38:47 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-13 20:38:47 +00:00
2013-07-13 20:38:47 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-13 20:38:47 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-25 18:35:14 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-10-11 19:04:37 +00:00
2013-10-04 16:52:54 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-03 16:41:29 +00:00
2013-07-14 06:24:09 +00:00
2013-07-19 23:52:47 +00:00
2013-09-09 14:21:49 +00:00
2013-07-14 06:24:09 +00:00
2013-08-22 06:51:04 +00:00
2013-10-01 14:33:28 +00:00
2013-09-19 11:59:01 +00:00
2013-10-01 12:39:11 +00:00
2013-07-14 06:24:09 +00:00
2013-07-13 20:38:47 +00:00
2013-07-13 20:38:47 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-18 18:35:22 +00:00
2013-08-16 00:37:11 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-10-11 18:09:19 +00:00
2013-10-11 18:09:19 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-22 15:49:36 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-09-30 18:17:35 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-08-21 22:20:53 +00:00
2013-07-13 20:38:47 +00:00
2013-08-12 12:43:26 +00:00
2013-10-11 11:07:00 +00:00
2013-09-25 00:26:17 +00:00
2013-10-04 16:52:56 +00:00
2013-07-13 20:38:47 +00:00
2013-07-14 06:24:09 +00:00
2013-08-26 20:22:08 +00:00
2013-07-14 06:24:09 +00:00
2013-09-26 17:25:10 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-10-11 18:09:19 +00:00
2013-07-14 06:24:09 +00:00
2013-07-12 14:54:12 +00:00
2013-08-06 13:58:03 +00:00
2013-07-13 20:38:47 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-08-22 09:57:11 +00:00
2013-10-04 16:52:51 +00:00
2013-10-11 18:09:19 +00:00
2013-08-22 09:57:11 +00:00
2013-07-13 20:38:47 +00:00
2013-07-14 06:24:09 +00:00
2013-08-22 23:45:24 +00:00
2013-07-13 20:38:47 +00:00
2013-10-17 19:52:05 +00:00
2013-10-15 19:42:32 +00:00
2013-09-30 18:17:35 +00:00
2013-07-14 06:24:09 +00:00
2013-09-02 15:48:17 +00:00
2013-09-04 21:23:23 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-12 14:54:12 +00:00
2013-07-13 20:38:47 +00:00
2013-09-09 14:21:49 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-08-26 20:22:08 +00:00
2013-10-11 18:09:19 +00:00
2013-07-18 22:29:15 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-13 20:38:47 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-08-28 14:33:33 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-18 22:47:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-18 13:17:26 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-18 22:47:09 +00:00
2013-10-11 18:09:19 +00:00
2013-07-14 06:24:09 +00:00
2013-07-13 20:38:47 +00:00
2013-07-14 06:24:09 +00:00
2013-07-13 20:38:47 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-18 22:47:09 +00:00
2013-10-10 09:28:20 +00:00
2013-09-04 17:05:18 +00:00
2013-07-14 06:24:09 +00:00
2013-09-13 13:46:57 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-18 22:47:09 +00:00
2013-09-25 23:12:06 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-08-28 14:33:33 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-13 20:38:47 +00:00
2013-09-13 13:46:57 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-18 22:47:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-10-11 18:09:19 +00:00
2013-08-28 14:33:33 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00