Matt Arsenault
0461ece2ce
AMDGPU: Partially fix control flow at -O0
...
Fixes to allow spilling all registers at the end of the block
work with exec modifications. Don't emit s_and_saveexec_b64 for
if lowering, and instead emit copies. Mark control flow mask
instructions as terminators to get correct spill code placement
with fast regalloc, and then have a separate optimization pass
form the saveexec.
This should work if SGPRs are spilled to VGPRs, but
will likely fail in the case that an SGPR spills to memory
and no workitem takes a divergent branch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282667 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-29 01:44:16 +00:00
..
2016-09-09 11:46:34 +00:00
2016-04-28 19:37:35 +00:00
2016-02-11 06:02:01 +00:00
2016-07-01 22:47:50 +00:00
2016-06-06 20:03:31 +00:00
2016-09-08 17:19:29 +00:00
2016-09-02 20:13:19 +00:00
2016-05-21 03:55:07 +00:00
2016-09-28 20:05:39 +00:00
2016-09-28 20:05:39 +00:00
2016-04-06 19:40:20 +00:00
2016-09-09 22:29:28 +00:00
2016-07-25 20:17:02 +00:00
2016-02-12 23:45:29 +00:00
2016-09-14 15:19:03 +00:00
2016-04-25 19:27:24 +00:00
2016-01-30 05:10:59 +00:00
2016-09-26 17:29:25 +00:00
2016-09-06 20:22:28 +00:00
2016-06-17 21:18:41 +00:00
2016-06-25 00:23:00 +00:00
2016-05-05 20:07:37 +00:00
2016-09-06 20:22:28 +00:00
2016-09-06 20:22:28 +00:00
2016-09-06 20:22:28 +00:00
2016-09-06 20:29:10 +00:00
2016-09-06 20:22:28 +00:00
2016-08-02 19:17:37 +00:00
2016-02-08 19:06:01 +00:00
2016-07-15 21:27:08 +00:00
2016-09-17 15:44:16 +00:00
2016-05-02 20:07:26 +00:00
2016-09-14 15:19:03 +00:00
2016-07-25 19:39:06 +00:00
2016-09-14 15:19:03 +00:00
2016-04-19 21:58:22 +00:00
2016-04-06 19:40:20 +00:00
2016-05-18 16:10:11 +00:00
2015-10-06 21:16:34 +00:00
2016-09-17 16:09:55 +00:00
2016-05-18 15:48:44 +00:00
2016-06-24 06:58:01 +00:00
2016-04-29 09:02:30 +00:00
2016-08-13 01:43:51 +00:00
2016-04-21 18:03:06 +00:00
2016-02-12 06:31:30 +00:00
2016-09-08 17:19:29 +00:00
2016-03-24 21:41:38 +00:00
2016-09-02 19:48:55 +00:00
2016-09-02 19:48:55 +00:00
2016-09-08 17:19:29 +00:00
2016-09-13 19:03:12 +00:00
2016-07-11 23:35:48 +00:00
2016-07-15 21:27:08 +00:00
2016-09-14 15:19:03 +00:00
2016-09-29 01:44:16 +00:00
2016-08-10 19:11:42 +00:00
2016-07-01 22:47:50 +00:00
2016-09-08 17:19:29 +00:00
2016-09-28 20:05:39 +00:00
2016-09-14 15:19:03 +00:00
2016-05-26 19:35:29 +00:00
2016-01-26 04:29:56 +00:00
2016-09-28 16:37:50 +00:00
2016-09-08 17:19:29 +00:00
2016-04-12 13:38:18 +00:00
2016-06-25 03:11:28 +00:00
2016-09-28 16:37:50 +00:00
2016-07-11 23:35:48 +00:00
2016-07-09 07:55:03 +00:00
2016-08-24 01:32:41 +00:00
2016-05-26 19:35:29 +00:00
2016-09-09 22:29:28 +00:00
2016-07-11 23:35:48 +00:00
2016-07-11 23:35:48 +00:00
2016-08-26 21:36:47 +00:00
2016-08-29 19:15:22 +00:00
2016-07-11 23:35:48 +00:00
2016-07-11 23:35:48 +00:00
2016-02-11 06:02:01 +00:00
2016-06-23 09:19:16 +00:00
2016-08-05 21:23:29 +00:00
2016-08-22 19:33:16 +00:00
2016-02-12 23:45:29 +00:00
2016-09-22 17:28:43 +00:00
2016-06-27 20:32:13 +00:00
2016-06-02 19:54:26 +00:00
2016-05-28 00:51:06 +00:00
2016-05-28 00:51:06 +00:00
2016-05-28 00:51:06 +00:00
2016-05-28 00:51:06 +00:00
2016-06-24 06:58:01 +00:00
2016-06-27 19:31:04 +00:00
2016-09-08 17:19:29 +00:00
2016-09-08 17:19:29 +00:00
2015-11-25 19:58:34 +00:00
2016-05-05 20:07:37 +00:00
2016-07-09 07:55:03 +00:00
2016-09-08 17:19:29 +00:00
2015-08-31 21:10:35 +00:00
2016-03-30 16:35:09 +00:00
2016-04-29 09:02:30 +00:00
2016-07-19 23:16:53 +00:00
2016-07-15 21:27:08 +00:00
2016-07-15 21:27:08 +00:00
2016-08-27 01:00:37 +00:00
2016-06-09 23:42:54 +00:00
2016-06-09 23:42:54 +00:00
2016-02-12 17:57:54 +00:00
2016-09-06 19:55:17 +00:00
2016-07-15 21:27:08 +00:00
2016-08-29 19:42:52 +00:00
2016-04-14 21:58:24 +00:00
2016-07-15 21:27:08 +00:00
2016-08-29 19:42:52 +00:00
2016-05-26 19:35:29 +00:00
2016-02-11 06:02:01 +00:00
2016-04-12 13:38:18 +00:00
2016-07-15 21:27:08 +00:00
2016-09-08 17:19:29 +00:00
2016-07-11 23:35:48 +00:00
2016-05-26 19:35:29 +00:00
2016-02-11 06:02:01 +00:00
2016-04-12 13:38:18 +00:00
2016-07-15 21:27:08 +00:00
2016-09-08 17:19:29 +00:00
2016-09-08 17:19:29 +00:00
2016-07-15 21:27:08 +00:00
2016-04-12 13:38:18 +00:00
2016-09-08 17:19:29 +00:00
2016-09-09 23:32:53 +00:00
2016-04-14 21:58:24 +00:00
2016-07-22 17:01:21 +00:00
2016-07-22 17:01:21 +00:00
2016-07-22 17:01:21 +00:00
2016-07-22 17:01:21 +00:00
2016-02-11 06:02:01 +00:00
2016-06-02 19:54:26 +00:00
2016-08-27 01:00:37 +00:00
2016-05-28 00:19:52 +00:00
2016-06-09 19:17:15 +00:00
2016-07-09 08:02:28 +00:00
2016-07-09 08:02:28 +00:00
2016-09-08 17:19:29 +00:00
2016-07-15 21:27:08 +00:00
2016-06-24 23:52:11 +00:00
2016-05-05 20:07:37 +00:00
2015-10-12 23:59:50 +00:00
2016-06-09 23:42:48 +00:00
2016-06-09 23:42:44 +00:00
2016-07-22 23:46:40 +00:00
2016-07-13 14:23:33 +00:00
2016-05-13 20:39:31 +00:00
2016-06-25 01:59:16 +00:00
2016-09-09 23:32:53 +00:00
2016-01-27 02:17:49 +00:00
2016-09-09 10:08:02 +00:00
2016-07-13 14:23:33 +00:00
2016-07-22 23:46:40 +00:00
2015-12-02 17:00:42 +00:00
2016-07-13 14:23:33 +00:00
2016-07-13 14:23:33 +00:00
2016-02-12 23:45:29 +00:00
2016-05-18 15:48:44 +00:00
2015-12-04 01:51:19 +00:00
2015-08-07 23:19:30 +00:00
2016-09-08 17:19:29 +00:00
2016-08-26 06:31:32 +00:00
2016-08-29 19:42:52 +00:00
2016-09-06 20:22:28 +00:00
2016-09-12 04:27:28 +00:00
2016-07-01 23:26:50 +00:00
2016-08-31 11:18:33 +00:00
2016-08-30 20:50:08 +00:00
2016-07-15 21:27:08 +00:00
2016-08-29 19:42:52 +00:00
2016-04-25 19:27:24 +00:00
2016-07-20 14:38:06 +00:00
2016-07-20 14:38:06 +00:00
2016-07-20 14:38:06 +00:00
2016-09-09 22:29:28 +00:00
2016-07-15 21:27:08 +00:00
2016-07-15 21:27:08 +00:00
2016-06-18 05:15:53 +00:00
2016-09-16 22:20:24 +00:00
2016-09-09 10:08:02 +00:00
2016-06-13 16:05:57 +00:00
2016-09-06 20:22:28 +00:00
2016-02-05 19:47:29 +00:00
2016-02-02 13:52:43 +00:00
2016-05-21 00:29:40 +00:00
2016-07-18 18:34:59 +00:00
2016-04-14 22:11:51 +00:00
2016-02-02 13:52:43 +00:00
2016-07-14 05:47:17 +00:00
2016-07-26 21:49:34 +00:00
2016-06-09 23:42:54 +00:00
2016-06-09 23:42:54 +00:00
2016-06-15 07:13:05 +00:00
2016-06-15 07:13:05 +00:00
2016-06-15 07:13:05 +00:00
2016-04-29 09:02:30 +00:00
2016-04-29 09:02:30 +00:00
2015-09-24 19:52:21 +00:00
2015-09-24 19:52:21 +00:00
2015-09-24 19:52:21 +00:00
2016-06-20 18:33:56 +00:00
2016-02-13 01:19:56 +00:00
2016-01-26 04:29:56 +00:00
2016-01-26 04:29:56 +00:00
2016-01-26 04:29:56 +00:00
2016-01-26 04:29:56 +00:00
2016-07-22 17:01:30 +00:00
2016-02-02 13:52:43 +00:00
2016-01-22 21:30:34 +00:00
2016-09-08 17:19:29 +00:00
2016-04-12 13:38:18 +00:00
2016-06-10 00:01:04 +00:00
2016-04-29 14:34:26 +00:00
2016-06-22 21:33:49 +00:00
2016-09-08 17:19:29 +00:00
2016-07-19 23:16:53 +00:00
2016-09-08 17:19:29 +00:00
2016-06-20 18:33:56 +00:00
2016-03-30 22:28:52 +00:00
2016-03-21 16:11:05 +00:00
2016-07-22 17:01:33 +00:00
2016-07-28 16:42:13 +00:00
2016-04-06 19:40:20 +00:00
2016-08-10 21:15:30 +00:00
2016-08-10 21:15:30 +00:00
2016-04-06 19:40:20 +00:00
2016-08-10 21:15:30 +00:00
2016-08-10 21:15:30 +00:00
2016-04-06 19:40:20 +00:00
2016-09-23 01:33:26 +00:00
2016-07-15 21:26:56 +00:00
2016-07-12 18:02:14 +00:00
2016-02-13 01:19:56 +00:00
2016-04-06 19:40:20 +00:00
2016-05-02 16:23:09 +00:00
2016-08-18 19:51:14 +00:00
2016-09-09 19:31:51 +00:00
2016-08-11 17:14:17 +00:00
2016-04-22 04:04:08 +00:00
2016-08-18 19:51:14 +00:00
2016-04-25 19:27:18 +00:00
2016-07-26 16:45:45 +00:00
2016-07-09 07:55:03 +00:00
2016-08-24 20:35:23 +00:00
2016-08-24 20:35:23 +00:00
2016-09-09 23:32:53 +00:00
2016-06-20 18:33:56 +00:00
2016-06-20 18:33:56 +00:00
2016-02-11 06:02:01 +00:00
2016-05-21 00:29:27 +00:00
2016-05-21 00:29:27 +00:00
2016-05-21 00:29:27 +00:00
2016-05-21 00:29:27 +00:00
2016-08-18 18:06:20 +00:00
2016-04-27 15:17:03 +00:00
2016-08-18 18:06:20 +00:00
2016-02-27 08:53:46 +00:00
2016-02-27 08:53:46 +00:00
2016-02-27 08:53:52 +00:00
2016-04-27 15:46:01 +00:00
2016-08-11 17:14:17 +00:00
2016-08-11 17:14:17 +00:00
2016-08-11 17:14:17 +00:00
2016-07-18 18:35:05 +00:00
2016-02-13 01:19:56 +00:00
2016-01-22 21:30:34 +00:00
2016-09-16 21:34:26 +00:00
2016-09-16 21:34:26 +00:00
2015-08-29 07:16:50 +00:00
2016-09-08 17:19:29 +00:00
2016-07-15 21:27:08 +00:00
2016-04-06 19:40:20 +00:00
2016-04-06 19:40:20 +00:00
2016-05-05 20:07:37 +00:00
2016-07-11 23:35:48 +00:00
2016-07-30 01:40:36 +00:00
2016-07-15 21:27:08 +00:00
2016-07-14 05:47:17 +00:00
2016-07-18 18:34:59 +00:00
2015-12-04 01:51:19 +00:00
2016-07-15 21:26:52 +00:00
2016-07-15 21:26:52 +00:00
2016-07-14 05:47:17 +00:00
2016-05-05 20:07:37 +00:00
2016-04-30 00:23:06 +00:00
2016-09-08 17:19:29 +00:00
2016-04-06 19:40:20 +00:00
2016-07-12 08:12:16 +00:00
2016-04-06 19:40:20 +00:00
2016-04-06 19:40:20 +00:00
2016-04-06 19:40:20 +00:00
2016-04-06 19:40:20 +00:00
2016-04-06 19:40:20 +00:00
2016-04-29 09:02:30 +00:00
2016-04-06 19:40:20 +00:00
2016-07-11 23:35:48 +00:00
2016-05-06 17:48:48 +00:00
2016-04-06 19:40:20 +00:00
2016-07-09 07:55:03 +00:00
2016-06-02 19:54:26 +00:00
2016-06-02 19:54:26 +00:00
2016-08-27 19:09:43 +00:00
2016-09-08 12:57:51 +00:00
2016-08-05 21:23:29 +00:00
2016-07-01 22:47:50 +00:00
2016-06-02 19:54:26 +00:00
2016-07-01 22:47:50 +00:00
2016-06-02 19:54:26 +00:00
2016-08-27 19:09:43 +00:00
2016-09-08 12:57:51 +00:00
2016-08-29 19:42:52 +00:00
2016-07-01 22:47:50 +00:00
2016-07-15 21:27:08 +00:00
2016-07-01 22:47:50 +00:00
2016-06-02 19:54:26 +00:00
2016-06-02 19:54:26 +00:00
2016-08-27 19:09:43 +00:00
2016-08-29 19:15:22 +00:00
2016-08-29 19:15:22 +00:00
2016-06-02 19:54:26 +00:00
2016-07-01 22:47:50 +00:00
2016-08-26 21:36:47 +00:00
2016-03-30 16:35:09 +00:00
2016-04-12 14:05:04 +00:00
2016-08-29 19:15:22 +00:00
2016-07-18 18:34:59 +00:00
2016-07-18 18:34:59 +00:00
2016-09-17 16:09:55 +00:00
2016-07-20 15:20:35 +00:00
2016-02-12 17:57:54 +00:00
2016-06-24 06:58:01 +00:00
2016-05-05 20:07:37 +00:00
2016-05-05 20:07:37 +00:00
2016-04-30 00:23:06 +00:00
2016-04-12 13:38:18 +00:00
2016-09-08 17:19:29 +00:00
2016-09-08 17:19:29 +00:00
2016-02-11 06:02:01 +00:00
2016-07-15 21:27:08 +00:00
2016-06-09 16:04:00 +00:00
2016-08-11 17:31:42 +00:00
2016-08-10 18:51:14 +00:00
2016-09-28 16:37:50 +00:00
2016-02-11 06:02:01 +00:00
2016-06-15 00:11:01 +00:00
2016-08-29 19:42:52 +00:00
2016-08-29 19:42:52 +00:00
2016-02-11 06:02:01 +00:00
2016-07-11 23:35:48 +00:00
2016-08-27 01:32:27 +00:00
2016-09-28 20:05:39 +00:00
2016-09-28 20:05:39 +00:00
2016-05-05 20:07:37 +00:00
2016-09-16 22:11:18 +00:00
2016-05-26 15:24:55 +00:00
2016-06-25 18:24:16 +00:00
2016-06-24 06:58:01 +00:00
2016-05-05 20:07:37 +00:00
2016-08-15 16:18:36 +00:00
2016-09-14 15:19:03 +00:00
2016-06-20 18:13:04 +00:00
2016-06-27 20:32:13 +00:00
2016-02-11 06:02:01 +00:00
2016-07-15 21:27:08 +00:00
2016-06-24 06:30:22 +00:00
2016-09-28 16:37:50 +00:00
2016-02-02 21:16:12 +00:00
2016-06-23 09:19:16 +00:00
2016-09-06 20:22:28 +00:00
2016-04-28 18:38:48 +00:00
2016-06-23 09:19:16 +00:00
2016-05-16 21:19:59 +00:00
2016-08-13 23:31:24 +00:00
2016-07-14 05:23:15 +00:00
2016-09-06 20:22:28 +00:00
2016-09-06 20:22:28 +00:00
2016-09-06 20:22:28 +00:00
2016-07-18 09:02:47 +00:00
2016-09-09 22:29:28 +00:00
2016-09-06 20:22:28 +00:00
2016-09-06 20:22:28 +00:00
2016-09-06 20:22:28 +00:00
2016-07-14 05:23:15 +00:00
2016-05-18 23:20:24 +00:00
2016-07-15 21:27:08 +00:00
2016-07-15 21:27:08 +00:00
2016-08-29 19:01:48 +00:00
2016-07-15 21:27:08 +00:00
2016-09-28 06:13:58 +00:00
2016-07-15 21:27:08 +00:00
2016-09-02 20:13:19 +00:00
2016-05-11 17:24:45 +00:00
2016-07-25 20:17:02 +00:00
2016-07-15 21:27:08 +00:00
2016-08-29 19:42:52 +00:00
2016-01-26 04:29:24 +00:00
2016-01-26 04:29:24 +00:00
2016-01-26 04:29:24 +00:00
2016-01-26 04:29:24 +00:00
2016-02-27 08:53:46 +00:00
2016-04-29 09:02:30 +00:00
2016-04-22 21:01:41 +00:00
2016-03-05 04:36:13 +00:00
2016-06-17 21:18:41 +00:00
2016-05-20 19:46:13 +00:00
2016-08-03 22:37:47 +00:00
2016-05-26 19:35:29 +00:00
2016-07-06 08:35:17 +00:00
2016-08-29 19:42:52 +00:00
2016-05-05 20:07:37 +00:00
2016-08-02 22:25:04 +00:00
2016-09-07 17:44:00 +00:00
2016-07-15 21:27:08 +00:00
2016-09-08 17:35:41 +00:00
2016-09-09 23:32:53 +00:00
2016-09-08 17:35:41 +00:00
2016-08-29 19:42:52 +00:00
2016-08-29 19:42:52 +00:00
2015-08-07 23:19:30 +00:00
2016-07-01 22:47:50 +00:00
2016-07-15 21:27:08 +00:00
2016-07-15 21:27:08 +00:00
2016-07-15 21:27:08 +00:00
2016-09-09 22:29:28 +00:00
2016-07-15 21:27:08 +00:00
2016-07-15 21:27:08 +00:00
2016-06-24 23:52:11 +00:00
2016-07-18 18:34:59 +00:00
2016-07-15 21:27:08 +00:00
2016-09-02 19:48:55 +00:00
2016-09-09 22:29:28 +00:00
2016-05-26 19:35:29 +00:00
2016-05-21 01:53:33 +00:00
2016-04-14 21:58:07 +00:00
2015-09-09 15:43:26 +00:00
2016-05-16 20:58:23 +00:00
2016-09-08 17:19:29 +00:00
2016-07-12 02:18:09 +00:00
2015-12-04 01:51:19 +00:00
2016-03-30 16:35:09 +00:00
2016-09-08 17:19:29 +00:00
2016-09-08 17:19:29 +00:00
2016-08-31 21:52:27 +00:00
2016-07-01 22:55:55 +00:00
2016-05-21 00:29:27 +00:00
2016-07-11 23:35:48 +00:00
2016-07-15 21:27:08 +00:00
2016-08-29 19:42:52 +00:00
2016-09-14 15:19:03 +00:00
2016-05-26 19:35:29 +00:00
2016-08-29 13:06:10 +00:00
2016-02-11 06:02:01 +00:00
2016-05-05 20:07:37 +00:00
2016-07-28 23:01:45 +00:00
2016-09-16 21:41:16 +00:00
2016-06-24 06:58:01 +00:00
2016-07-13 20:36:03 +00:00
2016-09-09 23:32:53 +00:00
2016-04-06 19:40:20 +00:00
2016-04-29 21:52:13 +00:00
2016-04-06 19:40:20 +00:00
2016-06-17 21:18:41 +00:00
2016-07-11 23:35:48 +00:00
2016-05-02 20:11:44 +00:00
2016-09-28 16:37:50 +00:00
2016-07-11 23:35:48 +00:00
2016-04-22 22:59:16 +00:00
2016-04-14 21:58:24 +00:00
2016-09-14 15:19:03 +00:00
2016-02-12 17:57:54 +00:00
2016-09-08 17:19:29 +00:00
2016-03-07 21:54:48 +00:00
2016-06-09 16:04:00 +00:00
2016-09-08 17:19:29 +00:00
2016-04-06 19:40:20 +00:00
2016-09-17 02:02:19 +00:00
2016-06-17 21:18:41 +00:00
2016-09-03 06:57:55 +00:00
2016-06-16 00:56:47 +00:00
2016-02-11 06:02:01 +00:00
2016-07-11 23:35:48 +00:00
2016-02-11 06:02:01 +00:00
2016-06-25 00:23:00 +00:00
2015-12-04 01:51:19 +00:00
2015-10-01 17:51:34 +00:00
2016-07-01 22:47:50 +00:00
2016-09-02 19:07:06 +00:00
2016-09-02 19:07:06 +00:00
2016-08-29 19:15:22 +00:00
2016-06-27 20:32:13 +00:00
2016-06-24 06:30:22 +00:00
2016-07-01 22:47:50 +00:00
2016-07-11 23:35:48 +00:00
2016-05-06 22:43:50 +00:00
2016-08-24 13:37:55 +00:00
2016-07-15 21:27:08 +00:00
2016-09-06 20:22:28 +00:00
2016-07-15 21:27:08 +00:00
2016-07-15 21:27:08 +00:00
2016-06-17 22:27:03 +00:00
2016-07-01 22:47:50 +00:00
2016-03-30 16:35:09 +00:00
2016-07-01 22:47:50 +00:00
2016-09-08 17:19:29 +00:00
2016-05-21 01:53:33 +00:00
2016-05-21 01:53:33 +00:00
2016-05-21 01:53:33 +00:00
2016-08-29 19:42:52 +00:00
2016-04-14 21:58:24 +00:00
2016-02-12 17:57:54 +00:00
2016-02-12 17:57:54 +00:00
2016-03-07 21:54:48 +00:00
2016-08-31 21:52:27 +00:00
2016-07-15 22:32:02 +00:00
2016-06-24 06:58:01 +00:00
2016-05-05 17:36:36 +00:00
2016-09-17 02:02:19 +00:00
2016-05-18 15:48:44 +00:00
2016-08-10 19:11:42 +00:00
2016-09-02 19:48:55 +00:00
2016-06-02 18:37:16 +00:00
2015-12-04 01:51:19 +00:00
2016-08-29 19:42:52 +00:00
2016-09-16 21:53:00 +00:00
2016-02-11 06:02:01 +00:00
2016-08-11 20:34:48 +00:00
2016-07-11 23:35:48 +00:00
2016-08-22 19:33:16 +00:00
2016-07-18 18:34:53 +00:00
2016-07-08 21:25:33 +00:00
2016-08-15 21:38:30 +00:00
2016-09-28 16:37:50 +00:00
2016-09-28 16:37:50 +00:00
2016-06-20 18:33:56 +00:00
2016-02-11 06:02:01 +00:00
2016-05-18 15:48:44 +00:00
2016-04-06 19:40:20 +00:00
2016-05-21 03:55:07 +00:00
2016-09-12 16:25:20 +00:00
2016-01-26 04:29:24 +00:00
2016-02-11 06:02:01 +00:00
2016-07-11 23:35:48 +00:00
2016-09-02 20:13:19 +00:00
2016-09-14 15:19:03 +00:00
2016-05-05 20:07:37 +00:00
2016-04-12 18:24:38 +00:00