[all-commits] [llvm/llvm-project] 80bc02: [flang][OpenACC] Allocate bufferized recipe descri...

Slava Zakharin via All-commits all-commits at lists.llvm.org
Fri Sep 11 15:36:46 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 80bc02604c4ecec507c906552db3e03e5efdaee3
      https://github.com/llvm/llvm-project/commit/80bc02604c4ecec507c906552db3e03e5efdaee3
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-09-11 (Fri, 11 Sep 2026)

  Changed paths:
    M flang/include/flang/Optimizer/OpenACC/Passes.td
    M flang/lib/Optimizer/OpenACC/Transforms/ACCRecipeBufferization.cpp
    M flang/test/Fir/OpenACC/recipe-bufferization.mlir

  Log Message:
  -----------
  [flang][OpenACC] Allocate bufferized recipe descriptors in device memory (#223028)

ACCRecipeBufferization places the descriptor of a bufferized recipe
clause next to the variable it holds. When the clause sits inside a
compute construct and the variable is already produced by a data entry
operation, that memory is host memory no data clause maps, so device
code reading the descriptor through it gets a host address.

Place the descriptor in the construct region in that case. The region is
device memory and needs no data clause of its own, and the mapped
variable is a legal live-in since a data entry operation produces it.
The region entry block is used rather than the clause operation so that
a clause on a nested loop does not allocate on every iteration.

Assisted-by: Cursor



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