13 #ifndef MLIR_DIALECT_WasmSSA_IR_WasmSSAINTERFACES_H_
14 #define MLIR_DIALECT_WasmSSA_IR_WasmSSAINTERFACES_H_
30 template <
typename OpType>
32 static_assert(OpType::template hasTrait<::mlir::OpTrait::IsTerminator>(),
33 "LabelLevelOp should be terminator ops");
46 template <
class OperationType>
51 template <
typename OpType>
60 #include "mlir/Dialect/WasmSSA/IR/WasmSSAInterfaces.h.inc"
Helper class for implementing traits.
Operation is the basic unit of execution within MLIR.
LogicalResult verifyConstantExpressionInterface(Operation *op)
Verify that op conforms to the ConstantExpressionInterface.
LogicalResult verifyLabelBranchingOpInterface(Operation *op)
Verify that op conforms to the LabelBranchingOpInterface Checks that the branching is targetting some...
LogicalResult verifyLabelLevelInterface(Operation *op)
Verify that op conforms to the LabelLevelInterface op's target should defined at the same scope level...
LogicalResult verifyLabelLevelInterfaceIsTerminator()
Verify that op conforms to LabelLevelInterfaceIsTerminator.
Operations implementing this trait are considered as valid constant expressions in any context (In co...
Trait used to verify operations that need a constant expression initializer.
static LogicalResult verifyTrait(Operation *op)