MLIR  20.0.0git
Classes | Namespaces | Typedefs | Functions
OpImplementation.h File Reference
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/DialectInterface.h"
#include "mlir/IR/OpDefinition.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/SMLoc.h"
#include <optional>
#include "mlir/IR/OpAsmInterface.h.inc"

Go to the source code of this file.

Classes

class  mlir::AsmDialectResourceHandle
 This class represents an opaque handle to a dialect resource entry. More...
 
class  mlir::AsmDialectResourceHandleBase< DerivedT, ResourceT, DialectT >
 This class represents a CRTP base class for dialect resource handles. More...
 
class  mlir::AsmPrinter
 This base class exposes generic asm printer hooks, usable across the various derived printers. More...
 
class  mlir::AsmPrinter::CyclicPrintReset
 Class used to automatically end a cyclic region on destruction. More...
 
class  mlir::OpAsmPrinter
 This is a pure-virtual base class that exposes the asmprinter hooks necessary to implement a custom print() method. More...
 
class  mlir::AsmParser
 This base class exposes generic asm parser hooks, usable across the various derived parsers. More...
 
class  mlir::AsmParser::KeywordSwitch< ResultT >
 This class represents a StringSwitch like class that is useful for parsing expected keywords. More...
 
class  mlir::AsmParser::CyclicParseReset
 Class used to automatically end a cyclic region on destruction. More...
 
class  mlir::OpAsmParser
 The OpAsmParser has methods for interacting with the asm parser: parsing things from it, emitting errors etc. More...
 
struct  mlir::OpAsmParser::UnresolvedOperand
 This is the representation of an operand reference. More...
 
struct  mlir::OpAsmParser::Argument
 
class  mlir::OpAsmDialectInterface
 
struct  llvm::DenseMapInfo< mlir::AsmDialectResourceHandle >
 

Namespaces

 mlir
 Include the generated interface declarations.
 
 llvm
 The OpAsmOpInterface, see OpAsmInterface.td for more details.
 

Typedefs

using mlir::OpAsmSetValueNameFn = function_ref< void(Value, StringRef)>
 A functor used to set the name of the start of a result group of an operation. More...
 
using mlir::OpAsmSetBlockNameFn = function_ref< void(Block *, StringRef)>
 A functor used to set the name of blocks in regions directly nested under an operation. More...
 

Functions

llvm::hash_code mlir::hash_value (const AsmDialectResourceHandle &param)
 
template<typename AsmPrinterT >
std::enable_if_t< std::is_base_of< AsmPrinter, AsmPrinterT >::value, AsmPrinterT & > mlir::operator<< (AsmPrinterT &p, Type type)
 
template<typename AsmPrinterT >
std::enable_if_t< std::is_base_of< AsmPrinter, AsmPrinterT >::value, AsmPrinterT & > mlir::operator<< (AsmPrinterT &p, Attribute attr)
 
template<typename AsmPrinterT >
std::enable_if_t< std::is_base_of< AsmPrinter, AsmPrinterT >::value, AsmPrinterT & > mlir::operator<< (AsmPrinterT &p, const APFloat &value)
 
template<typename AsmPrinterT >
std::enable_if_t< std::is_base_of< AsmPrinter, AsmPrinterT >::value, AsmPrinterT & > mlir::operator<< (AsmPrinterT &p, float value)
 
template<typename AsmPrinterT >
std::enable_if_t< std::is_base_of< AsmPrinter, AsmPrinterT >::value, AsmPrinterT & > mlir::operator<< (AsmPrinterT &p, double value)
 
template<typename AsmPrinterT , typename T , std::enable_if_t<!std::is_convertible< T &, Value & >::value &&!std::is_convertible< T &, Type & >::value &&!std::is_convertible< T &, Attribute & >::value &&!std::is_convertible< T &, ValueRange >::value &&!std::is_convertible< T &, APFloat & >::value &&!llvm::is_one_of< T, bool, float, double >::value, T > * = nullptr>
std::enable_if_t< std::is_base_of< AsmPrinter, AsmPrinterT >::value, AsmPrinterT & > mlir::operator<< (AsmPrinterT &p, const T &other)
 
template<typename AsmPrinterT >
std::enable_if_t< std::is_base_of< AsmPrinter, AsmPrinterT >::value, AsmPrinterT & > mlir::operator<< (AsmPrinterT &p, bool value)
 
template<typename AsmPrinterT , typename ValueRangeT >
std::enable_if_t< std::is_base_of< AsmPrinter, AsmPrinterT >::value, AsmPrinterT & > mlir::operator<< (AsmPrinterT &p, const ValueTypeRange< ValueRangeT > &types)
 
template<typename AsmPrinterT >
std::enable_if_t< std::is_base_of< AsmPrinter, AsmPrinterT >::value, AsmPrinterT & > mlir::operator<< (AsmPrinterT &p, const TypeRange &types)
 
template<typename AsmPrinterT , typename T >
std::enable_if_t< std::is_same< AsmPrinter, AsmPrinterT >::value &&std::is_convertible< T &, ValueRange >::value, AsmPrinterT & > mlir::operator<< (AsmPrinterT &p, const T &other)=delete
 
template<typename AsmPrinterT , typename ElementT >
std::enable_if_t< std::is_base_of< AsmPrinter, AsmPrinterT >::value, AsmPrinterT & > mlir::operator<< (AsmPrinterT &p, ArrayRef< ElementT > types)
 
OpAsmPrinter & mlir::operator<< (OpAsmPrinter &p, Value value)
 
template<typename T , std::enable_if_t< std::is_convertible< T &, ValueRange >::value &&!std::is_convertible< T &, Value & >::value, T > * = nullptr>
OpAsmPrinter & mlir::operator<< (OpAsmPrinter &p, const T &values)
 
OpAsmPrinter & mlir::operator<< (OpAsmPrinter &p, Block *value)
 
void mlir::printDimensionList (OpAsmPrinter &printer, Operation *op, ArrayRef< int64_t > dimensions)
 
ParseResult mlir::parseDimensionList (OpAsmParser &parser, DenseI64ArrayAttr &dimensions)