|
FLANG
|
#include <flang/Lower/PFTBuilder.h>
Public Member Functions | |
| AggregateStore (Interval &&interval, const Fortran::semantics::Symbol &namingSym, bool isGlobal=false) | |
| AggregateStore (const semantics::Symbol &initialValueSym, const semantics::Symbol &namingSym, bool isGlobal=false) | |
| bool | isGlobal () const |
| std::size_t | getOffset () const |
| Get offset of the aggregate inside its scope. | |
| const semantics::Symbol * | getInitialValueSymbol () const |
| Returns symbols holding the aggregate initial value if any. | |
| const semantics::Symbol & | getNamingSymbol () const |
| Returns the symbol that gives its name to the aggregate. | |
| const semantics::Scope & | getOwningScope () const |
| Scope to which the aggregates belongs to. | |
Public Attributes | |
| Interval | interval {} |
| <offset, size> of the aggregate in its scope. | |
| const semantics::Symbol * | namingSymbol |
| Symbol that gives its name to the aggregate. Always set by constructor. | |
| const semantics::Symbol * | initialValueSymbol = nullptr |
| Compiler generated symbol with the aggregate initial value if any. | |
| bool | isGlobalAggregate |
| Is this a global aggregate? | |
An interval of storage is a contiguous block of memory to be allocated or mapped onto another variable. Aliasing variables will be pointers into interval stores and may overlap each other.