Daniel Sanders
e8efff373a
[mips] MIPS32R6 compact branch support
...
Summary:
MIPSR6 introduces a class of branches called compact branches. Unlike the
traditional MIPS branches which have a delay slot, compact branches do not
have a delay slot. The instruction following the compact branch is only
executed if the branch is not taken and must not be a branch.
It works by generating compact branches for MIPS32R6 when the delay slot
filler cannot fill a delay slot. Then, inspecting the generated code for
forbidden slot hazards (a compact branch with an adjacent branch or other
CTI) and inserting nops to clear this hazard.
Patch by Simon Dardis.
Reviewers: vkalintiris, dsanders
Subscribers: MatzeB, dsanders, llvm-commits
Differential Revision: http://reviews.llvm.org/D16353
llvm-svn: 263444
2016-03-14 16:24:05 +00:00
..
2016-03-14 12:50:23 +00:00
2016-03-14 16:24:05 +00:00
2016-01-28 11:08:03 +00:00
2016-03-11 13:05:06 +00:00
2015-10-21 09:58:54 +00:00
2015-02-27 19:29:02 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-05-08 00:57:22 +00:00
2015-01-26 17:33:46 +00:00
2016-01-26 00:03:25 +00:00
2015-11-19 05:56:52 +00:00
2015-01-26 17:33:46 +00:00
2015-10-15 14:34:23 +00:00
2015-02-27 21:17:42 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-04-16 23:24:18 +00:00
2016-03-14 16:24:05 +00:00
2015-10-15 14:34:23 +00:00
2015-11-13 13:02:31 +00:00
2016-03-14 16:24:05 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-11-19 05:56:52 +00:00
2016-03-01 20:25:43 +00:00
2015-05-20 14:18:59 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-02-27 21:17:42 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-02-27 09:01:39 +00:00
2015-10-15 14:34:23 +00:00
2016-03-01 20:25:43 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2016-01-26 00:03:25 +00:00
2016-01-26 00:03:25 +00:00
2016-01-26 00:03:25 +00:00
2016-03-01 20:25:43 +00:00
2015-02-27 21:17:42 +00:00
2015-04-13 18:47:19 +00:00
2015-05-14 13:17:56 +00:00
2015-08-04 14:26:35 +00:00
2015-02-27 21:17:42 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2016-03-11 13:05:06 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-06-02 13:14:46 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-12-21 22:00:51 +00:00
2016-01-26 00:03:25 +00:00
2015-11-30 21:56:16 +00:00
2015-02-27 21:17:42 +00:00
2016-01-26 00:03:25 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-03-13 18:20:45 +00:00
2016-03-14 16:24:05 +00:00
2016-02-29 15:58:12 +00:00
2016-02-29 15:26:54 +00:00
2015-10-15 14:34:23 +00:00
2015-02-25 15:24:37 +00:00
2015-04-22 18:04:12 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-03-13 18:20:45 +00:00
2015-02-27 21:17:42 +00:00
2016-03-14 16:24:05 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-01-26 17:33:46 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-04-16 23:24:18 +00:00
2015-10-15 14:34:23 +00:00
2015-10-21 12:44:14 +00:00
2015-10-15 14:34:23 +00:00
2015-10-21 12:44:14 +00:00
2015-11-16 14:16:45 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-02-27 21:17:42 +00:00
2015-03-24 15:19:14 +00:00
2015-03-30 13:27:25 +00:00
2015-03-24 11:26:34 +00:00
2015-11-26 11:23:03 +00:00
2015-11-13 11:44:00 +00:00
2015-11-16 14:14:59 +00:00
2015-11-16 14:14:59 +00:00
2015-11-26 11:23:03 +00:00
2015-11-16 14:19:32 +00:00
2015-12-21 22:00:51 +00:00
2015-04-16 23:24:18 +00:00
2015-10-26 14:24:30 +00:00
2015-10-26 14:24:30 +00:00
2015-10-26 14:24:30 +00:00
2015-10-26 12:38:43 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-02-27 19:29:02 +00:00
2015-11-19 05:56:52 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2016-01-26 00:03:25 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-03-13 18:20:45 +00:00
2016-01-26 00:03:25 +00:00
2015-02-27 21:17:42 +00:00
2016-01-12 15:15:14 +00:00
2015-10-15 14:34:23 +00:00
2015-11-19 05:56:52 +00:00
2015-04-16 23:24:18 +00:00
2015-03-04 15:47:42 +00:00
2015-02-27 21:17:42 +00:00
2015-04-16 23:24:18 +00:00
2015-02-27 21:17:42 +00:00
2015-02-13 17:51:27 +00:00
2015-03-13 18:20:45 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-03-11 20:28:31 +00:00
2016-03-04 17:34:31 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-03-04 15:47:42 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-04-16 23:24:18 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-02-27 21:17:42 +00:00
2015-05-08 00:57:22 +00:00
2015-05-08 00:57:22 +00:00
2015-02-26 12:29:48 +00:00
2015-02-27 21:17:42 +00:00
2015-02-26 12:29:48 +00:00
2016-02-29 15:26:54 +00:00
2015-02-26 12:29:48 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-04-21 10:49:03 +00:00
2015-05-08 00:57:22 +00:00
2015-05-08 00:57:22 +00:00
2016-02-11 06:45:54 +00:00
2015-02-27 21:17:42 +00:00
2015-10-15 14:34:23 +00:00
2015-02-27 21:17:42 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2016-01-26 00:03:25 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-01-26 17:33:46 +00:00
2015-10-15 14:34:23 +00:00
2015-11-26 11:23:03 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2016-03-01 20:25:43 +00:00
2015-02-27 21:17:42 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-03-13 18:20:45 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-10-15 14:34:23 +00:00
2015-02-26 12:29:48 +00:00
2015-10-15 14:34:23 +00:00
2015-04-16 23:24:18 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-02-27 21:17:42 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-12-08 02:37:48 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-02-27 21:17:42 +00:00
2015-01-26 17:33:46 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-02-27 19:29:02 +00:00
2015-10-15 14:34:23 +00:00
2015-11-19 05:56:52 +00:00
2015-10-15 14:34:23 +00:00
2015-10-15 14:34:23 +00:00
2015-09-11 03:22:04 +00:00
2015-02-27 21:17:42 +00:00
2015-10-15 14:34:23 +00:00
2015-02-27 21:17:42 +00:00
2015-10-15 14:34:23 +00:00
2015-03-13 18:20:45 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-10-15 14:34:23 +00:00
2015-02-27 21:17:42 +00:00