[all-commits] [llvm/llvm-project] 37f7a6: Fix dynamic metadirective candidate selection

Chi-Chun, Chen via All-commits all-commits at lists.llvm.org
Wed Jul 29 11:09:19 PDT 2026


  Branch: refs/heads/users/cchen/flang-metadirective-loop-core
  Home:   https://github.com/llvm/llvm-project
  Commit: 37f7a62df45bf21b9706e5b5b4651061cf235a25
      https://github.com/llvm/llvm-project/commit/37f7a62df45bf21b9706e5b5b4651061cf235a25
  Author: Chi-Chun, Chen <chichun.chen at hpe.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Semantics/check-omp-variant.cpp
    M flang/lib/Semantics/openmp-utils.cpp
    M flang/test/Lower/OpenMP/metadirective-implementation.f90
    M flang/test/Lower/OpenMP/metadirective-loop.f90
    M flang/test/Lower/OpenMP/metadirective-user.f90
    M flang/test/Semantics/OpenMP/metadirective-loop-nest.f90

  Log Message:
  -----------
  Fix dynamic metadirective candidate selection

Prune lower-ranked candidates guarded by the same dynamic condition from
semantic reachability analysis and lowering. Preserve condition scores for
implicit NOTHING variants so score remains the primary ordering criterion.


  Commit: 8e9410f7580d30bb6bbcd1f0376245c691b47603
      https://github.com/llvm/llvm-project/commit/8e9410f7580d30bb6bbcd1f0376245c691b47603
  Author: Chi-Chun, Chen <chichun.chen at hpe.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/check-omp-variant.cpp
    M flang/test/Semantics/OpenMP/metadirective-loop-nest.f90

  Log Message:
  -----------
  Track nested metadirective construct contexts

- Carry reachable replacement traits from enclosing metadirectives and
  interleave them with source constructs in nesting order.

- Union candidate reachability across dynamic outer contexts while
  pruning candidates that are shadowed independently of those contexts.

- Retain invariant dynamic-condition constraints with each construct
  alternative so mutually exclusive runtime paths are not combined.


  Commit: 5bc33219d4a72de6e8acf14e10afa24e0def2489
      https://github.com/llvm/llvm-project/commit/5bc33219d4a72de6e8acf14e10afa24e0def2489
  Author: Chi-Chun, Chen <chichun.chen at hpe.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/check-omp-variant.cpp
    A flang/test/Semantics/OpenMP/metadirective-loop-openacc-interruption.f90

  Log Message:
  -----------
  Diagnose interrupted metadirective loop associations

Treat OpenACC declarative and routine directives like OpenMP declarative
directives when they occur between a loop-associated metadirective and its
expected loop. Diagnose the missing associated loop while preserving pending
variants from enclosing scopes.


  Commit: cbfcc8420a9590500f8a3b4338489f497c9c17b1
      https://github.com/llvm/llvm-project/commit/cbfcc8420a9590500f8a3b4338489f497c9c17b1
  Author: Chi-Chun, Chen <chichun.chen at hpe.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/test/Lower/OpenMP/Todo/metadirective-block-eager-default-private.f90
    A flang/test/Lower/OpenMP/Todo/metadirective-block-eager-privatization.f90
    A flang/test/Lower/OpenMP/metadirective-block-eager-shared.f90

  Log Message:
  -----------
  Guard eager metadirective privatization

Reject block variants whose private or firstprivate data sharing requires
variant-local host associations when delayed privatization is disabled.
Allow default(shared), which does not require those associations.


Compare: https://github.com/llvm/llvm-project/compare/0508f49423ee...cbfcc8420a95

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