This is an archive of the discontinued LLVM Phabricator instance.

[flang] Pointer assignment with remapping involcing polymorphic entities
ClosedPublic

Authored by clementval on Dec 2 2022, 6:49 AM.

Details

Summary

Lower pointer assignment with remapping involving polymorphic entities
to runtime call to PointerAssociateRemapping.
For the time being all pointer assignment involcing polymorphic entities are
done with the runtime call. When lhs is not unlimited polymorphic
we might be able to do it inlined as well.

Diff Detail

Event Timeline

clementval created this revision.Dec 2 2022, 6:49 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptDec 2 2022, 6:49 AM
Herald added a subscriber: mehdi_amini. · View Herald Transcript
clementval requested review of this revision.Dec 2 2022, 6:49 AM
jeanPerier accepted this revision.Dec 2 2022, 7:07 AM

Small nits, LGTM otherwise.

flang/lib/Lower/Bridge.cpp
2802

You can remove the "may" from the comment if they are indeed getting a special treatment here.

2808

You may want to leave a TODO for the unlikely case where this happens in a FORALL (explicitIterationSpace()) and overlaps between the RHSs and LHSs needs to be taken into account.

This revision is now accepted and ready to land.Dec 2 2022, 7:07 AM
PeteSteinfeld accepted this revision.Dec 2 2022, 7:54 AM

All builds and tests correctly and looks good.

Add TODO for FORALL

This revision was landed with ongoing or failed builds.Dec 5 2022, 12:36 AM
This revision was automatically updated to reflect the committed changes.