Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6 |
|
#
bfc2dbe0 |
| 16-Dec-2024 |
erichkeane <ekeane@nvidia.com> |
[OpenACC] Implement data construct 'at least 1 of ... clauses' rule
All 4 of the 'data' constructs have a requirement that at least 1 of a small list of clauses must appear on the construct. This p
[OpenACC] Implement data construct 'at least 1 of ... clauses' rule
All 4 of the 'data' constructs have a requirement that at least 1 of a small list of clauses must appear on the construct. This patch implements that restriction, and updates all of the tests it takes to do so.
show more ...
|
#
fbb14dd9 |
| 16-Dec-2024 |
erichkeane <ekeane@nvidia.com> |
[OpenACC] Implement 'use_device' clause AST/Sema
This is a clause that is only valid on 'host_data' constructs, and identifies variables which it should use the current device address. From a Sema p
[OpenACC] Implement 'use_device' clause AST/Sema
This is a clause that is only valid on 'host_data' constructs, and identifies variables which it should use the current device address. From a Sema perspective, the only thing novel here is mild changes to how ActOnVar works for this clause, else this is very much like the rest of the 'var-list' clauses.
show more ...
|
#
1ab81f8e |
| 16-Dec-2024 |
erichkeane <ekeane@nvidia.com> |
[OpenACC] Implement 'delete' AST/Sema for 'exit data' construct
'delete' is another clause that has very little compile-time implication, but needs a full AST that takes a var list. This patch ipml
[OpenACC] Implement 'delete' AST/Sema for 'exit data' construct
'delete' is another clause that has very little compile-time implication, but needs a full AST that takes a var list. This patch ipmlements it fully, plus adds sufficient test coverage.
show more ...
|
#
3351b3bf |
| 13-Dec-2024 |
erichkeane <ekeane@nvidia.com> |
[OpenACC] implement 'detach' clause sema
This is another new clause specific to 'exit data' that takes a pointer argument. This patch implements this the same way we do a few other clauses (like att
[OpenACC] implement 'detach' clause sema
This is another new clause specific to 'exit data' that takes a pointer argument. This patch implements this the same way we do a few other clauses (like attach) that have the same restrictions.
show more ...
|
#
2244d2e7 |
| 13-Dec-2024 |
erichkeane <ekeane@nvidia.com> |
[OpenACC] Implement 'if_present' clause sema
The 'if_present' clause controls the replacement of addresses in the var-list in current device memory. This clause can only go on 'host_device'. From
[OpenACC] Implement 'if_present' clause sema
The 'if_present' clause controls the replacement of addresses in the var-list in current device memory. This clause can only go on 'host_device'. From a Sema perspective, there isn't anything to do beyond add this to AST and pass it on.
show more ...
|
#
003eb5e8 |
| 13-Dec-2024 |
erichkeane <ekeane@nvidia.com> |
[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 applie
[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.
show more ...
|
#
6d69d184 |
| 13-Dec-2024 |
erichkeane <ekeane@nvidia.com> |
[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
[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.
show more ...
|
#
754499c1 |
| 13-Dec-2024 |
erichkeane <ekeane@nvidia.com> |
[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.
|
#
331f3cc9 |
| 13-Dec-2024 |
erichkeane <ekeane@nvidia.com> |
[OpenACC] enable 'present' clause for 'data' construct
No additional sema is required once again, so this patch adds testing and enables the clause.
|
#
1da0730b |
| 13-Dec-2024 |
erichkeane <ekeane@nvidia.com> |
[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.
|
#
b2b1eec2 |
| 13-Dec-2024 |
erichkeane <ekeane@nvidia.com> |
[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.
|
#
50488088 |
| 12-Dec-2024 |
erichkeane <ekeane@nvidia.com> |
[OpenACC] Implement 'default' Sema for 'data' clause
No additional rules here beyond enabling it, this patch just enables 'default' and adds tests.
|
#
afcb7d4a |
| 12-Dec-2024 |
erichkeane <ekeane@nvidia.com> |
[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
[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.
show more ...
|
#
f0f8434a |
| 12-Dec-2024 |
erichkeane <ekeane@nvidia.com> |
[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.
|
#
6cfad635 |
| 12-Dec-2024 |
erichkeane <ekeane@nvidia.com> |
[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.
|
#
8eec301f |
| 12-Dec-2024 |
erichkeane <ekeane@nvidia.com> |
[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 afte
[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.
show more ...
|
#
010d0115 |
| 10-Dec-2024 |
erichkeane <ekeane@nvidia.com> |
[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 th
[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.
show more ...
|