aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/TextAPI/PackedVersion.cpp
diff options
context:
space:
mode:
authorSlava Zakharin <szakharin@nvidia.com>2023-09-07 11:41:22 -0700
committerGitHub <noreply@github.com>2023-09-07 11:41:22 -0700
commitf8843efbb2190db85c696001ffd6211a2c20ac37 (patch)
tree9ff62554e07a27c25115857f18c0d35eecd9f33d /llvm/lib/TextAPI/PackedVersion.cpp
parent88359213ee499ed2cc02c4bf0dba7b5e9af37ff6 (diff)
downloadllvm-f8843efbb2190db85c696001ffd6211a2c20ac37.zip
llvm-f8843efbb2190db85c696001ffd6211a2c20ac37.tar.gz
llvm-f8843efbb2190db85c696001ffd6211a2c20ac37.tar.bz2
[flang][hlfir] Lower Cray pointee references. (#65563)
A Cray pointee reference must be done using the characteristics (bounds, type params) of the original pointee declaration, but using the actual address value of the associated Cray pointer. There might be multiple Cray pointees associated with the same Cray pointer. The proposed solution is to lower each Cray pointee into a POINTER variable with a descriptor. The descriptor is initialized at the point of declaration of the pointee, though its base_addr is set to null. Before each reference of the Cray pointee its descriptor's base_addr is updated to the current value of the Cray pointer. The update of the base_addr is done using PointerAssociateScalar runtime call, which just updates the base_addr of the descriptor. This is a temporary solution just to make Cray pointers work to the same extent they work with FIR lowering.
Diffstat (limited to 'llvm/lib/TextAPI/PackedVersion.cpp')
0 files changed, 0 insertions, 0 deletions