[flang-commits] [mlir] [llvm] [flang] [flang][mlir][OpenMP] Add support for COPYPRIVATE (PR #73128)

Leandro Lupori via flang-commits flang-commits at lists.llvm.org
Wed Jan 17 04:56:53 PST 2024


luporl wrote:

The problem is that vla/assumed-shape arrays become `!fir.box<!fir.array<?xTYPE>>` and `!fir.box` is not accepted by the `omp` dialect (at least not by `OpenMP_PointerLikeType`).
Modifying `OpenMP.cpp` to also pass boxes to `copyprivate` results in the following error:
`'omp.single' op operand #0 must be variadic of OpenMP-compatible variable type, but got '!fir.box<!fir.array<?xi32>>'`

Is there a way to get the address of a box, to make it become a `!fir.ref<!fir.box<!fir.array<?xTYPE>>>`?
`fir.box_addr` returns only the boxed value, without the other parameters needed to perform the copy.

https://github.com/llvm/llvm-project/pull/73128


More information about the flang-commits mailing list