FLANG
Public Member Functions | List of all members
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 isOptional () 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: