|
FLANG
|
#include <flang/Lower/HostAssociations.h>
Public Member Functions | |
| bool | empty () const |
| Returns true iff there are no host associations. | |
| bool | hasTupleAssociations () const |
| void | addSymbolsToBind (const llvm::SetVector< const Fortran::semantics::Symbol * > &symbols, const Fortran::semantics::Scope &hostScope) |
| void | hostProcedureBindings (AbstractConverter &converter, SymMap &symMap) |
| void | internalProcedureBindings (AbstractConverter &converter, SymMap &symMap) |
| mlir::Type | getArgumentType (AbstractConverter &convert) |
| Return the type of the extra argument to add to each internal procedure. | |
| bool | isAssociated (const Fortran::semantics::Symbol &symbol) const |
Is symbol host associated ? | |
Internal procedures in Fortran may access variables declared in the host procedure directly. We bundle these variables together in a tuple and pass them as an extra argument.
| void Fortran::lower::HostAssociations::addSymbolsToBind | ( | const llvm::SetVector< const Fortran::semantics::Symbol * > & | symbols, |
| const Fortran::semantics::Scope & | hostScope ) |
Adds a set of Symbols that will be the host associated bindings for this host procedure.
|
inline |
Returns true iff there are host associations that are conveyed through an extra tuple argument.
| void Fortran::lower::HostAssociations::hostProcedureBindings | ( | AbstractConverter & | converter, |
| SymMap & | symMap ) |
Code gen the FIR for the local bindings for the host associated symbols for the host (parent) procedure using builder.
| void Fortran::lower::HostAssociations::internalProcedureBindings | ( | AbstractConverter & | converter, |
| SymMap & | symMap ) |
Code gen the FIR for the local bindings for the host associated symbols for an internal (child) procedure using builder.