Pierre van Houtryve
70924673af
[RFC][GISel] Add a way to ignore COPY instructions in InstructionSelector
...
RFC to add a way to ignore COPY instructions when pattern-matching MIR in GISel.
- Add a new "GISelFlags" class to TableGen. Both `Pattern` and `PatFrags` defs can use it to alter matching behaviour.
- Flags start at zero and are scoped: the setter returns a `SaveAndRestore` object so that when the current scope ends, the flags are restored to their previous values. This allows child patterns to modify the flags without affecting the parent pattern.
- Child patterns always reuse the parent's pattern, but they can override its values. For more examples, see `GlobalISelEmitterFlags.td` tests.
- [AMDGPU] Use the IgnoreCopies flag in BFI patterns, which are known to be bothered by cross-regbank copies.
Reviewed By: arsenm
Differential Revision: https://reviews.llvm.org/D136234
2023-02-10 08:37:42 +01:00
..
2020-10-26 10:47:29 -04:00
2022-12-07 14:37:08 -05:00
2022-11-14 15:59:05 -08:00
2021-11-03 11:55:07 +00:00
2022-04-22 15:48:07 -04:00
2020-09-12 16:26:32 -04:00
2020-10-28 12:27:53 -04:00
2022-06-30 10:37:58 -07:00
2023-01-17 11:56:43 -08:00
2021-06-23 13:27:37 +07:00
2021-04-30 11:31:06 -04:00
2022-06-10 19:13:59 -07:00
2020-09-12 16:26:32 -04:00
2021-03-17 09:28:50 +00:00
2020-09-12 16:26:32 -04:00
2021-01-14 10:20:35 -05:00
2020-12-03 10:19:11 -05:00
2020-11-13 09:57:27 -05:00
2022-09-19 14:22:43 +08:00
2022-11-20 20:52:13 +01:00
2020-10-31 10:54:33 -04:00
2020-09-12 16:26:32 -04:00
2021-11-03 11:55:07 +00:00
2020-09-23 13:35:32 -04:00
2020-11-05 09:07:21 -05:00
2022-09-27 23:48:16 -07:00
2022-09-27 23:48:16 -07:00
2022-09-27 23:48:16 -07:00
2022-09-27 23:48:16 -07:00
2022-09-27 23:48:16 -07:00
2022-09-27 23:48:16 -07:00
2022-09-27 23:48:16 -07:00
2020-08-19 07:54:14 +00:00
2021-12-03 07:04:59 +00:00
2021-05-02 12:40:44 -07:00
2021-05-02 12:40:44 -07:00
2021-05-02 12:40:44 -07:00
2021-11-03 11:55:07 +00:00
2020-09-12 16:26:32 -04:00
2021-01-27 10:41:46 -05:00
2022-07-18 09:26:57 +02:00
2021-03-23 09:16:53 -04:00
2021-03-23 09:16:53 -04:00
2021-09-23 23:07:35 -04:00
2020-10-19 09:22:20 -04:00
2022-06-23 11:11:47 +08:00
2022-06-23 11:11:47 +08:00
2022-06-23 11:11:47 +08:00
2022-06-23 11:11:47 +08:00
2021-04-13 15:14:56 -07:00
2020-11-09 10:56:55 -05:00
2021-04-28 09:51:00 -04:00
2022-01-14 10:55:00 +00:00
2021-01-29 10:25:33 -05:00
2020-11-05 09:07:21 -05:00
2020-09-12 16:26:32 -04:00
2020-09-12 16:26:32 -04:00
2022-09-27 23:48:16 -07:00
2022-07-20 15:56:17 +02:00
2022-06-29 00:59:16 -07:00
2022-06-20 13:15:52 -07:00
2020-10-23 10:36:05 -04:00
2020-08-11 10:22:44 -04:00
2020-10-30 15:54:57 -04:00
2023-02-04 10:08:32 -04:00
2023-02-04 10:08:32 -04:00
2020-10-05 10:42:18 +02:00
2022-09-27 23:48:16 -07:00
2020-11-24 07:47:58 +01:00
2020-09-18 11:01:11 +02:00
2022-09-30 07:26:30 +00:00
2021-03-16 12:44:09 +01:00
2023-02-10 08:37:42 +01:00
2020-08-26 12:09:01 +02:00
2021-10-28 13:37:12 +02:00
2021-10-28 13:37:12 +02:00
2020-09-14 12:10:59 +02:00
2021-01-05 09:30:04 +01:00
2022-07-08 09:47:33 +05:30
2020-09-12 16:26:32 -04:00
2020-09-23 13:35:32 -04:00
2021-11-03 11:55:07 +00:00
2020-09-12 16:26:32 -04:00
2021-04-30 10:18:45 +02:00
2022-06-10 19:13:59 -07:00
2022-09-24 09:40:45 -04:00
2020-12-28 12:17:24 -05:00
2022-10-12 10:56:01 +02:00
2020-08-26 11:37:59 +02:00
2022-06-02 00:49:11 +00:00
2020-08-26 11:37:59 +02:00
2020-08-26 11:37:59 +02:00
2021-03-04 14:08:19 +03:00
2021-11-03 11:55:07 +00:00
2020-09-12 16:26:32 -04:00
2020-09-12 16:26:32 -04:00
2022-12-09 15:03:18 +00:00
2021-04-13 15:14:56 -07:00
2022-10-26 09:16:32 -07:00
2022-09-24 09:40:45 -04:00
2022-06-10 19:13:59 -07:00
2021-06-30 10:53:39 +01:00
2021-05-13 10:17:45 -04:00
2020-11-05 09:07:21 -05:00
2021-11-03 11:55:07 +00:00
2021-03-23 11:50:55 +07:00
2020-09-12 16:26:32 -04:00
2022-09-27 23:48:16 -07:00
2022-12-07 14:37:08 -05:00
2022-12-20 15:22:28 +09:00
2021-01-29 10:14:52 +05:30
2021-01-29 10:14:52 +05:30
2021-01-29 10:14:52 +05:30
2021-08-31 22:29:11 -04:00
2022-09-27 23:48:16 -07:00
2020-08-26 11:37:59 +02:00
2021-03-19 09:57:53 -04:00
2021-02-01 10:59:07 -05:00
2020-09-12 16:26:32 -04:00
2020-10-19 09:22:20 -04:00
2021-01-12 09:38:05 -05:00
2020-12-23 10:59:33 -05:00
2021-04-09 18:48:49 +01:00
2021-11-03 11:55:07 +00:00
2020-11-05 09:07:21 -05:00
2023-02-09 16:14:38 +08:00
2023-02-09 16:14:38 +08:00
2023-02-09 16:14:38 +08:00
2020-09-12 16:26:32 -04:00
2020-12-03 10:19:11 -05:00
2023-02-09 16:14:38 +08:00
2022-05-19 11:23:13 +01:00
2021-11-03 11:55:07 +00:00