|
| | Interface (Type t=Type()) |
| | Construct an interface from an instance of the value type.
|
| | Interface (std::nullptr_t) |
| | Interface (T t) |
| | Construct an interface instance from a type that implements this interface's trait.
|
| | Interface (Type t, const Concept *conceptImpl) |
| | Constructor for a known concept.
|
| | Interface (Type t, std::nullptr_t) |
| | Constructor for DenseMapInfo's empty key and tombstone key.
|
| 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 |
| TypeID | getTypeID () |
| | Return a unique identifier for the concrete type.
|
| MLIRContext * | getContext () const |
| | Return the MLIRContext in which this type was uniqued.
|
| Dialect & | getDialect () const |
| | Get the dialect this type is registered to.
|
| bool | isIndex () const |
| bool | isBF16 () const |
| bool | isF16 () const |
| bool | isTF32 () const |
| bool | isF32 () const |
| bool | isF64 () const |
| bool | isF80 () const |
| bool | isF128 () const |
| bool | isFloat () const |
| | Return true if this is an float type (with the specified width).
|
| bool | isFloat (unsigned width) const |
| | Return true if this is a float type with the specified width.
|
| bool | isInteger () const |
| | Return true if this is an integer type (with the specified width).
|
| bool | isInteger (unsigned width) const |
| bool | isSignlessInteger () const |
| | Return true if this is a signless integer type (with the specified width).
|
| bool | isSignlessInteger (unsigned width) const |
| bool | isSignedInteger () const |
| | Return true if this is a signed integer type (with the specified width).
|
| bool | isSignedInteger (unsigned width) const |
| bool | isUnsignedInteger () const |
| | Return true if this is an unsigned integer type (with the specified width).
|
| bool | isUnsignedInteger (unsigned width) const |
| unsigned | getIntOrFloatBitWidth () const |
| | Return the bit width of an integer or a float type, assert failure on other types.
|
| bool | isSignlessIntOrIndex () const |
| | Return true if this is a signless integer or index type.
|
| bool | isSignlessIntOrIndexOrFloat () const |
| | Return true if this is a signless integer, index, or float type.
|
| bool | isSignlessIntOrFloat () const |
| | Return true of this is a signless integer or a float type.
|
| bool | isIntOrIndex () const |
| | Return true if this is an integer (of any signedness) or an index type.
|
| bool | isIntOrFloat () const |
| | Return true if this is an integer (of any signedness) or a float type.
|
| bool | isIntOrIndexOrFloat () const |
| | Return true if this is an integer (of any signedness), index, or float type.
|
| void | print (raw_ostream &os) const |
| | Print the current type.
|
| void | print (raw_ostream &os, AsmState &state) const |
| void | dump () const |
| friend::llvm::hash_code | hash_value (Type arg) |
| const void * | getAsOpaquePointer () const |
| | Methods for supporting PointerLikeTypeTraits.
|
| template<typename InterfaceT> |
| bool | hasPromiseOrImplementsInterface () |
| | Returns true if InterfaceT has been promised by the dialect or implemented.
|
| template<template< typename T > class Trait> |
| bool | hasTrait () |
| | Returns true if the type was registered with a particular trait.
|
| const AbstractTy & | getAbstractType () const |
| | Return the abstract type descriptor for this type.
|
| ImplType * | getImpl () const |
| | Return the Type implementation.
|
| void | walkImmediateSubElements (function_ref< void(Attribute)> walkAttrsFn, function_ref< void(Type)> walkTypesFn) const |
| | Walk all of the immediately nested sub-attributes and sub-types.
|
| auto | replaceImmediateSubElements (ArrayRef< Attribute > replAttrs, ArrayRef< Type > replTypes) const |
| | Replace the immediately nested sub-attributes and sub-types with those provided.
|
| 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.
|
| template<typename... ReplacementFns> |
| auto | replace (ReplacementFns &&...replacementFns) |
| | Recursively replace all of the nested sub-attributes and sub-types using the provided map functions.
|
| static bool | classof (Type t) |
| | Support 'classof' by checking if the given object defines the concrete interface.
|
| static TypeID | getInterfaceID () |
| | Define an accessor for the ID of this interface.
|
| static Type | getFromOpaquePointer (const void *pointer) |
| const Concept * | getImpl () const |
| | Get the raw concept in the correct derived concept type.
|
| Concept * | getImpl () |
template<typename ConcreteType, typename Traits>
class mlir::TypeInterface< ConcreteType, Traits >
This class represents the base of a type interface.
See the definition of detail::Interface for requirements on the Traits type.
Definition at line 259 of file Types.h.