FLANG

Public Member Functions | List of all members
Fortran::lower::AbstractConverter Class Referenceabstract

`#include <flang/Lower/AbstractConverter.h>`

## Public Member Functions
virtual mlir::Value | getSymbolAddress (SymbolRef sym)=0
| Get the mlir instance of a symbol.
virtual mlir::Value | genExprAddr (const SomeExpr &, mlir::Location *loc=nullptr)=0
| Generate the address of the location holding the expression, someExpr.
mlir::Value | genExprAddr (const SomeExpr *someExpr, mlir::Location loc)
| Generate the address of the location holding the expression, someExpr.
virtual mlir::Value | genExprValue (const SomeExpr &, mlir::Location *loc=nullptr)=0
| Generate the computations of the expression to produce a value.
mlir::Value | genExprValue (const SomeExpr *someExpr, mlir::Location loc)
| Generate the computations of the expression, someExpr, to produce a value.
virtual Fortran::evaluate::FoldingContext & | getFoldingContext ()=0
virtual mlir::Type | genType (const Fortran::evaluate::DataRef &)=0
| Generate the type of a DataRef.
virtual mlir::Type | genType (const SomeExpr &)=0
| Generate the type of an Expr.
virtual mlir::Type | genType (SymbolRef)=0
| Generate the type of a Symbol.
virtual mlir::Type | genType (Fortran::common::TypeCategory tc)=0
| Generate the type from a category.
virtual mlir::Type | genType (Fortran::common::TypeCategory tc, int kind)=0
| Generate the type from a category and kind.
virtual mlir::Type | genType (const pft::Variable &)=0
| Generate the type from a Variable.
virtual mlir::Location | getCurrentLocation ()=0
| Get the converter's current location.
virtual mlir::Location | genLocation ()=0
| Generate a dummy location.
virtual mlir::Location | genLocation (const Fortran::parser::CharBlock &)=0
| Generate the location as converted from a CharBlock.
virtual Fortran::lower::FirOpBuilder & | getFirOpBuilder ()=0
| Get the OpBuilder.
virtual mlir::ModuleOp & | getModuleOp ()=0
| Get the ModuleOp.
virtual mlir::MLIRContext & | getMLIRContext ()=0
| Get the MLIRContext.
virtual std::string | mangleName (const Fortran::semantics::Symbol &)=0
| Unique a symbol.
virtual std::string | uniqueCGIdent (llvm::StringRef prefix, llvm::StringRef name)=0

## Detailed Description

The abstract interface for converter implementations to lower Fortran front-end fragments such as expressions, types, etc. to the FIR dialect of MLIR.

## Member Function Documentation

## ◆ getFoldingContext()

virtual Fortran::evaluate::FoldingContext& Fortran::lower::AbstractConverter::getFoldingContext | ( |  | ) |
| pure virtual

Get FoldingContext that is required for some expression analysis.

## ◆ uniqueCGIdent()

virtual std::string Fortran::lower::AbstractConverter::uniqueCGIdent | ( | llvm::StringRef | prefix,
|  | llvm::StringRef | name
| ) |  |
| pure virtual

Unique a compiler generated identifier. A short prefix should be provided to hint at the origin of the identifier.

The documentation for this class was generated from the following file:

- include/flang/Lower/AbstractConverter.h