Slava Zakharin
47025af639
[flang][hlfir] Alias analysis for host associated accesses. ( #65919 )
...
This patch adds `host_assoc` attribute for operations that implement
FortranVariableInterface (e.g. `hlfir.declare`). The attribute is used
by the alias analysis to make better conclusions about memory overlap.
For example, a dummy argument of an inner subroutine and a host's
variable used inside the inner subroutine cannot refer to the same
object (if the dummy argument does not satisify exceptions in F2018
15.5.2.13).
This closes a performance gap between HLFIR optimization pipeline
and FIR ArrayValueCopy for Polyhedron/nf.
2023-09-18 09:59:06 -07:00
..
2023-08-09 19:35:06 -04:00
2023-09-18 09:59:06 -07:00
2023-09-18 14:59:56 +02:00
2023-09-13 22:28:02 -07:00
2023-09-18 14:10:04 +01:00
2023-08-21 11:00:19 -04:00
2023-06-28 13:49:30 +01:00
2022-11-17 15:49:51 +00:00
2022-11-17 15:49:51 +00:00
2023-04-24 09:07:30 +02:00
2023-09-05 10:26:16 -07:00
2023-03-20 10:01:51 +01:00
2023-04-24 09:07:30 +02:00
2023-04-24 09:07:30 +02:00
2023-04-24 09:07:30 +02:00
2023-04-24 09:07:30 +02:00
2023-02-28 09:55:10 -08:00
2023-05-12 13:40:22 -07:00
2023-05-12 13:40:22 -07:00
2023-05-12 13:40:22 -07:00
2023-05-09 13:26:32 -07:00
2022-11-17 15:49:51 +00:00
2023-02-09 19:52:15 +00:00
2022-11-17 15:49:51 +00:00
2023-07-31 14:22:43 -07:00
2022-11-17 15:49:51 +00:00
2023-08-09 19:35:06 -04:00
2022-11-17 15:49:51 +00:00
2022-11-17 15:49:51 +00:00
2023-07-11 18:53:31 +01:00
2023-03-31 09:13:14 -03:00
2022-11-17 15:49:51 +00:00
2022-12-05 09:31:32 -08:00
2023-05-16 10:29:56 -07:00
2023-09-08 10:43:55 +02:00
2023-04-05 14:53:23 -07:00
2023-05-11 11:52:35 +00:00
2022-11-17 15:49:51 +00:00
2022-11-17 15:49:51 +00:00
2022-11-17 15:49:51 +00:00
2023-04-14 08:44:58 +02:00
2022-11-17 15:49:51 +00:00
2023-02-17 18:20:03 -08:00
2023-02-17 18:20:03 -08:00
2023-03-01 12:02:30 -08:00
2023-08-09 19:35:06 -04:00
2023-05-18 15:57:03 -07:00
2023-02-07 09:23:09 +01:00
2023-05-23 09:35:17 -07:00
2023-04-28 08:51:11 -07:00
2023-05-23 09:35:17 -07:00
2022-11-17 15:49:51 +00:00
2023-04-28 08:51:11 -07:00
2022-10-30 14:50:31 -07:00
2022-11-17 15:49:51 +00:00
2023-02-07 09:23:09 +01:00
2023-06-28 13:49:30 +01:00
2022-11-17 15:49:51 +00:00
2022-11-17 15:49:51 +00:00
2023-01-31 08:18:00 -08:00
2023-04-28 08:51:11 -07:00
2023-07-31 10:45:10 -04:00
2023-09-08 10:43:55 +02:00
2023-09-08 10:43:55 +02:00
2023-08-21 10:41:55 +09:00
2023-04-28 18:38:14 +00:00
2022-11-17 15:49:51 +00:00
2023-08-09 19:35:06 -04:00
2023-05-16 09:51:09 -07:00
2023-06-28 13:49:30 +01:00
2023-09-12 16:51:43 -04:00
2023-01-10 09:25:19 +01:00
2023-02-26 10:44:55 +01:00
2023-05-23 09:25:22 -03:00
2022-11-17 15:49:51 +00:00
2022-11-17 15:49:51 +00:00
2023-01-10 09:25:19 +01:00
2023-09-14 07:58:01 -07:00
2022-11-17 15:49:51 +00:00
2022-11-17 15:49:51 +00:00
2022-11-17 10:53:43 +01:00
2023-02-03 10:17:33 +01:00
2023-04-24 09:07:30 +02:00
2023-05-23 09:35:17 -07:00
2022-11-17 15:49:51 +00:00
2023-05-23 09:35:17 -07:00
2023-04-28 08:51:11 -07:00
2022-11-17 15:49:51 +00:00
2023-08-09 19:35:06 -04:00
2022-11-17 15:49:51 +00:00
2023-07-11 18:53:31 +01:00
2023-06-28 08:28:07 +02:00
2023-09-08 10:43:55 +02:00
2023-09-08 10:43:55 +02:00
2023-01-28 15:27:17 -08:00
2022-11-17 15:49:51 +00:00
2022-11-17 15:49:51 +00:00
2022-11-17 15:49:51 +00:00
2022-12-09 19:55:58 +00:00
2023-08-16 10:14:34 -07:00
2023-06-28 13:49:30 +01:00
2022-11-17 15:49:51 +00:00
2023-08-09 19:35:06 -04:00
2023-09-08 10:43:55 +02:00
2023-08-09 19:35:06 -04:00
2023-04-28 08:51:11 -07:00
2022-11-17 15:49:51 +00:00
2023-04-24 09:07:30 +02:00
2023-07-11 18:53:31 +01:00
2022-11-17 15:49:51 +00:00
2023-09-14 07:58:26 -07:00
2023-05-17 09:22:13 -07:00
2023-04-24 09:07:30 +02:00
2022-11-17 15:49:51 +00:00
2022-11-17 15:49:51 +00:00
2023-03-31 16:39:22 -07:00
2022-11-17 15:49:51 +00:00
2022-11-17 15:49:51 +00:00
2022-11-17 15:49:51 +00:00
2023-06-28 13:49:30 +01:00
2023-08-09 19:35:06 -04:00
2022-11-17 15:49:51 +00:00
2022-11-17 15:49:51 +00:00
2023-08-08 10:09:38 -07:00
2023-03-21 12:32:42 -07:00
2023-07-19 14:34:38 +01:00
2023-03-13 10:16:33 -07:00
2022-11-17 15:49:51 +00:00
2023-09-08 10:43:55 +02:00
2023-09-08 10:43:55 +02:00
2023-09-08 10:43:55 +02:00
2023-08-14 10:23:23 -03:00
2023-01-12 10:40:59 +00:00
2023-09-08 10:43:55 +02:00
2023-06-28 13:49:30 +01:00
2023-02-17 18:20:03 -08:00
2022-11-17 15:49:51 +00:00
2023-07-11 12:41:53 -07:00
2023-05-23 09:35:17 -07:00
2023-05-17 09:22:13 -07:00
2023-05-09 13:26:31 -07:00
2022-11-17 15:49:51 +00:00
2023-09-08 10:43:55 +02:00
2023-01-12 18:00:16 +01:00
2023-05-09 18:26:21 +02:00
2023-07-11 12:41:53 -07:00
2023-09-08 10:43:55 +02:00
2023-01-10 09:25:19 +01:00
2022-11-17 15:49:51 +00:00
2022-11-17 15:49:51 +00:00
2023-03-15 16:32:29 +01:00
2023-04-14 08:44:58 +02:00
2023-09-14 07:58:26 -07:00
2023-07-19 13:30:40 -07:00
2022-12-13 13:06:07 -08:00
2023-02-01 14:50:38 -08:00
2023-05-16 12:09:48 -07:00
2022-12-13 13:06:07 -08:00
2022-12-13 13:06:07 -08:00
2023-02-08 16:54:36 +01:00
2022-11-17 15:49:51 +00:00
2023-02-28 09:55:10 -08:00
2023-06-28 13:49:30 +01:00
2023-04-17 09:10:47 -07:00
2022-11-17 15:49:51 +00:00
2022-11-17 15:49:51 +00:00
2023-02-17 18:20:03 -08:00
2023-05-25 16:52:32 +00:00
2023-04-07 14:19:48 -07:00
2023-04-28 15:45:09 -07:00
2023-03-01 11:33:31 -08:00
2023-07-27 13:56:13 -07:00
2023-07-19 13:30:40 -07:00
2023-04-28 08:51:11 -07:00
2022-11-17 15:49:51 +00:00
2022-11-17 15:49:51 +00:00
2022-12-13 13:06:07 -08:00
2023-05-05 17:37:41 +01:00
2022-12-04 13:04:36 -08:00
2023-07-19 14:34:38 +01:00
2023-05-16 10:29:56 -07:00
2022-11-17 15:49:51 +00:00
2023-05-17 09:22:13 -07:00
2022-11-17 15:49:51 +00:00
2022-11-17 15:49:51 +00:00