[all-commits] [llvm/llvm-project] 6f761a: [flang][OpenACC] Preserve DO CONCURRENT independen...

nvptm via All-commits all-commits at lists.llvm.org
Wed Sep 30 21:04:24 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6f761a90eb9e344ae9f7a1534e50400f964a97e3
      https://github.com/llvm/llvm-project/commit/6f761a90eb9e344ae9f7a1534e50400f964a97e3
  Author: nvptm <pmathew at nvidia.com>
  Date:   2026-09-30 (Wed, 30 Sep 2026)

  Changed paths:
    M clang/include/clang/Options/FlangOptions.td
    M flang/docs/OpenACC-extensions.md
    M flang/include/flang/Lower/LoweringOptions.def
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/test/Lower/OpenACC/acc-do-concurrent-locality.f90
    A flang/test/Lower/OpenACC/acc-kernels-do-concurrent-independent-flag.f90

  Log Message:
  -----------
  [flang][OpenACC] Preserve DO CONCURRENT independence in kernels loops (#227775)

`DO CONCURRENT` asserts that its iterations may execute independently.
When it is directly associated with a combined OpenACC `KERNELS LOOP`,
Flang currently lowers the loop as `auto`, unless an explicit `seq`,
`auto`, or `independent` clause is present. This patch adds a
default-enabled extension that preserves the `DO CONCURRENT`
independence assertion by lowering the loop as `independent`. This
behavior is OpenACC-conforming. Explicit loop parallelism clauses
continue to take precedence.

The extension can be disabled with:

`-fno-openacc-acc-kernels-do-concurrent-independent`

This patch also documents the extension and adds lowering tests for its
enabled and disabled behavior.



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