FLANG
|
This class provides a shared interface for box and class types. More...
#include <flang/Optimizer/Dialect/FIRType.h>
Public Types | |
enum class | Attribute { None , Allocatable , Pointer } |
Box attributes. |
Public Member Functions | |
mlir::Type | getEleTy () const |
Returns the element type of this box type. | |
mlir::Type | getBaseAddressType () const |
Get the raw address type of the memory described by the box. | |
mlir::Type | unwrapInnerType () const |
Unwrap element type from fir.heap, fir.ptr and fir.array. | |
bool | isAssumedRank () const |
Is this the box for an assumed rank? | |
bool | isPointer () const |
Is this a box for a pointer? | |
bool | isPointerOrAllocatable () const |
Does this box for a pointer or allocatable? | |
bool | isVolatile () const |
Is this a box describing volatile memory? | |
BaseBoxType | getBoxTypeWithNewShape (mlir::Type shapeMold) const |
BaseBoxType | getBoxTypeWithNewShape (int rank) const |
BaseBoxType | getBoxTypeWithNewAttr (Attribute attr) const |
Return the same type, except for the attribute (fir.heap/fir.ptr). |
Static Public Member Functions | |
static bool | classof (mlir::Type type) |
Methods for support type inquiry through isa, cast, and dyn_cast. |
This class provides a shared interface for box and class types.
fir::BaseBoxType fir::BaseBoxType::getBoxTypeWithNewShape | ( | mlir::Type | shapeMold | ) | const |
Return the same type, except for the shape, that is taken the shape of shapeMold.