Sam Parker
580eedab52
[ARM] DLS/LE low-overhead loop code generation
...
Introduce three pseudo instructions to be used during DAG ISel to
represent v8.1-m low-overhead loops. One maps to set_loop_iterations
while loop_decrement_reg is lowered to two, so that we can separate
the decrement and branching operations. The pseudo instructions are
expanded pre-emission, where we can still decide whether we actually
want to generate a low-overhead loop, in a new pass:
ARMLowOverheadLoops. The pass currently bails, reverting to an sub,
icmp and br, in the cases where a call or stack spill/restore happens
between the decrement and branching instructions, or if the loop is
too large.
Differential Revision: https://reviews.llvm.org/D63476
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364288 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-25 10:45:51 +00:00
..
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-06-17 09:51:07 +00:00
2019-06-17 09:51:07 +00:00
2019-04-17 04:52:47 +00:00
2019-04-29 16:14:00 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-05-29 16:59:48 +00:00
2019-04-17 04:52:47 +00:00
2019-06-17 09:51:07 +00:00
2019-06-17 09:51:07 +00:00
2019-06-21 13:36:09 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-05-13 23:58:24 +00:00
2019-06-24 20:13:13 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-05-24 08:32:02 +00:00
2019-06-17 09:51:07 +00:00
2019-06-17 19:11:28 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-06-17 09:51:07 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-06-10 04:16:04 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-05-15 02:35:32 +00:00
2019-04-17 04:52:47 +00:00
2019-06-17 09:51:07 +00:00
2019-04-17 04:52:47 +00:00
2019-04-18 19:17:14 +00:00
2019-05-18 14:36:06 +00:00
2019-04-17 04:52:47 +00:00
2019-06-21 15:17:24 +00:00
2019-06-25 10:45:51 +00:00
2019-06-17 09:51:07 +00:00
2019-04-17 04:52:47 +00:00
2019-06-24 19:26:17 +00:00
2019-06-17 14:13:29 +00:00
2019-04-17 04:52:47 +00:00
2019-06-17 09:51:07 +00:00
2019-06-25 00:14:02 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-06-20 22:55:28 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-06-14 09:19:41 +00:00
2019-05-15 15:15:16 +00:00
2019-04-17 04:52:47 +00:00
2019-06-20 21:09:09 +00:00
2019-06-17 09:51:07 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-06-12 13:34:19 +00:00
2019-04-17 18:53:27 +00:00
2019-06-19 10:50:47 +00:00
2019-04-17 04:52:47 +00:00
2019-05-26 23:38:25 +00:00
2019-06-12 13:50:47 +00:00
2019-06-06 18:02:36 +00:00
2019-06-17 10:05:18 +00:00
2019-04-17 04:52:47 +00:00
2019-06-19 10:50:47 +00:00
2019-04-17 04:52:47 +00:00
2019-06-19 16:02:54 +00:00
2019-04-17 04:52:47 +00:00
2019-06-24 21:36:59 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-06-19 10:50:47 +00:00
2019-06-12 14:05:58 +00:00
2019-05-29 20:47:59 +00:00
2019-05-23 17:03:43 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-06-03 17:54:15 +00:00
2019-05-10 20:08:24 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-05-15 03:08:21 +00:00
2019-05-23 12:35:26 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-06-05 21:15:52 +00:00
2019-06-14 22:06:32 +00:00
2019-04-17 04:52:47 +00:00
2019-06-17 09:51:07 +00:00
2019-05-13 21:14:36 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-06-24 21:36:09 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-06-17 09:51:07 +00:00
2019-05-16 03:39:09 +00:00
2019-04-17 04:52:47 +00:00
2019-06-24 12:07:11 +00:00
2019-06-03 21:53:56 +00:00
2019-06-17 09:51:07 +00:00
2019-04-22 10:35:07 +00:00
2019-06-17 09:51:07 +00:00
2019-04-17 04:52:47 +00:00
2019-06-24 19:24:23 +00:00
2019-05-29 13:14:39 +00:00
2019-05-14 16:51:18 +00:00
2019-06-18 21:41:13 +00:00
2019-06-17 09:51:07 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-05-24 08:59:17 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-06-17 09:51:07 +00:00
2019-05-15 19:35:38 +00:00
2019-05-10 20:08:24 +00:00