Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1 |
|
#
ebf13086 |
| 20-Sep-2024 |
erichkeane <ekeane@nvidia.com> |
[OpenACC] Ensure clause expressions side-effects don't happen
The OpenACC standard says side-effects/ordering of expressions in clauses and constructs (not yet, but PR for constructs) cannot be depe
[OpenACC] Ensure clause expressions side-effects don't happen
The OpenACC standard says side-effects/ordering of expressions in clauses and constructs (not yet, but PR for constructs) cannot be depended on. We already had infrastructure to ensure constructs, and non-template clauses did this right, but we had the ordering of a call vs transform of the clauses happened in tree transform.
This patch ensures that the evaluation context put together for the construct covers the clauses as well in tree transform.
show more ...
|
Revision tags: llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6 |
|
#
b1b46521 |
| 07-May-2024 |
erichkeane <ekeane@nvidia.com> |
[OpenACC] 'wait' clause for compute construct sema
'wait' takes a few int-exprs (well, a series of async-arguments, but those are effectively just an int-expr), plus a pair of tags. This patch a
[OpenACC] 'wait' clause for compute construct sema
'wait' takes a few int-exprs (well, a series of async-arguments, but those are effectively just an int-expr), plus a pair of tags. This patch adds the support for this to the AST, and does the appropriate semantic analysis for them.
show more ...
|
#
30cfe2b2 |
| 06-May-2024 |
erichkeane <ekeane@nvidia.com> |
[OpenACC] Implement 'async' clause sema for compute constructs
This is a pretty simple clause, it takes an 'async-argument', which effectively needs to be just parsed as an 'int' argument, since it
[OpenACC] Implement 'async' clause sema for compute constructs
This is a pretty simple clause, it takes an 'async-argument', which effectively needs to be just parsed as an 'int' argument, since it can be an arbitrarly integer at runtime (and negative values are legal for implementation defined values).
This patch also cleans up the async-argument parsing, so 'wait' got some minor quality-of-life improvements for parsing (both clause and construct).
show more ...
|
Revision tags: llvmorg-18.1.5 |
|
#
dc20a0ea |
| 22-Apr-2024 |
Erich Keane <ekeane@nvidia.com> |
[OpenACC] Implement 'num_gangs' sema for compute constructs (#89460)
num_gangs takes an 'int-expr-list', for 'parallel', and an 'int-expr'
for 'kernels'. This patch changes the parsing to always pa
[OpenACC] Implement 'num_gangs' sema for compute constructs (#89460)
num_gangs takes an 'int-expr-list', for 'parallel', and an 'int-expr'
for 'kernels'. This patch changes the parsing to always parse it as an
'int-expr-list', then correct the expression count during Sema. It also
implements the rest of the semantic analysis changes for this clause.
show more ...
|
#
b8adf169 |
| 18-Apr-2024 |
Erich Keane <ekeane@nvidia.com> |
[OpenACC] Implement 'vector_length' clause On compute constructs
The 'vector_length' clause is semantically identical to the 'num_workers' clause, in that it takes a mandatory single int-expr. This
[OpenACC] Implement 'vector_length' clause On compute constructs
The 'vector_length' clause is semantically identical to the 'num_workers' clause, in that it takes a mandatory single int-expr. This is implemented identically to it.
show more ...
|
#
76600aee |
| 18-Apr-2024 |
Erich Keane <ekeane@nvidia.com> |
[OpenACC] Implement 'num_workers' clause for compute constructs (#89151)
This clause just takes an 'int expr', which is not optional. This patch
implements the clause on compute constructs.
|