|
FLANG
|
#include <flang/Optimizer/Builder/HLFIRTools.h>
Public Member Functions | |
| EntityWithAttributes (mlir::Value value) | |
| EntityWithAttributes (fir::FortranVariableOpInterface variable) | |
| fir::FortranVariableOpInterface | getIfVariable () const |
| Public Member Functions inherited from hlfir::Entity | |
| Entity (mlir::Value value) | |
| Entity (fir::FortranVariableOpInterface variable) | |
| bool | isValue () const |
| bool | isVariable () const |
| bool | isMutableBox () const |
| bool | isProcedurePointer () const |
| bool | isBoxAddressOrValue () const |
| bool | isProcedure () const |
| Is this entity a procedure designator? | |
| bool | isArray () const |
| Is this an array or an assumed ranked entity? | |
| bool | isAssumedRank () const |
| Is this an assumed ranked entity? | |
| int | getRank () const |
| Return the rank of this entity or -1 if it is an assumed rank. | |
| bool | isScalar () const |
| bool | isPolymorphic () const |
| mlir::Type | getFortranElementType () const |
| mlir::Type | getElementOrSequenceType () const |
| fir::BaseBoxType | getBoxType () const |
| Return the fir.class or fir.box type needed to describe this entity. | |
| bool | hasLengthParameters () const |
| bool | isCharacter () const |
| bool | hasIntrinsicType () const |
| bool | isDerivedWithLengthParameters () const |
| bool | mayHaveNonDefaultLowerBounds () const |
| bool | isSimplyContiguous () const |
| fir::FortranVariableOpInterface | getIfVariableInterface () const |
| fir::FortranVariableOpInterface | getMaybeDereferencedVariableInterface () const |
| bool | mayBeOptional () const |
| bool | isParameter () const |
| bool | isAllocatable () const |
| bool | isPointer () const |
| mlir::Value | getBase () const |
| mlir::Value | getFirBase () const |
Wrapper over an mlir::Value that can be viewed as a Fortran entity. This provides some Fortran specific helpers as well as a guarantee in the compiler source that a certain mlir::Value must be a Fortran entity, and if it is a variable, its defining operation carrying its Fortran attributes must be visible.