MLIR
18.0.0git
|
#include "mlir/IR/BuiltinTypes.h"
Public Member Functions | |
unsigned | getWidth () |
Return the bitwidth of this float type. More... | |
unsigned | getFPMantissaWidth () |
Return the width of the mantissa of this type. More... | |
FloatType | scaleElementBitwidth (unsigned scale) |
Get or create a new FloatType with bitwidth scaled by scale . More... | |
const llvm::fltSemantics & | getFloatSemantics () |
Return the floating semantics of this float type. More... | |
constexpr | Type ()=default |
Type (const ImplType *impl) | |
Type (const Type &other)=default | |
![]() | |
constexpr | Type ()=default |
Type (const ImplType *impl) | |
Type (const Type &other)=default | |
Type & | operator= (const Type &other)=default |
bool | operator== (Type other) const |
bool | operator!= (Type other) const |
operator bool () const | |
bool | operator! () const |
template<typename... Tys> | |
bool | isa () const |
template<typename... Tys> | |
bool | isa_and_nonnull () const |
template<typename U > | |
U | dyn_cast () const |
template<typename U > | |
U | dyn_cast_or_null () const |
template<typename U > | |
U | cast () const |
TypeID | getTypeID () |
Return a unique identifier for the concrete type. More... | |
MLIRContext * | getContext () const |
Return the MLIRContext in which this type was uniqued. More... | |
Dialect & | getDialect () const |
Get the dialect this type is registered to. More... | |
bool | isIndex () const |
bool | isFloat8E5M2 () const |
bool | isFloat8E4M3FN () const |
bool | isFloat8E5M2FNUZ () const |
bool | isFloat8E4M3FNUZ () const |
bool | isFloat8E4M3B11FNUZ () const |
bool | isBF16 () const |
bool | isF16 () const |
bool | isTF32 () const |
bool | isF32 () const |
bool | isF64 () const |
bool | isF80 () const |
bool | isF128 () const |
bool | isInteger (unsigned width) const |
Return true if this is an integer type with the specified width. More... | |
bool | isSignlessInteger () const |
Return true if this is a signless integer type (with the specified width). More... | |
bool | isSignlessInteger (unsigned width) const |
bool | isSignedInteger () const |
Return true if this is a signed integer type (with the specified width). More... | |
bool | isSignedInteger (unsigned width) const |
bool | isUnsignedInteger () const |
Return true if this is an unsigned integer type (with the specified width). More... | |
bool | isUnsignedInteger (unsigned width) const |
unsigned | getIntOrFloatBitWidth () const |
Return the bit width of an integer or a float type, assert failure on other types. More... | |
bool | isSignlessIntOrIndex () const |
Return true if this is a signless integer or index type. More... | |
bool | isSignlessIntOrIndexOrFloat () const |
Return true if this is a signless integer, index, or float type. More... | |
bool | isSignlessIntOrFloat () const |
Return true of this is a signless integer or a float type. More... | |
bool | isIntOrIndex () const |
Return true if this is an integer (of any signedness) or an index type. More... | |
bool | isIntOrFloat () const |
Return true if this is an integer (of any signedness) or a float type. More... | |
bool | isIntOrIndexOrFloat () const |
Return true if this is an integer (of any signedness), index, or float type. More... | |
void | print (raw_ostream &os) const |
Print the current type. More... | |
void | print (raw_ostream &os, AsmState &state) const |
void | dump () const |
const void * | getAsOpaquePointer () const |
Methods for supporting PointerLikeTypeTraits. More... | |
template<typename InterfaceT > | |
bool | hasPromiseOrImplementsInterface () |
Returns true if InterfaceT has been promised by the dialect or implemented. More... | |
template<template< typename T > class Trait> | |
bool | hasTrait () |
Returns true if the type was registered with a particular trait. More... | |
const AbstractTy & | getAbstractType () const |
Return the abstract type descriptor for this type. More... | |
ImplType * | getImpl () const |
Return the Type implementation. More... | |
void | walkImmediateSubElements (function_ref< void(Attribute)> walkAttrsFn, function_ref< void(Type)> walkTypesFn) const |
Walk all of the immediately nested sub-attributes and sub-types. More... | |
auto | replaceImmediateSubElements (ArrayRef< Attribute > replAttrs, ArrayRef< Type > replTypes) const |
Replace the immediately nested sub-attributes and sub-types with those provided. More... | |
template<WalkOrder Order = WalkOrder::PostOrder, typename... WalkFns> | |
auto | walk (WalkFns &&...walkFns) |
Walk this type and all attibutes/types nested within using the provided walk functions. More... | |
template<typename... ReplacementFns> | |
auto | replace (ReplacementFns &&...replacementFns) |
Recursively replace all of the nested sub-attributes and sub-types using the provided map functions. More... | |
Static Public Member Functions | |
static FloatType | getBF16 (MLIRContext *ctx) |
static FloatType | getF16 (MLIRContext *ctx) |
static FloatType | getF32 (MLIRContext *ctx) |
static FloatType | getTF32 (MLIRContext *ctx) |
static FloatType | getF64 (MLIRContext *ctx) |
static FloatType | getF80 (MLIRContext *ctx) |
static FloatType | getF128 (MLIRContext *ctx) |
static FloatType | getFloat8E5M2 (MLIRContext *ctx) |
static FloatType | getFloat8E4M3FN (MLIRContext *ctx) |
static FloatType | getFloat8E5M2FNUZ (MLIRContext *ctx) |
static FloatType | getFloat8E4M3FNUZ (MLIRContext *ctx) |
static FloatType | getFloat8E4M3B11FNUZ (MLIRContext *ctx) |
static bool | classof (Type type) |
Methods for support type inquiry through isa, cast, and dyn_cast. More... | |
![]() | |
static Type | getFromOpaquePointer (const void *pointer) |
Additional Inherited Members | |
![]() | |
template<typename ConcreteType , typename BaseType , typename StorageType , template< typename T > class... Traits> | |
using | TypeBase = detail::StorageUserBase< ConcreteType, BaseType, StorageType, detail::TypeUniquer, Traits... > |
Utility class for implementing types. More... | |
using | ImplType = TypeStorage |
using | AbstractTy = AbstractType |
![]() | |
ImplType * | impl {nullptr} |
Definition at line 46 of file BuiltinTypes.h.
|
inlinestatic |
Methods for support type inquiry through isa, cast, and dyn_cast.
Definition at line 401 of file BuiltinTypes.h.
|
inlinestatic |
Definition at line 428 of file BuiltinTypes.h.
References mlir::get().
Referenced by mlir::Builder::getBF16Type(), getScalarConstantAsAttr(), and mlirBF16TypeGet().
|
inlinestatic |
Definition at line 452 of file BuiltinTypes.h.
References mlir::get().
Referenced by mlir::Builder::getF128Type(), and mlir::LLVM::detail::getFloatType().
|
inlinestatic |
Definition at line 432 of file BuiltinTypes.h.
References mlir::get().
Referenced by mlir::Builder::getF16Type(), mlir::LLVM::detail::getFloatType(), and mlirF16TypeGet().
|
inlinestatic |
Definition at line 440 of file BuiltinTypes.h.
References mlir::get().
Referenced by mlir::Builder::getF32Type(), mlir::LLVM::detail::getFloatType(), mlirF32TypeGet(), and scaleElementBitwidth().
|
inlinestatic |
Definition at line 444 of file BuiltinTypes.h.
References mlir::get().
Referenced by mlir::Builder::getF64Type(), mlir::LLVM::detail::getFloatType(), mlirF64TypeGet(), and scaleElementBitwidth().
|
inlinestatic |
Definition at line 448 of file BuiltinTypes.h.
References mlir::get().
Referenced by mlir::Builder::getF80Type(), and mlir::LLVM::detail::getFloatType().
|
inlinestatic |
Definition at line 424 of file BuiltinTypes.h.
References mlir::get().
Referenced by mlir::Builder::getFloat8E4M3B11FNUZType(), and mlirFloat8E4M3B11FNUZTypeGet().
|
inlinestatic |
Definition at line 412 of file BuiltinTypes.h.
References mlir::get().
Referenced by mlir::Builder::getFloat8E4M3FNType(), and mlirFloat8E4M3FNTypeGet().
|
inlinestatic |
Definition at line 420 of file BuiltinTypes.h.
References mlir::get().
Referenced by mlir::Builder::getFloat8E4M3FNUZType(), and mlirFloat8E4M3FNUZTypeGet().
|
inlinestatic |
Definition at line 408 of file BuiltinTypes.h.
References mlir::get().
Referenced by mlir::Builder::getFloat8E5M2Type(), and mlirFloat8E5M2TypeGet().
|
inlinestatic |
Definition at line 416 of file BuiltinTypes.h.
References mlir::get().
Referenced by mlir::Builder::getFloat8E5M2FNUZType(), and mlirFloat8E5M2FNUZTypeGet().
const llvm::fltSemantics & FloatType::getFloatSemantics | ( | ) |
Return the floating semantics of this float type.
Returns the floating semantics for the given type.
Definition at line 107 of file BuiltinTypes.cpp.
Referenced by convertScalarToComplexDtype().
unsigned FloatType::getFPMantissaWidth | ( | ) |
Return the width of the mantissa of this type.
The width includes the integer bit.
Definition at line 151 of file BuiltinTypes.cpp.
|
inlinestatic |
Definition at line 436 of file BuiltinTypes.h.
References mlir::get().
Referenced by mlir::Builder::getTF32Type(), and mlirTF32TypeGet().
unsigned FloatType::getWidth | ( | ) |
Return the bitwidth of this float type.
Definition at line 89 of file BuiltinTypes.cpp.
Referenced by convertScalarToFpDtype(), and mlir::spirv::ScalarType::isValid().
FloatType FloatType::scaleElementBitwidth | ( | unsigned | scale | ) |
Get or create a new FloatType with bitwidth scaled by scale
.
Return null if the scaled element type cannot be represented.
Definition at line 135 of file BuiltinTypes.cpp.
References getContext(), getF32(), and getF64().
|
constexprdefault |
|
default |