13 #ifndef MLIR_TABLEGEN_CONSTRAINT_H_ 14 #define MLIR_TABLEGEN_CONSTRAINT_H_ 18 #include "llvm/ADT/SmallVector.h" 19 #include "llvm/ADT/StringRef.h" 33 enum Kind { CK_Attr, CK_Region, CK_Successor, CK_Type, CK_Uncategorized };
36 Constraint(
const llvm::Record *record,
Kind kind) : def(record), kind(kind) {}
45 Pred getPredicate()
const;
51 std::string getConditionTemplate()
const;
55 StringRef getSummary()
const;
59 StringRef getDescription()
const;
64 StringRef getDefName()
const;
70 std::string getUniqueDefName()
const;
76 const llvm::Record *
def;
89 std::vector<std::string> &&entities);
117 #endif // MLIR_TABLEGEN_CONSTRAINT_H_ Include the generated interface declarations.
Constraint(const llvm::Record *record, Kind kind)
The OpAsmOpInterface, see OpAsmInterface.td for more details.
bool operator!=(const Constraint &that)
std::vector< std::string > entities
bool operator==(const Constraint &that)
Constraints are pointer-comparable.