[all-commits] [llvm/llvm-project] 1476d8: [flang][OpenMP] Support loop-associated metadirect...
Chi-Chun, Chen via All-commits
all-commits at lists.llvm.org
Wed Jun 3 21:14:59 PDT 2026
Branch: refs/heads/users/cchen/flang-metadirective-loop
Home: https://github.com/llvm/llvm-project
Commit: 1476d8bcd29956b03560e79d950e871963fe7259
https://github.com/llvm/llvm-project/commit/1476d8bcd29956b03560e79d950e871963fe7259
Author: Chi Chun, Chen <chichun.chen at hpe.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
R flang/test/Lower/OpenMP/Todo/metadirective-loop.f90
A flang/test/Lower/OpenMP/Todo/metadirective-no-loop.f90
A flang/test/Lower/OpenMP/Todo/metadirective-target-loop.f90
A flang/test/Lower/OpenMP/metadirective-loop.f90
Log Message:
-----------
[flang][OpenMP] Support loop-associated metadirective variants (part 3)
Enable metadirective lowering for loop-associated variants such as
`do`, `simd`, `parallel do`, and `do simd`.
When a metadirective resolves to a loop-associated directive, the
sibling DO evaluation is spliced into the metadirective's evaluation
list so existing loop lowering finds it. Loop IV data-sharing
attributes are marked at lowering time since semantic analysis cannot
know which variant will be selected. The DataSharingProcessor is also
extended to handle spliced evaluations.
This patch is part of the feature work for #188820 and stacked on top
of #194424.
Assisted with copilot and GPT-5.4
Commit: 9e7053b4300b50d30d9e1c012ac6d0d67c69e7f7
https://github.com/llvm/llvm-project/commit/9e7053b4300b50d30d9e1c012ac6d0d67c69e7f7
Author: chichunchen <chichunchen844 at gmail.com>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/metadirective-loop.f90
Log Message:
-----------
Fix metadirective loop variant lowering
Preserve the associated DO evaluation when a dynamic metadirective can
select either a loop-associated directive or a standalone fallback, so
the fallback still lowers the original loop body.
Scope temporary loop-IV data-sharing attributes to the selected variant.
Use the selected variant's collapse clause to determine how many loop IVs
to mark, avoiding DSA state leaking between alternatives.
Compare: https://github.com/llvm/llvm-project/compare/438b803d44a3...9e7053b4300b
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