[all-commits] [llvm/llvm-project] 9beec1: [flang] Let a directive keep the loop it owns when...
Kareem Ergawy via All-commits
all-commits at lists.llvm.org
Tue Sep 29 22:12:56 PDT 2026
Branch: refs/heads/users/ergawy/acc-directive-owns-loop
Home: https://github.com/llvm/llvm-project
Commit: 9beec1b777e8182d2f65e1f15381eddb1890885f
https://github.com/llvm/llvm-project/commit/9beec1b777e8182d2f65e1f15381eddb1890885f
Author: ergawy <kareem.ergawy at gmail.com>
Date: 2026-09-29 (Tue, 29 Sep 2026)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/PFTBuilder.cpp
R flang/test/Lower/OpenACC/Todo/acc-unstructured-combined-construct.f90
M flang/test/Lower/OpenACC/Todo/acc-unstructured-loop-construct.f90
A flang/test/Lower/OpenACC/acc-directive-loop-bounds.f90
A flang/test/Lower/OpenACC/acc-unstructured-combined-construct.f90
M flang/test/Lower/OpenACC/acc-unstructured-internals.f90
A flang/test/Lower/OpenACC/acc-unstructured-loop-construct.f90
M flang/test/Lower/OpenACC/acc-unstructured.f90
A flang/test/Lower/OpenMP/wsloop-directive-loop-bounds.f90
Log Message:
-----------
[flang] Let a directive keep the loop it owns when its body branches
A loop whose branching is confined to its body keeps its structured form,
but the construct holding it stayed unstructured. A directive does not
merely contain such a loop, it owns it, and its lowering reads the
construct's own classification to decide whether the loop op carries its
bounds. The directive was left with a bounds-free loop that nothing could
partition, and the loop it owns became a second one nested inside.
Reclassify a directive construct once the loops it holds no longer need it
to stay unstructured, and fold the body of the loop it takes over into a
region, which the DO lowering can no longer do for it.
A construct whose branching leaves it is untouched, as is one holding a
branch of its own.
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