Sameer Sahasrabuddhe
e0ac087ff0
[LoopUnroll] Consider convergence control tokens when unrolling ( #91715 )
...
- There is no restriction on a loop with controlled convergent
operations when
the relevant tokens are defined and used within the loop.
- When a token defined outside a loop is used inside (also called a loop
convergence heart), unrolling is allowed only in the absence of
remainder or
runtime checks.
- When a token defined inside a loop is used outside, such a loop is
said to be
"extended". This loop can only be unrolled by also duplicating the
extended part
lying outside the loop. Such unrolling is disabled for now.
- Clean up loop hearts: When unrolling a loop with a heart, duplicating
the
heart will introduce multiple static uses of a convergence control token
in a
cycle that does not contain its definition. This violates the static
rules for
tokens, and needs to be cleaned up into a single occurrence of the
intrinsic.
- Spell out the initializer for UnrollLoopOptions to improve
readability.
Original implementation [D85605] by Nicolai Haehnle
<nicolai.haehnle@amd.com>.
2024-06-06 13:13:46 +05:30
..
2024-03-04 16:17:01 +00:00
2024-02-06 17:01:38 +03:00
2024-02-05 11:57:34 +01:00
2023-05-17 17:03:15 +02:00
2023-07-05 09:54:28 +02:00
2024-02-06 17:01:38 +03:00
2023-11-27 12:54:11 -08:00
2024-05-16 14:44:00 +01:00
2022-12-07 20:15:43 +03:00
2022-12-07 20:15:43 +03:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2023-07-05 09:54:28 +02:00
2022-12-23 16:35:26 +01:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2023-07-05 09:54:28 +02:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2024-06-06 13:13:46 +05:30
2022-12-07 20:15:43 +03:00
2022-12-07 20:15:43 +03:00
2023-11-26 21:24:29 +00:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2023-04-13 10:21:24 +05:30
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2022-12-07 20:15:43 +03:00
2023-07-05 09:54:28 +02:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2024-02-21 17:51:56 +05:30
2023-03-14 20:55:17 +07:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-09-26 14:25:37 +01:00
2023-07-19 10:39:59 +02:00
2023-12-08 19:43:10 +08:00
2022-12-07 20:15:43 +03:00
2022-12-07 20:15:43 +03:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2023-07-05 09:54:28 +02:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2023-07-05 09:54:28 +02:00
2023-07-05 09:54:28 +02:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-07 20:15:43 +03:00
2022-12-08 02:38:47 +03:00
2024-02-05 11:57:34 +01:00
2022-10-25 12:15:39 -04:00
2022-12-07 20:15:43 +03:00
2024-05-31 13:58:10 +03:00
2022-12-07 20:15:43 +03:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2023-10-31 14:02:42 +01:00
2023-10-31 14:02:42 +01:00
2022-12-05 12:10:53 -05:00
2022-12-07 20:15:43 +03:00
2024-01-24 15:25:29 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-07 20:15:43 +03:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-07 20:15:43 +03:00
2022-12-23 16:35:26 +01:00
2024-02-05 17:01:00 -08:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2024-05-03 14:13:59 -04:00
2023-11-24 15:17:32 +00:00
2023-12-07 13:20:36 -08:00
2024-02-01 16:08:25 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2023-07-05 09:54:28 +02:00
2023-07-05 09:54:28 +02:00
2023-09-11 14:23:29 -07:00
2022-12-07 20:15:43 +03:00
2023-07-05 09:54:28 +02:00
2023-07-05 09:54:28 +02:00
2022-12-23 16:35:26 +01:00
2023-09-11 14:23:29 -07:00
2023-12-14 21:02:10 +08:00
2023-07-05 09:54:28 +02:00
2023-07-05 09:54:28 +02:00
2023-11-27 12:54:11 -08:00
2022-10-07 20:02:58 +01:00
2022-10-18 15:12:24 +01:00
2023-07-05 09:54:28 +02:00
2022-12-23 16:35:26 +01:00
2024-05-02 11:01:24 +01:00
2023-07-05 09:54:28 +02:00
2022-12-07 20:15:43 +03:00
2022-12-20 18:36:42 +03:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2023-07-05 09:54:28 +02:00
2023-09-11 14:23:29 -07:00
2024-05-02 11:01:24 +01:00
2023-10-31 14:33:53 +00:00
2022-12-23 16:35:26 +01:00
2023-07-05 09:54:28 +02:00
2022-12-23 16:35:26 +01:00
2022-12-23 16:35:26 +01:00
2024-05-13 09:42:04 -07:00
2022-12-23 16:35:26 +01:00
2022-10-07 14:54:34 -07:00
2023-01-20 16:08:25 +00:00
2022-12-08 11:47:16 +01:00