Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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.