FLANG
|
#include <flang/Optimizer/Builder/TemporaryStorage.h>
Public Member Functions | |
AnyVariableStack (mlir::Location loc, fir::FirOpBuilder &builder, mlir::Type valueStaticType) | |
void | pushValue (mlir::Location loc, fir::FirOpBuilder &builder, mlir::Value value) |
void | resetFetchPosition (mlir::Location loc, fir::FirOpBuilder &builder) |
mlir::Value | fetch (mlir::Location loc, fir::FirOpBuilder &builder) |
void | destroy (mlir::Location loc, fir::FirOpBuilder &builder) |
bool | canBeFetchedAfterPush () const |
Data structure to stack any kind of variables with the same static type and rank. Each variable may have different type parameters, bounds, and dynamic type. Fetching variable N will return a variable with the same address, dynamic type, bounds, and type parameters as the Nth variable that was pushed. It is implemented using runtime.