aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/ELFObjectFile.cpp
diff options
context:
space:
mode:
authoragozillon <Andrew.Gozillon@amd.com>2025-01-29 17:51:33 +0100
committerGitHub <noreply@github.com>2025-01-29 17:51:33 +0100
commite0054e984cac39322afa32a6e68fc794f0081f49 (patch)
tree09c38c492b9ba4f5460495fbc9312100862c9080 /llvm/lib/Object/ELFObjectFile.cpp
parent67752f61917994e4daa6f5d30e39e237c26a73de (diff)
downloadllvm-e0054e984cac39322afa32a6e68fc794f0081f49.zip
llvm-e0054e984cac39322afa32a6e68fc794f0081f49.tar.gz
llvm-e0054e984cac39322afa32a6e68fc794f0081f49.tar.bz2
[MLIR][OpenMP] Emit nullary check for mapped pointer members and appropriate size select based on results (#124604)
This PR aims to fix a mapping error when trying to map nullary elements of a record type (primary example is allocatables/pointer types in Fortran at the moment). This should be legal to map, just not write to without pointing to anything within the target region. A common Fortran OpenMP idiom/example where this is useful can be found in the added Fortran offload example. The runtime error arises when we try to map the pointer member utilising a prescribed constant size that we receive from the lowered type, resulting in mapping of data that will be non-existent when there is no allocated data. The fix in this case is to emit a runtime check to see if the data has been allocated, if it hasn't been we select a size of 0, if it has we emit the usual type size.
Diffstat (limited to 'llvm/lib/Object/ELFObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions