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.