FLANG
hlfir::EntityWithAttributes Class Reference

#include <flang/Optimizer/Builder/HLFIRTools.h>

Inheritance diagram for hlfir::EntityWithAttributes:
hlfir::Entity

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
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

Detailed Description

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.


The documentation for this class was generated from the following file: