[flang] Lower addresses inside global initializers in HLFIR
authorJean Perier <jperier@nvidia.com>
Tue, 10 Jan 2023 08:28:08 +0000 (09:28 +0100)
committerJean Perier <jperier@nvidia.com>
Tue, 10 Jan 2023 08:32:55 +0000 (09:32 +0100)
commit4e78f88561af26c74b4b7fa2a017cd836a9f9bf4
treec16dffbdc0e8295b307b7b482cb08c8cb556ca71
parent561471b1b84f1f1d8b3e1399689ca8b3b21ff744
[flang] Lower addresses inside global initializers in HLFIR

Move the code to lower an expression to address or a box in HLFIR from
Bridge.cpp to ConvertExpr.cpp so that it can be used inside
ConvertVariable.cpp (that needs to use a different symbol map that the
one held in the bridge).

Lower NULL to hlfir.null.

This allows lowering derived type constant structure constructors with
pointer components into fir.global.

Differential Revision: https://reviews.llvm.org/D141276
flang/include/flang/Lower/ConvertExprToHLFIR.h
flang/include/flang/Lower/StatementContext.h
flang/lib/Lower/Bridge.cpp
flang/lib/Lower/ConvertExprToHLFIR.cpp
flang/lib/Lower/ConvertVariable.cpp
flang/test/Lower/HLFIR/constant-derived.f90