Add lowering support for derived type component appearing
in a data clause to the newly added data operand operations.
Depends on D149297
Paths
| Differential D149385
[flang][openacc] Add basic support for derived type component in data operand ClosedPublic Authored by clementval on Apr 27 2023, 2:53 PM.
Details Summary Add lowering support for derived type component appearing Depends on D149297
Diff Detail
Event TimelineHerald added projects: Restricted Project, Restricted Project. · View Herald TranscriptApr 27 2023, 2:53 PM jeanPerier added inline comments.
This revision is now accepted and ready to land.Apr 28 2023, 6:48 AM clementval added inline comments.
Comment Actions Thank you Valentin for the implementation and the detailed tests. The IR looks as expected. This revision was landed with ongoing or failed builds.May 1 2023, 4:16 PM Closed by commit rG2a333e9104c8: [flang][openacc] Add basic support for derived type component in data operand (authored by clementval). · Explain Why This revision was automatically updated to reflect the committed changes. Comment Actions Looks good. varPtrPtr is not absolutely vital since FIR can be walked to find all struct parents - it is not as opaque as LLVM's GEP.
Revision Contents
Diff 517749 flang/lib/Lower/OpenACC.cpp
flang/test/Lower/OpenACC/acc-enter-data.f90
|
HLFIR will break this pattern recognition. But I do not have better suggestion with the current lowering. When HLFIR is default, we may want to expose an interface that returns the hlfir.designate chain as a list (SmallVector<std::pair<Value, Component>>) given a designator so that no assumptions have to be made here.
Can you add a TODO is this code fails to find a value (it seems all the callers expect a non null value, but I am not sure what is your intention here)?