This is an archive of the discontinued LLVM Phabricator instance.

Add lowering TODO for bindings returning derived types or arrays
ClosedPublic

Authored by clementval on Jun 14 2022, 12:09 AM.

Details

Summary

Codegen does not support fir.addressof of functions returning derived
types, arrays are descriptors inside GlobalOp region.

This is because the abstract-result-opt is required to rewrite such
functions (a hidden argument must be added), but this pass is meant to
run in GlobalOp currently.

Such fir.address_of may be created when lowering procedure pointers
initial value (TODO), or when creating derived type descriptors for
types with bindings.

Add a TODO in lowering until abstract-result-opt is modified to run
on GlobalOp too.

This patch is part of the upstreaming effort from fir-dev branch.

Co-authored-by: Jean Perier <jperier@nvidia.com>

Diff Detail

Event Timeline

clementval created this revision.Jun 14 2022, 12:09 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptJun 14 2022, 12:09 AM
Herald added a subscriber: mehdi_amini. · View Herald Transcript
clementval requested review of this revision.Jun 14 2022, 12:09 AM
This revision is now accepted and ready to land.Jun 14 2022, 1:45 AM