[all-commits] [llvm/llvm-project] 5e7ab8: [OpenACC][flang] Emit NYI when unstructured loops ...
Kareem Ergawy via All-commits
all-commits at lists.llvm.org
Thu Jun 11 02:27:55 PDT 2026
Branch: refs/heads/users/ergawy/nyi-unstructured-loop
Home: https://github.com/llvm/llvm-project
Commit: 5e7ab8f7def477214ca63ad27c95a5dd17c32c91
https://github.com/llvm/llvm-project/commit/5e7ab8f7def477214ca63ad27c95a5dd17c32c91
Author: ergawy <kareem.ergawy at gmail.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
A flang/test/Lower/OpenACC/Todo/acc-unstructured-combined-construct.f90
A flang/test/Lower/OpenACC/Todo/acc-unstructured-loop-construct.f90
M flang/test/Lower/OpenACC/acc-cache.f90
R flang/test/Lower/OpenACC/acc-loop-exit.f90
M flang/test/Lower/OpenACC/acc-unstructured.f90
Log Message:
-----------
[OpenACC][flang] Emit NYI when unstructured loops are associated with OpenACC directives
When an unstructured loop is associated with a loop or a combined
directive, we emit an unstructured CFG for the loop's logic nested
within the OpenACC op. This effectively serializes the nested loop on
the device which is not desirable. For now, emit NYI's while working on
a longer-term solution.
The NYI is restricted to the cases where the loop will be lowered with
`independent` parallelism semantics for the default device_type -- i.e.,
the user has explicitly promised the loop is parallel. This covers:
- combined `acc parallel loop`,
- standalone `acc loop` inside `acc parallel`,
- orphan `acc loop` inside a non-`seq` acc routine,
- explicit `independent` clause.
For `auto` (`acc kernels loop` and `acc loop` inside `acc kernels`) and
for `seq` (`acc serial loop`, `acc loop` inside `acc serial`, explicit
`seq`, or orphan inside a `seq` routine), the user has not made a
parallelism guarantee, so falling back to unstructured CFG inside the
acc.loop is acceptable and not silently incorrect.
Co-author: Claude Opus 4.7
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list