Renato Golin
b451f4e376
Improve handling of stack accesses in Thumb-1
...
Thumb-1 only allows SP-based LDR and STR to be word-sized, and SP-base LDR,
STR, and ADD only allow offsets that are a multiple of 4. Make some changes
to better make use of these instructions:
* Use word loads for anyext byte and halfword loads from the stack.
* Enforce 4-byte alignment on objects accessed in this way, to ensure that
the offset is valid.
* Do the same for objects whose frame index is used, in order to avoid having
to use more than one ADD to generate the frame index.
* Correct how many bits of offset we think AddrModeT1_s has.
Patch by John Brawn.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230496 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-25 14:41:06 +00:00
..
2015-02-07 08:26:40 +00:00
2014-11-06 15:05:51 +00:00
2014-12-22 13:29:46 +00:00
2014-12-22 13:29:46 +00:00
2015-01-14 22:27:36 +00:00
2015-01-14 22:27:36 +00:00
2015-01-14 22:27:36 +00:00
2015-01-14 22:27:36 +00:00
2014-11-06 19:24:18 +00:00
2015-01-14 22:27:36 +00:00
2014-10-14 22:12:17 +00:00
2014-12-15 19:07:53 +00:00
2014-12-15 19:07:53 +00:00
2015-01-14 22:27:36 +00:00
2014-12-15 19:07:53 +00:00
2014-12-15 19:07:53 +00:00
2014-12-15 19:07:53 +00:00
2014-12-15 19:07:53 +00:00
2015-02-11 12:15:41 +00:00
2015-02-25 14:41:06 +00:00
2015-02-24 17:22:34 +00:00
2015-02-19 23:52:41 +00:00
2014-10-01 13:13:18 +00:00
2014-12-18 02:20:58 +00:00
2014-12-18 02:20:58 +00:00
2014-09-18 18:56:04 +00:00
2014-10-14 22:12:14 +00:00
2015-02-25 14:41:06 +00:00
2015-02-05 01:52:19 +00:00
2014-11-27 12:13:56 +00:00
2015-02-18 10:33:30 +00:00
2015-01-14 22:27:36 +00:00
2015-02-11 12:15:41 +00:00
2014-11-13 17:58:51 +00:00
2014-10-01 19:21:03 +00:00
2015-01-14 01:43:33 +00:00
2014-12-10 23:40:50 +00:00
2014-12-22 13:29:46 +00:00
2014-12-18 02:20:58 +00:00
2014-11-14 22:45:23 +00:00
2015-02-25 14:41:06 +00:00
2015-01-14 22:27:36 +00:00
2015-01-14 22:27:36 +00:00
2015-01-14 22:27:36 +00:00
2015-01-14 22:27:36 +00:00
2015-01-14 22:27:36 +00:00
2015-01-14 22:27:36 +00:00
2015-01-14 22:27:36 +00:00
2015-01-14 22:27:36 +00:00
2015-01-14 22:27:36 +00:00
2014-11-14 22:45:33 +00:00
2015-01-15 20:32:09 +00:00
2014-12-18 02:20:58 +00:00
2015-01-08 15:09:14 +00:00
2014-10-23 15:31:50 +00:00
2015-02-25 14:41:06 +00:00
2014-12-01 21:04:44 +00:00
2014-12-15 19:07:53 +00:00
2014-12-10 23:40:50 +00:00
2014-12-15 19:07:53 +00:00
2014-12-15 19:07:53 +00:00
2014-12-15 19:07:53 +00:00
2015-01-08 15:09:14 +00:00
2014-11-17 14:08:57 +00:00
2014-12-16 10:59:27 +00:00
2015-01-23 09:10:03 +00:00
2015-02-19 23:52:41 +00:00
2014-12-15 19:07:53 +00:00
2014-12-15 19:07:53 +00:00
2014-12-15 19:07:53 +00:00
2014-12-15 19:07:53 +00:00
2014-12-15 19:07:53 +00:00
2014-09-18 21:17:50 +00:00
2014-12-04 19:34:50 +00:00
2015-02-19 00:45:04 +00:00
2014-12-15 19:07:53 +00:00
2014-10-14 22:12:17 +00:00
2014-11-03 17:38:00 +00:00
2015-01-19 15:16:06 +00:00
2014-11-17 10:49:31 +00:00
2015-02-08 00:50:47 +00:00
2015-02-09 06:38:23 +00:00
2014-10-20 11:30:35 +00:00
2014-11-13 17:58:48 +00:00
2015-01-08 15:09:14 +00:00
2014-12-10 23:40:50 +00:00
2015-01-08 15:09:14 +00:00
2014-12-15 19:07:53 +00:00
2015-02-02 16:56:50 +00:00
2014-09-23 23:18:01 +00:00
2015-01-03 21:35:00 +00:00
2014-12-18 02:20:58 +00:00
2014-12-15 19:07:53 +00:00
2014-12-15 19:07:53 +00:00
2015-02-25 14:41:06 +00:00
2015-02-25 14:41:06 +00:00
2014-09-11 10:45:50 +00:00
2014-12-04 19:34:50 +00:00
2014-12-22 13:29:46 +00:00
2014-11-05 00:27:20 +00:00
2015-02-17 16:54:32 +00:00
2015-02-24 21:46:23 +00:00
2015-02-19 23:52:41 +00:00
2014-10-31 17:52:53 +00:00
2015-02-19 23:52:41 +00:00
2014-12-15 19:07:53 +00:00
2014-12-09 21:25:00 +00:00
2014-10-03 12:20:53 +00:00
2014-10-27 09:23:02 +00:00
2014-12-09 21:25:00 +00:00