MLIR 24.0.0git
DialectImplementation.h File Reference
#include "mlir/IR/OpImplementation.h"
#include <type_traits>

Go to the source code of this file.

Classes

class  mlir::DialectAsmPrinter
 This is a pure-virtual base class that exposes the asmprinter hooks necessary to implement a custom printAttribute/printType() method on a dialect. More...
class  mlir::DialectAsmParser
 The DialectAsmParser has methods for interacting with the asm parser when parsing attributes and types. More...
struct  mlir::FieldParser< AttributeT, std::enable_if_t< std::is_base_of< Attribute, AttributeT >::value, AttributeT > >
 Parse an attribute. More...
struct  mlir::FieldParser< TypeT, std::enable_if_t< std::is_base_of< Type, TypeT >::value, TypeT > >
 Parse a type. More...
struct  mlir::FieldParser< IntT, std::enable_if_t<(std::is_integral< IntT >::value||std::is_same_v< IntT, llvm::APInt >), IntT > >
 Parse any integer. More...
struct  mlir::FieldParser< std::string >
 Parse a string. More...
struct  mlir::FieldParser< std::optional< AttributeT >, std::enable_if_t< std::is_base_of< Attribute, AttributeT >::value, std::optional< AttributeT > > >
 Parse an Optional attribute. More...
struct  mlir::FieldParser< std::optional< IntT >, std::enable_if_t< std::is_integral< IntT >::value, std::optional< IntT > > >
 Parse an Optional integer. More...
struct  mlir::detail::HasFieldParser< StorageType, typename >
struct  mlir::detail::HasFieldParser< StorageType, std::void_t< decltype(sizeof(FieldParser< StorageType >)), decltype(FieldParser< StorageType >::parse(std::declval< OpAsmParser & >()))> >
struct  mlir::detail::HasFieldParserContainer< ContainerT, typename >
struct  mlir::detail::HasFieldParserContainer< ContainerT, std::void_t< has_push_back_t< ContainerT > > >
struct  mlir::detail::IsKeyValueCompositional< Parser, typename >
struct  mlir::detail::IsKeyValueCompositional< Parser, std::void_t< decltype(Parser::isKeyValueCompositional)> >
struct  mlir::detail::HasKeyValueFieldParser< StorageType >
 Whether the selected FieldParser consumes exactly one value in a keyed property list. More...
struct  mlir::FieldParser< ContainerT, std::enable_if_t< detail::HasFieldParserContainer< ContainerT >::value, ContainerT > >
 Parse any container that supports back insertion as a list. More...
struct  mlir::FieldParser< AffineMap >
 Parse an affine map. More...

Namespaces

namespace  mlir
 Include the generated interface declarations.
namespace  mlir::detail
 AttrTypeReplacer.

Typedefs

template<typename T>
using mlir::detail::has_push_back_t

Functions

template<typename StorageType, typename ConvertFromAttribute>
ParseResult mlir::detail::parsePropertyWithFallback (OpAsmParser &parser, StorageType &storage, ConvertFromAttribute convertFromAttribute)
 Parse a property with its FieldParser when one is available, otherwise fall back to the property's attribute conversion.