12 Commits

Author SHA1 Message Date
erichkeane
003eb5e80d [OpenACC] Implement 'finalize' clause sema
This is a very simple clause as far as sema is concerned.  It is only
valid on 'exit data', and doesn't have any rules involving it, so it is
simply applied and passed onto the MLIR.
2024-12-13 10:41:02 -08:00
erichkeane
6d69d18437 [OpenACC] enable 'attach' clause sema for 'data' and 'enter data'
This is very similar to deviceptr, and is the same implementation as for
combined/compute constructs, so this just enables that, and adds tests.
2024-12-13 09:24:20 -08:00
erichkeane
754499c1e9 [OpenACC] Enable 'deviceptr' clause sema on data construct
Another simple implementation, as it uses the same work as the previous
implementation, just enabling it for this construct.
2024-12-13 08:38:55 -08:00
erichkeane
331f3cc94b [OpenACC] enable 'present' clause for 'data' construct
No additional sema is required once again, so this patch adds testing
and enables the clause.
2024-12-13 08:11:28 -08:00
erichkeane
1da0730ba5 [OpenACC] enable 'copyout' clause sema for data constructs
Same as the previous few, this just enables copyout for data constructs
and ensures we have sufficient test coverage.
2024-12-13 07:50:29 -08:00
erichkeane
b2b1eec2b2 [OpenACC] enable 'copyin' clause sema for 'data'/'enter data'
stop reporting 'copyin' as not implemented on a data/enter data
construct, and enforce sema rules.
2024-12-13 07:31:18 -08:00
erichkeane
5048808859 [OpenACC] Implement 'default' Sema for 'data' clause
No additional rules here beyond enabling it, this patch just enables
'default' and adds tests.
2024-12-12 12:54:02 -08:00
erichkeane
afcb7d4a2e [OpenACC] Implement 'wait' sema for data constructs
This is once again simply enabling this for 'data', 'enter data', and
'exit data' (and ensuring we error for 'host_data').  Implementation is
very simply to enable it rather than emit the not-implemented
diagnostic.
2024-12-12 12:16:20 -08:00
erichkeane
f0f8434afa [OpenACC] Implement sema for 'async' on 'data' constructs
This also is a clause that doesn't have any special rules, so this patch
enables it and adds tests.
2024-12-12 10:55:27 -08:00
erichkeane
6cfad635d5 [OpenACC] Implement 'if' clause sema for 'data' constructs
This is another one that has no additional sema work other than enabling
it, so this patch does just that.
2024-12-12 09:59:09 -08:00
erichkeane
8eec301fe3 [OpenACC] Implement 'device_type' for 'data' construct
Semantically this is identical to all other constructs with this tag,
except in this case the 'wait' and 'async' are the only ones allowed
after it. This patch implements that rule using the existing
infrastructure.
2024-12-12 08:37:20 -08:00
erichkeane
010d0115fc [OpenACC] Create AST nodes for 'data' constructs
These constructs are all very similar and closely related, so this patch
creates the AST nodes for them, serialization, printing/etc.
Additionally the restrictions are all added as tests/todos in the tests,
as those will have to be implemented once we get those clauses implemented.
2024-12-12 07:28:30 -08:00