diff options
| author | jeanPerier <jperier@nvidia.com> | 2025-11-04 01:02:36 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-04 01:02:36 +0100 |
| commit | f7fff18ad09680056f028a99a961d4120063c55b (patch) | |
| tree | e26c5ffb8e3a246242190d439e1b03e17ea3e9f6 /llvm/tools/llvm-diff/lib | |
| parent | c77b614564c69c7e63363859bf9b37427614eabd (diff) | |
| download | llvm-f7fff18ad09680056f028a99a961d4120063c55b.zip llvm-f7fff18ad09680056f028a99a961d4120063c55b.tar.gz llvm-f7fff18ad09680056f028a99a961d4120063c55b.tar.bz2 | |
[mlir][OpenACC] add unstructured attributes for acc.loop with early exits (#164990)
"!$acc loop" directive may be placed above loops with early exits.
Currently flang lowers loop with early exits to explicit control flow
(this may be revisited when MLIR allows early exits in structured
region). The acc loop directive cannot simply be ignored in such case in
lowering because it may hold data clauses that should be applied when
reaching that point.
This patch adds an "unstructured" attribute to acc.loop to support that
case.
An acc.loop with such attributes may hold data operands but must have no
controls. It is expected that the loop logic is implemented in its body
in a way that the acc dialect may not understand.
Such acc.loop is just a container and the loop with early exit will be
executed sequentially.
Diffstat (limited to 'llvm/tools/llvm-diff/lib')
0 files changed, 0 insertions, 0 deletions
