9#ifndef MLIR_TOOLS_PDLL_ODS_DIALECT_H_
10#define MLIR_TOOLS_PDLL_ODS_DIALECT_H_
15#include "llvm/ADT/STLExtras.h"
16#include "llvm/ADT/SmallVector.h"
17#include "llvm/ADT/StringMap.h"
31 StringRef
getName()
const {
return name; }
36 std::pair<Operation *, bool>
38 StringRef nativeClassName,
bool supportsResultTypeInferrence,
46 const llvm::StringMap<std::unique_ptr<Operation>> &
getOperations()
const {
51 explicit Dialect(StringRef name);
57 llvm::StringMap<std::unique_ptr<Operation>> operations;
This class represents an ODS dialect, and contains information on the constructs held within the dial...
const llvm::StringMap< std::unique_ptr< Operation > > & getOperations() const
Return a map of all of the operations registered to this dialect.
StringRef getName() const
Return the name of this dialect.
Operation * lookupOperation(StringRef name) const
Lookup an operation registered with the given name, or null if no operation with that name is registe...
friend class Context
Allow access to the constructor.
std::pair< Operation *, bool > insertOperation(StringRef name, StringRef summary, StringRef desc, StringRef nativeClassName, bool supportsResultTypeInferrence, SMLoc loc)
Insert a new operation with the dialect.
This class provides an ODS representation of a specific operation.
Include the generated interface declarations.