Guozhi Wei
6599961c17
[TwoAddressInstructionPass] Improve the SrcRegMap and DstRegMap computation
...
This patch contains following enhancements to SrcRegMap and DstRegMap:
1 In findOnlyInterestingUse not only check if the Reg is two address usage,
but also check after commutation can it be two address usage.
2 If a physical register is clobbered, remove SrcRegMap entries that are
mapped to it.
3 In processTiedPairs, when create a new COPY instruction, add a SrcRegMap
entry only when the COPY instruction is coalescable. (The COPY src is
killed)
With these enhancements isProfitableToCommute can do better commute decision,
and finally more register copies are removed.
Differential Revision: https://reviews.llvm.org/D108731
2021-10-11 15:28:31 -07:00
..
2021-10-04 12:33:20 -07:00
2021-09-15 11:11:07 -07:00
2021-07-02 23:33:30 +03:00
2020-11-20 14:00:46 -05:00
2020-11-20 17:58:26 -05:00
2020-11-20 17:58:26 -05:00
2020-11-20 17:58:26 -05:00
2020-11-20 17:58:26 -05:00
2020-11-20 17:58:26 -05:00
2020-11-20 17:58:26 -05:00
2020-09-30 10:35:25 -04:00
2021-01-02 01:01:19 +03:00
2020-11-20 14:00:46 -05:00
2020-11-20 14:00:46 -05:00
2021-06-17 09:38:28 +02:00
2020-11-20 20:08:43 -05:00
2020-11-20 14:00:46 -05:00
2020-11-20 14:00:46 -05:00
2020-11-20 14:00:46 -05:00
2020-11-20 14:00:46 -05:00
2020-11-20 14:00:46 -05:00
2020-11-20 14:00:46 -05:00
2020-11-20 14:00:46 -05:00
2020-11-20 14:00:46 -05:00
2020-11-20 14:00:46 -05:00
2020-11-20 14:00:46 -05:00
2020-11-20 14:00:46 -05:00
2020-11-20 14:00:46 -05:00
2021-05-24 19:43:40 +02:00
2021-07-07 10:21:07 +01:00
2021-09-07 15:42:43 +08:00
2020-11-14 15:37:53 +00:00
2021-04-20 15:15:43 +01:00
2020-12-30 15:23:21 -08:00
2020-11-20 14:00:46 -05:00
2020-11-20 17:58:26 -05:00
2020-11-20 14:00:46 -05:00
2020-11-09 12:53:36 +00:00
2021-08-03 20:55:31 -07:00
2021-09-24 10:26:11 -07:00
2021-02-19 13:15:10 +00:00
2021-01-02 01:01:19 +03:00
2021-05-25 11:06:39 +02:00
2021-06-13 11:18:32 +02:00
2021-05-19 14:05:55 +02:00
2021-05-24 19:43:40 +02:00
2021-02-04 21:55:34 +01:00
2021-05-12 09:43:21 +01:00
2021-09-19 14:25:21 +01:00
2021-06-24 23:35:47 -07:00
2021-07-01 21:08:13 +01:00
2021-04-20 15:15:43 +01:00
2021-06-29 11:03:19 +01:00
2021-06-29 11:03:19 +01:00
2021-05-16 17:54:06 +01:00
2020-11-14 15:37:53 +00:00
2021-05-24 19:43:40 +02:00
2021-05-24 19:43:40 +02:00
2021-05-25 08:56:55 +00:00
2021-05-24 19:43:40 +02:00
2020-11-20 14:00:46 -05:00
2021-08-24 11:01:49 +03:00
2021-05-24 19:43:40 +02:00
2021-05-24 19:43:40 +02:00
2021-06-30 16:54:13 -04:00
2020-09-30 10:35:25 -04:00
2020-09-30 10:35:25 -04:00
2021-08-04 15:02:02 +01:00
2021-06-30 16:54:13 -04:00
2020-09-21 11:10:47 +01:00
2021-09-16 12:56:43 +01:00
2021-09-16 12:56:43 +01:00
2021-09-16 12:56:43 +01:00
2020-11-20 17:58:26 -05:00
2021-09-16 12:56:43 +01:00
2021-09-16 12:56:43 +01:00
2021-05-24 19:43:40 +02:00
2020-11-20 17:58:26 -05:00
2021-06-30 16:54:13 -04:00
2021-04-20 15:15:43 +01:00
2021-06-30 16:54:13 -04:00
2021-06-30 16:54:13 -04:00
2021-06-30 16:54:13 -04:00
2021-06-30 16:54:13 -04:00
2021-05-24 19:43:40 +02:00
2021-05-24 19:43:40 +02:00
2021-10-03 19:30:08 +01:00
2020-11-20 14:00:46 -05:00
2020-12-30 15:23:21 -08:00
2020-12-04 22:10:36 +03:00
2020-12-30 15:23:21 -08:00
2020-12-30 15:23:21 -08:00
2021-04-19 21:27:45 +01:00
2020-09-30 10:35:25 -04:00
2021-04-26 12:27:38 +01:00
2021-05-28 11:10:51 +01:00
2020-09-30 10:35:25 -04:00
2021-02-23 13:26:18 +00:00
2021-02-17 16:50:21 +00:00
2021-01-02 01:01:19 +03:00
2021-05-24 19:43:40 +02:00
2021-01-02 01:01:19 +03:00
2021-07-14 14:14:47 +01:00
2021-01-26 15:57:55 -03:00
2021-01-11 08:32:36 -08:00
2021-01-11 08:32:36 -08:00
2020-12-30 15:23:21 -08:00
2021-01-11 09:32:49 -08:00
2021-01-11 09:32:49 -08:00
2021-01-11 08:32:36 -08:00
2021-05-28 11:10:51 +01:00
2020-10-07 09:24:38 +01:00
2021-09-14 21:25:02 -04:00
2021-06-30 16:54:13 -04:00
2020-12-08 11:54:39 +00:00
2021-06-30 16:54:13 -04:00
2020-09-21 11:10:47 +01:00
2021-06-17 09:38:28 +02:00
2020-11-23 10:09:20 -08:00
2021-09-19 14:25:21 +01:00
2021-06-30 16:54:13 -04:00
2021-06-30 16:54:13 -04:00
2021-06-30 16:54:13 -04:00
2021-06-30 16:54:13 -04:00
2021-06-24 13:15:39 +03:00
2021-05-24 19:43:40 +02:00
2021-02-13 11:16:29 +07:00
2021-06-30 16:54:13 -04:00
2021-06-17 09:38:28 +02:00
2021-09-03 19:22:11 +01:00
2021-09-14 21:00:29 -04:00
2021-09-03 18:11:08 +01:00
2021-02-01 16:09:25 +00:00
2021-09-24 10:26:11 -07:00
2021-09-24 10:26:11 -07:00
2021-06-30 19:19:03 +01:00
2021-05-24 19:43:40 +02:00
2020-12-30 15:23:21 -08:00
2020-09-18 14:31:01 -07:00
2020-12-30 15:23:21 -08:00
2020-12-30 15:23:21 -08:00
2021-01-02 01:01:19 +03:00
2021-03-01 10:08:10 -08:00
2021-05-10 16:28:46 +01:00
2021-05-10 16:28:46 +01:00
2020-12-05 15:52:33 -08:00
2020-11-14 15:37:53 +00:00
2020-11-14 15:37:53 +00:00
2021-06-24 13:15:39 +03:00
2021-06-24 13:15:39 +03:00
2021-06-24 13:15:39 +03:00
2021-06-24 13:15:39 +03:00
2020-12-23 22:47:36 +07:00
2021-06-24 13:15:39 +03:00
2021-06-24 13:15:39 +03:00
2021-09-24 10:26:11 -07:00
2020-11-14 15:37:53 +00:00
2021-02-15 13:17:21 +00:00
2020-11-20 20:08:43 -05:00
2021-05-18 14:30:22 -07:00
2021-05-24 19:43:40 +02:00
2020-12-30 15:23:21 -08:00
2021-07-11 14:45:54 +01:00
2021-06-30 16:54:13 -04:00
2020-09-30 10:35:25 -04:00
2020-09-30 10:35:25 -04:00
2021-06-30 16:54:13 -04:00
2021-06-30 16:54:13 -04:00
2021-06-24 13:15:39 +03:00
2021-03-17 15:29:02 +00:00
2020-11-14 15:37:53 +00:00
2021-02-17 16:50:21 +00:00
2021-05-24 19:43:40 +02:00
2021-01-21 13:01:34 +00:00
2021-07-02 23:33:30 +03:00
2020-12-17 16:08:23 +01:00
2020-11-09 15:26:18 +00:00
2020-11-09 15:26:18 +00:00
2020-11-09 15:26:18 +00:00
2021-01-19 10:59:09 +01:00
2021-01-19 10:59:09 +01:00
2020-11-05 19:26:51 +00:00
2020-11-02 16:47:22 +00:00
2020-11-02 16:47:22 +00:00
2021-01-19 10:59:09 +01:00
2021-06-09 15:37:21 +02:00
2020-12-17 16:08:23 +01:00
2021-09-02 13:42:58 +01:00
2021-06-30 16:54:13 -04:00
2021-07-28 19:00:45 -07:00
2021-07-02 23:33:30 +03:00
2021-06-30 16:54:13 -04:00
2021-09-24 10:26:11 -07:00
2021-10-09 10:03:50 +08:00
2021-06-30 16:54:13 -04:00
2021-09-22 18:58:00 +01:00
2021-05-24 19:43:40 +02:00
2021-08-27 15:14:47 -07:00
2021-05-28 11:10:51 +01:00
2021-06-30 16:54:13 -04:00
2020-12-30 15:23:21 -08:00
2021-06-30 16:54:13 -04:00
2020-09-30 10:35:25 -04:00
2021-06-30 16:54:13 -04:00
2021-06-30 16:54:13 -04:00
2021-08-19 16:08:07 +01:00
2021-06-30 16:54:13 -04:00
2021-05-24 19:43:40 +02:00
2021-05-18 14:30:22 -07:00
2021-08-19 16:08:07 +01:00
2021-08-19 16:08:07 +01:00
2020-11-14 15:37:53 +00:00
2021-09-15 11:23:32 +01:00
2021-09-08 12:41:51 +01:00
2021-06-24 10:09:36 -07:00
2021-01-02 01:01:19 +03:00
2021-08-06 17:35:11 +01:00
2021-09-24 11:44:49 +01:00
2021-06-30 16:54:13 -04:00
2021-06-24 13:15:39 +03:00
2021-04-20 16:24:36 +01:00
2021-05-24 19:43:40 +02:00
2021-10-05 10:51:18 +01:00
2021-09-14 21:00:29 -04:00
2020-10-02 09:28:35 +00:00
2020-09-28 14:50:19 +00:00
2021-10-11 15:28:31 -07:00
2020-11-20 14:00:46 -05:00
2021-08-19 16:08:07 +01:00
2021-08-19 16:08:07 +01:00
2021-05-24 19:43:40 +02:00
2020-09-30 10:35:25 -04:00
2021-05-24 19:43:40 +02:00
2021-01-28 10:37:16 +00:00
2021-02-23 10:53:22 +00:00
2021-02-23 10:53:22 +00:00
2021-06-30 16:54:13 -04:00
2020-11-20 14:00:46 -05:00
2020-11-20 14:00:46 -05:00
2021-05-24 19:43:40 +02:00
2020-12-23 22:47:36 +07:00
2020-11-14 15:37:53 +00:00
2021-09-07 15:46:19 +01:00
2021-01-11 09:32:49 -08:00
2020-11-20 20:08:43 -05:00
2021-05-28 11:10:51 +01:00
2021-05-28 11:10:51 +01:00
2021-06-24 13:15:39 +03:00
2021-04-24 19:57:42 +02:00
2021-07-21 09:35:14 +01:00
2021-05-28 11:12:00 +01:00
2021-07-06 12:16:05 -07:00
2021-05-18 14:30:22 -07:00
2021-06-24 13:15:39 +03:00
2020-09-30 10:35:25 -04:00
2020-12-30 15:23:21 -08:00
2021-07-11 15:58:11 +01:00
2021-07-11 15:58:11 +01:00
2021-09-14 21:00:29 -04:00
2021-05-24 19:43:40 +02:00
2021-05-24 19:43:40 +02:00
2021-09-07 15:42:43 +08:00
2020-09-28 14:50:19 +00:00
2021-10-11 15:28:31 -07:00
2021-07-11 15:58:11 +01:00
2021-07-11 15:58:11 +01:00
2021-06-30 16:54:13 -04:00
2020-12-08 11:54:39 +00:00
2021-05-28 11:10:51 +01:00
2020-12-23 22:47:36 +07:00
2021-01-06 11:26:39 +00:00
2020-11-14 15:37:53 +00:00
2021-09-08 14:47:05 -07:00
2021-02-01 16:09:25 +00:00
2021-04-26 12:27:38 +01:00
2020-10-29 21:26:14 +01:00
2020-10-29 21:26:14 +01:00
2020-10-07 10:36:44 -07:00
2020-10-07 10:36:44 -07:00
2020-11-04 14:20:31 -06:00
2020-11-04 14:20:31 -06:00
2021-10-06 10:03:32 -07:00
2021-07-19 16:36:33 +01:00
2021-05-24 19:43:40 +02:00
2021-06-17 09:38:28 +02:00
2021-09-11 16:34:32 +02:00
2020-11-20 17:58:26 -05:00
2020-10-07 11:47:03 +01:00
2021-06-30 16:54:13 -04:00
2021-05-24 19:43:40 +02:00
2021-06-30 16:54:13 -04:00
2020-12-08 11:54:39 +00:00
2021-01-06 10:51:12 +00:00
2021-01-06 10:51:12 +00:00
2021-07-19 16:36:33 +01:00
2021-07-26 23:33:36 -05:00
2021-09-08 14:47:05 -07:00
2021-01-06 11:26:39 +00:00
2021-06-22 09:55:20 -07:00
2020-12-07 09:35:12 +02:00