diff options
| author | Razvan Lupusoru <razvan.lupusoru@gmail.com> | 2025-10-22 13:49:54 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-22 13:49:54 -0700 |
| commit | 81a9d7528679b82625d27e4618b2388cab14cf79 (patch) | |
| tree | 95311415ef7eca9a34f7d48eeaf7d50c1e0ed478 /llvm/lib/CodeGen/CommandFlags.cpp | |
| parent | c1678e52f956f75f62d3240cf89d69c90b6505a4 (diff) | |
| download | llvm-81a9d7528679b82625d27e4618b2388cab14cf79.zip llvm-81a9d7528679b82625d27e4618b2388cab14cf79.tar.gz llvm-81a9d7528679b82625d27e4618b2388cab14cf79.tar.bz2 | |
[mlir][acc] Add mapping operation for firstprivate without counter (#164677)
The OpenACC data clause operation `acc.copyin` used for mapping
variables to device memory includes bookkeeping required by the OpenACC
spec for updating present counters. However, for firstprivate variables,
no counters should be updated since this clause creates a private copy
on the device initialized with the original value from the host (as
described in OpenACC 3.4 section 2.5.14: "the copy will be initialized
with the value of that item on the local thread").
This PR introduces the `acc.firstprivate_map` operation to capture these
mapping semantics without counter updates. A test is included
demonstrating how this operation can be used to initialize a
materialized private variable (represented by `memref.alloca` inside an
`acc.parallel` region).
Diffstat (limited to 'llvm/lib/CodeGen/CommandFlags.cpp')
0 files changed, 0 insertions, 0 deletions
