FLANG

Public Member Functions | List of all members
Fortran::lower::SymMap Class Reference

`#include <Lower/SymbolMap.h>`

## Public Member Functions
void | addSymbol (semantics::SymbolRef sym, mlir::Value value, bool force=false)
| Add a trivial symbol mapping to an address.
void | addCharSymbol (semantics::SymbolRef sym, mlir::Value value, mlir::Value len, bool force=false)
| Add a scalar CHARACTER mapping to an (address, len).
void | addSymbolWithShape (semantics::SymbolRef sym, mlir::Value value, llvm::ArrayRef< mlir::Value > shape, bool force=false)
| Add an array mapping with (address, shape).
void | addCharSymbolWithShape (semantics::SymbolRef sym, mlir::Value value, mlir::Value len, llvm::ArrayRef< mlir::Value > shape, bool force=false)
| Add an array of CHARACTER mapping.
void | addSymbolWithBounds (semantics::SymbolRef sym, mlir::Value value, llvm::ArrayRef< mlir::Value > extents, llvm::ArrayRef< mlir::Value > lbounds, bool force=false)
| Add an array mapping with bounds notation.
void | addCharSymbolWithBounds (semantics::SymbolRef sym, mlir::Value value, mlir::Value len, llvm::ArrayRef< mlir::Value > extents, llvm::ArrayRef< mlir::Value > lbounds, bool force=false)
| Add an array of CHARACTER with bounds notation.
void | addDerivedSymbol (semantics::SymbolRef sym, mlir::Value value, mlir::Value size, llvm::ArrayRef< mlir::Value > extents, llvm::ArrayRef< mlir::Value > lbounds, llvm::ArrayRef< mlir::Value > params, bool force=false)
| Generalized derived type mapping.
SymbolBox | lookupSymbol (semantics::SymbolRef sym)
| Find `symbol` and return its value if it appears in the current mappings.
void | erase (semantics::SymbolRef sym)
| Remove `sym` from the map.
void | clear ()
| Remove all symbols from the map.
LLVM_DUMP_METHOD void | dump () const
| Dump the map. For debugging.

## Detailed Description

Helper class to map front-end symbols to their MLIR representation. This provides a way to lookup the ssa-values that comprise a Fortran symbol's runtime attributes. These attributes include its address, its dynamic size, dynamic bounds information for non-scalar entities, dynamic type parameters, etc.

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

- lib/Lower/SymbolMap.h