This is an archive of the discontinued LLVM Phabricator instance.

[flang] Carry dynamic type when emboxing polymorphic pointer
ClosedPublic

Authored by clementval on Oct 27 2022, 1:57 AM.

Details

Summary

In order to be passed as passed-object in the dynamic dispatch, the
polymorphic pointer entity are emboxed. In this process, the dynamic
type must be preserve and pass to fir.embox as the tdesc operand. This
patch introduce a new ExtendedValue that allow to carry over the
dynamic type when the value is unboxed.

Depends on D136820

Diff Detail

Event Timeline

clementval created this revision.Oct 27 2022, 1:57 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptOct 27 2022, 1:57 AM
Herald added a subscriber: mehdi_amini. · View Herald Transcript
clementval requested review of this revision.Oct 27 2022, 1:57 AM

clang-format

PeteSteinfeld accepted this revision.Oct 27 2022, 10:02 AM

All builds and tests correctly and looks good.

This revision is now accepted and ready to land.Oct 27 2022, 10:02 AM