agozillon
e0054e984c
[MLIR][OpenMP] Emit nullary check for mapped pointer members and appropriate size select based on results ( #124604 )
...
This PR aims to fix a mapping error when trying to map nullary elements
of a record type (primary example is allocatables/pointer types in
Fortran at the moment). This should be legal to map, just not write to
without pointing to anything within the target region. A common Fortran
OpenMP idiom/example where this is useful can be found in the added
Fortran offload example.
The runtime error arises when we try to map the pointer member utilising
a prescribed constant size that we receive from the lowered type,
resulting in mapping of data that will be non-existent when there is no
allocated data. The fix in this case is to emit a runtime check to see
if the data has been allocated, if it hasn't been we select a size of 0,
if it has we emit the usual type size.
2025-01-29 17:51:33 +01:00
..
2024-09-03 14:25:33 +02:00
2025-01-29 17:51:33 +01:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-06-29 00:56:18 -05:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-06-29 00:56:18 -05:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-08-13 11:23:55 -05:00
2024-08-13 11:23:55 -05:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-08-13 14:41:26 -07:00
2024-08-13 14:41:26 -07:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-07-23 09:02:47 -07:00
2024-04-22 09:51:33 -07:00
2024-06-29 00:56:18 -05:00
2024-09-03 14:25:33 +02:00
2024-09-03 14:25:33 +02:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-09-03 14:25:33 +02:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-12-06 09:07:50 -05:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-07-10 10:51:47 -04:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-11-25 07:38:28 -06:00
2024-12-06 09:07:50 -05:00
2024-11-25 07:38:28 -06:00
2024-12-06 09:07:50 -05:00
2024-06-29 00:56:18 -05:00
2024-06-29 00:56:18 -05:00
2024-06-29 00:56:18 -05:00
2024-06-29 00:56:18 -05:00
2024-06-29 00:56:18 -05:00
2024-06-29 00:56:18 -05:00
2025-01-14 15:46:27 -05:00
2025-01-28 07:26:13 -06:00
2024-04-22 09:51:33 -07:00
2024-09-03 14:25:33 +02:00
2024-04-22 09:51:33 -07:00
2024-12-06 09:07:50 -05:00
2024-12-06 09:07:50 -05:00
2024-06-29 00:56:18 -05:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-06-29 00:56:18 -05:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-06-29 00:56:18 -05:00
2024-04-22 09:51:33 -07:00
2024-06-29 00:56:18 -05:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-04-22 09:51:33 -07:00
2024-06-29 00:56:18 -05:00
2024-04-22 09:51:33 -07:00