aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/CommandFlags.cpp
diff options
context:
space:
mode:
authorRazvan Lupusoru <razvan.lupusoru@gmail.com>2025-10-22 13:49:54 -0700
committerGitHub <noreply@github.com>2025-10-22 13:49:54 -0700
commit81a9d7528679b82625d27e4618b2388cab14cf79 (patch)
tree95311415ef7eca9a34f7d48eeaf7d50c1e0ed478 /llvm/lib/CodeGen/CommandFlags.cpp
parentc1678e52f956f75f62d3240cf89d69c90b6505a4 (diff)
downloadllvm-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