[all-commits] [llvm/llvm-project] c34bd4: [flang][OpenACC] Don't emit unstructured-loop TODO...
Kareem Ergawy via All-commits
all-commits at lists.llvm.org
Wed Sep 9 01:13:08 PDT 2026
Branch: refs/heads/users/ergawy/acc-kernels-wrappable-unstructured-loop
Home: https://github.com/llvm/llvm-project
Commit: c34bd4162044b4104312cc7b0c25d029c99d5049
https://github.com/llvm/llvm-project/commit/c34bd4162044b4104312cc7b0c25d029c99d5049
Author: ergawy <kareem.ergawy at gmail.com>
Date: 2026-09-09 (Wed, 09 Sep 2026)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/test/Lower/OpenACC/Todo/do-loops-to-acc-loops-todo.f90
M flang/test/Lower/OpenACC/acc-unstructured.f90
Log Message:
-----------
[flang][OpenACC] Don't emit unstructured-loop TODO for wrappable loops
`genOpenACCLoopFromDoConstruct` raised an NYI for any unstructured DO inside `acc kernels`. That check ran before the wrapping in `genFIR(DoConstruct)`, so a loop whose CFG is self-contained aborted lowering even though the fall-back path would have wrapped it in an `scf.execute_region`.
Skip the TODO when `isWrappableConstruct()` accepts the loop. Such a loop is not attached to a directive; it is only nested inside the kernels region.
Correspondingly, a DO loop sitting directly in an `acc kernels` body is no longer wrappable, since it is the loop the directive parallelizes and hiding its CFG would leave the kernels region with nothing to partition.
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