aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
diff options
context:
space:
mode:
authorjeanPerier <jperier@nvidia.com>2025-10-09 14:26:41 +0200
committerGitHub <noreply@github.com>2025-10-09 14:26:41 +0200
commit121026b186687ea00e5f792ea84d43b09597088a (patch)
tree653a17eea5c7819d2144af8b44a2de17f85d24b8 /llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
parent51db3c9bd4a20edd6c11e8f96304ebbbfcbadce0 (diff)
downloadllvm-121026b186687ea00e5f792ea84d43b09597088a.zip
llvm-121026b186687ea00e5f792ea84d43b09597088a.tar.gz
llvm-121026b186687ea00e5f792ea84d43b09597088a.tar.bz2
[flang][openacc] map data operand results to symbols inside compute region (#162306)
Variable references inside OpenACC compute and loop region were currently always lowered to usages of the same SSA values than in the host thread, even for variables that appear in data clauses and for which acc data operations are created. This makes it a non-trivial task to identify implicit data usages vs usage of data appearing in clauses because the SSA addresses used in the region may have a non-trivial SSA relationship with the SSA addresses used as inputs of the data operations, especially after CSE runs that may merge component or array element addressing operations with similar addressing on the host thread (fir.coordinate/hlfir.designate). This patch updates OpenACC lowering to remap the Symbol that appear in data clauses to the related acc data operation result for the scope of the compute or loop region. To allow FIR passes to reason about these addresses, a new hlfir.declare operation is created with the acc data operation result. This gives access to the shape, contiguity, attributes, and dummy argument relationships inside the region without having FIR extended to understand the data operations.
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp')
0 files changed, 0 insertions, 0 deletions