diff options
author | Pranav Bhandarkar <pranav.bhandarkar@amd.com> | 2025-05-12 22:34:58 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-12 22:34:58 -0500 |
commit | 8a9e767fa690e0232db2cfa8576f53b48ae53f30 (patch) | |
tree | 10fc165ae2975fdf7b721cb63e4912c063c2a549 /llvm/lib/ProfileData/Coverage/CoverageMapping.cpp | |
parent | 6b111dfdb5a273525d1f6e8823518c07e4f37703 (diff) | |
download | llvm-8a9e767fa690e0232db2cfa8576f53b48ae53f30.zip llvm-8a9e767fa690e0232db2cfa8576f53b48ae53f30.tar.gz llvm-8a9e767fa690e0232db2cfa8576f53b48ae53f30.tar.bz2 |
[Flang][MLIR] - Handle the mapping of subroutine arguments when they are subsequently used inside the region of an `omp.target` Op (#134967)
This is a fix for https://github.com/llvm/llvm-project/issues/134912
which is a problem with mapping `fir.boxchar<k>` type values to the
target i.e an `omp.target` op.
There really are two problems. Fixing the first exposed the second. The
first problem is that OpenMP lowering of maps in `omp.target` in Flang
cannot handle the mapping of a value that doesnt have a defining
operation. In other words, a value that is a block argument. This is handled
by mapping the value using a `MapInfoOp`.
The second problem this fixes is that it adds bounds to `omp.map.info`
ops that map `fir.char<k, ?>` types by extracting the length from the
corresponding `fir.boxchar`
Diffstat (limited to 'llvm/lib/ProfileData/Coverage/CoverageMapping.cpp')
0 files changed, 0 insertions, 0 deletions