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 contains all of the registered ODS operation classes.
This class represents an ODS dialect, and contains information on the constructs held within the dial...
StringRef getName() const
Return the name of this dialect.
const llvm::StringMap< std::unique_ptr< Operation > > & getOperations() const
Return a map of all of the operations registered to 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...
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.