13 #ifndef MLIR_TABLEGEN_CONSTRAINT_H_
14 #define MLIR_TABLEGEN_CONSTRAINT_H_
18 #include "llvm/ADT/SmallVector.h"
19 #include "llvm/ADT/StringRef.h"
83 const llvm::Record *
def;
88 std::optional<StringRef> getBaseDefName()
const;
97 std::vector<std::string> &&
entities);
bool operator==(const Constraint &that)
Constraints are pointer-comparable.
Pred getPredicate() const
StringRef getSummary() const
const llvm::Record & getDef() const
Return the underlying def.
bool operator!=(const Constraint &that)
std::string getUniqueDefName() const
Returns a unique name for the TablGen def of this constraint.
StringRef getDescription() const
StringRef getDefName() const
Returns the name of the TablGen def of this constraint.
std::optional< StringRef > getCppFunctionName() const
Returns the name of the C++ function that should be generated for this constraint,...
Constraint(const llvm::Record *record, Kind kind)
std::string getConditionTemplate() const
The OpAsmOpInterface, see OpAsmInterface.td for more details.
Include the generated interface declarations.
static mlir::tblgen::Constraint getEmptyKey()
static mlir::tblgen::Constraint getTombstoneKey()
static bool isEqual(mlir::tblgen::Constraint lhs, mlir::tblgen::Constraint rhs)
static unsigned getHashValue(mlir::tblgen::Constraint constraint)
std::vector< std::string > entities
AppliedConstraint(Constraint &&constraint, StringRef self, std::vector< std::string > &&entities)