FLANG
fir::ExtendedValue Class Reference

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

Inheritance diagram for fir::ExtendedValue:
fir::details::matcher< ExtendedValue >

Public Types

using VT

Public Member Functions

template<typename A, typename = std::enable_if_t< !std::is_same_v<std::decay_t<A>, ExtendedValue>>>
constexpr ExtendedValue (A &&a)
template<typename A>
constexpr const A * getBoxOf () const
constexpr const CharBoxValuegetCharBox () const
constexpr const UnboxedValuegetUnboxed () const
unsigned rank () const
bool isPolymorphic () const
bool hasAssumedRank () const
LLVM_DUMP_METHOD void dump () const
 LLVM style debugging of extended values.
const VT & matchee () const
Public Member Functions inherited from fir::details::matcher< ExtendedValue >
auto match (Ts... ts)

Friends

llvm::raw_ostream & operator<< (llvm::raw_ostream &, const ExtendedValue &)
 Pretty-print an extended value.

Detailed Description

An extended value is a box of values pertaining to a discrete entity. It is used in lowering to track all the runtime values related to an entity. For example, an entity may have an address in memory that contains its value(s) as well as various attribute values that describe the shape and starting indices if it is an array entity.

Member Typedef Documentation

◆ VT

using fir::ExtendedValue::VT
Initial value:
Definition BoxValue.h:153
Definition BoxValue.h:291
Expressions of type CHARACTER and with rank > 0.
Definition BoxValue.h:170
Definition BoxValue.h:77
Definition BoxValue.h:360
Polymorphic value associated with a dynamic type descriptor.
Definition BoxValue.h:102
Definition BoxValue.h:192
mlir::Value UnboxedValue
Definition BoxValue.h:58

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