llvm-project
fbde1dcf - [flang][OpenACC] do not load pointer and allocatables component in data clauses (#171445)

Commit
68 days ago
[flang][OpenACC] do not load pointer and allocatables component in data clauses (#171445) `gatherDataOperandAddrAndBounds` did not handle pointers and allocatable pointer components (`obj%p`) in the same way as pointer and allocatable whole objects (`p`). The difference is that whole object are kept as a descriptor address (`fir.ref<fir.box>`) in the acc data operation while components were dereferenced (`fir.box<>`). I do not think this was intentional, and is mainly a side effect of the `genExprAddr` for components that generate a dereference for pointer/allocatables. In the work that I am doing on remapping components, this is an issue because the data operation must return a fir.ref<fir.box> so that I can remap any appearance to the component to it (which could be in a pointer association statement for instance, requiring access to a descriptor address as opposed to a value).
Author
Parents
Loading