[all-commits] [llvm/llvm-project] cd2277: [flang][OpenMP] Support loop-associated metadirect...

Chi-Chun, Chen via All-commits all-commits at lists.llvm.org
Fri May 1 13:03:26 PDT 2026


  Branch: refs/heads/users/cchen/flang-metadirective-loop
  Home:   https://github.com/llvm/llvm-project
  Commit: cd2277b3b7b0dae01ddbc226d1c5ad6088d5bfe7
      https://github.com/llvm/llvm-project/commit/cd2277b3b7b0dae01ddbc226d1c5ad6088d5bfe7
  Author: Chi Chun, Chen <chichun.chen at hpe.com>
  Date:   2026-05-01 (Fri, 01 May 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

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 extended to handle spliced evaluations:
the symbol visitor walks nested parse trees, symbol collection
includes nested evaluations, scope resolution walks ancestor scopes,
and lastprivate copy-back handles symbols without HostAssocDetails.

Not yet supported:
- Target constructs selected by metadirective (requires host-eval)



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