12 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"bool.and"), location);
13 mlirOperationStateEnableResultTypeInference(&state);
14 mlirOperationStateAddOperands(&state, 1, &lhs);
15 mlirOperationStateAddOperands(&state, 1, &rhs);
21 return llvm::isa<AndBoolOp>(unwrap(inp));
25 return mlirOperationGetOperand(op, 0);
29 mlirOperationSetOperand(op, 0, value);
33 return mlirOperationGetOperand(op, 1);
37 mlirOperationSetOperand(op, 1, value);
41 return mlirOperationGetResult(op, 0);
44MlirOperation
llzkBool_AssertOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue condition, MlirIdentifier msg) {
45 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"bool.assert"), location);
46 mlirOperationStateAddOperands(&state, 1, &condition);
48 llvm::SmallVector<MlirNamedAttribute, 1> attributes;
49 if (!mlirAttributeIsNull(
reinterpret_cast<MlirAttribute&
>(msg))) {
50 attributes.push_back(mlirNamedAttributeGet(mlirIdentifierGet(ctx, mlirStringRefCreateFromCString(
"msg")),
reinterpret_cast<MlirAttribute&
>(msg)));
52 mlirOperationStateAddAttributes(&state, attributes.size(), attributes.data());
58 return llvm::isa<AssertOp>(unwrap(inp));
62 return mlirOperationGetOperand(op, 0);
66 mlirOperationSetOperand(op, 0, value);
70 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString(
"msg"));
74 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString(
"msg"), attr);
77MlirOperation
llzkBool_CmpOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue lhs, MlirValue rhs, MlirAttribute predicate) {
78 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"bool.cmp"), location);
79 mlirOperationStateEnableResultTypeInference(&state);
80 mlirOperationStateAddOperands(&state, 1, &lhs);
81 mlirOperationStateAddOperands(&state, 1, &rhs);
83 llvm::SmallVector<MlirNamedAttribute, 1> attributes;
84 if (!mlirAttributeIsNull(predicate)) {
85 attributes.push_back(mlirNamedAttributeGet(mlirIdentifierGet(ctx, mlirStringRefCreateFromCString(
"predicate")), predicate));
87 mlirOperationStateAddAttributes(&state, attributes.size(), attributes.data());
93 return llvm::isa<CmpOp>(unwrap(inp));
97 return mlirOperationGetOperand(op, 0);
101 mlirOperationSetOperand(op, 0, value);
105 return mlirOperationGetOperand(op, 1);
109 mlirOperationSetOperand(op, 1, value);
113 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString(
"predicate"));
117 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString(
"predicate"), attr);
121 return mlirOperationGetResult(op, 0);
125 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"bool.not"), location);
126 mlirOperationStateEnableResultTypeInference(&state);
127 mlirOperationStateAddOperands(&state, 1, &operand);
133 return llvm::isa<NotBoolOp>(unwrap(inp));
137 return mlirOperationGetOperand(op, 0);
141 mlirOperationSetOperand(op, 0, value);
145 return mlirOperationGetResult(op, 0);
149 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"bool.or"), location);
150 mlirOperationStateEnableResultTypeInference(&state);
151 mlirOperationStateAddOperands(&state, 1, &lhs);
152 mlirOperationStateAddOperands(&state, 1, &rhs);
158 return llvm::isa<OrBoolOp>(unwrap(inp));
162 return mlirOperationGetOperand(op, 0);
166 mlirOperationSetOperand(op, 0, value);
170 return mlirOperationGetOperand(op, 1);
174 mlirOperationSetOperand(op, 1, value);
178 return mlirOperationGetResult(op, 0);
182 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"bool.xor"), location);
183 mlirOperationStateEnableResultTypeInference(&state);
184 mlirOperationStateAddOperands(&state, 1, &lhs);
185 mlirOperationStateAddOperands(&state, 1, &rhs);
191 return llvm::isa<XorBoolOp>(unwrap(inp));
195 return mlirOperationGetOperand(op, 0);
199 mlirOperationSetOperand(op, 0, value);
203 return mlirOperationGetOperand(op, 1);
207 mlirOperationSetOperand(op, 1, value);
211 return mlirOperationGetResult(op, 0);
MlirOperation llzkBool_AssertOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue condition, MlirIdentifier msg)
Build a llzk::boolean::AssertOp Operation.
MlirOperation llzkBool_XorBoolOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue lhs, MlirValue rhs)
Build a llzk::boolean::XorBoolOp Operation.
void llzkBool_XorBoolOpSetLhs(MlirOperation op, MlirValue value)
Set Lhs operand of llzk::boolean::XorBoolOp Operation.
MlirValue llzkBool_NotBoolOpGetOperand(MlirOperation op)
Get Operand operand from llzk::boolean::NotBoolOp Operation.
bool llzkOperationIsA_Bool_CmpOp(MlirOperation inp)
Returns true if the Operation is a llzk::boolean::CmpOp.
MlirValue llzkBool_OrBoolOpGetLhs(MlirOperation op)
Get Lhs operand from llzk::boolean::OrBoolOp Operation.
MlirValue llzkBool_AssertOpGetCondition(MlirOperation op)
Get Condition operand from llzk::boolean::AssertOp Operation.
bool llzkOperationIsA_Bool_AssertOp(MlirOperation inp)
Returns true if the Operation is a llzk::boolean::AssertOp.
MlirValue llzkBool_XorBoolOpGetResult(MlirOperation op)
Get Result result from llzk::boolean::XorBoolOp Operation.
MlirValue llzkBool_CmpOpGetResult(MlirOperation op)
Get Result result from llzk::boolean::CmpOp Operation.
MlirOperation llzkBool_OrBoolOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue lhs, MlirValue rhs)
Build a llzk::boolean::OrBoolOp Operation.
void llzkBool_XorBoolOpSetRhs(MlirOperation op, MlirValue value)
Set Rhs operand of llzk::boolean::XorBoolOp Operation.
MlirValue llzkBool_AndBoolOpGetRhs(MlirOperation op)
Get Rhs operand from llzk::boolean::AndBoolOp Operation.
bool llzkOperationIsA_Bool_XorBoolOp(MlirOperation inp)
Returns true if the Operation is a llzk::boolean::XorBoolOp.
MlirOperation llzkBool_CmpOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue lhs, MlirValue rhs, MlirAttribute predicate)
Build a llzk::boolean::CmpOp Operation.
void llzkBool_CmpOpSetPredicate(MlirOperation op, MlirAttribute attr)
Set Predicate attribute of llzk::boolean::CmpOp Operation.
bool llzkOperationIsA_Bool_NotBoolOp(MlirOperation inp)
Returns true if the Operation is a llzk::boolean::NotBoolOp.
void llzkBool_NotBoolOpSetOperand(MlirOperation op, MlirValue value)
Set Operand operand of llzk::boolean::NotBoolOp Operation.
MlirAttribute llzkBool_AssertOpGetMsg(MlirOperation op)
Get Msg attribute from llzk::boolean::AssertOp Operation.
MlirValue llzkBool_OrBoolOpGetResult(MlirOperation op)
Get Result result from llzk::boolean::OrBoolOp Operation.
MlirValue llzkBool_OrBoolOpGetRhs(MlirOperation op)
Get Rhs operand from llzk::boolean::OrBoolOp Operation.
void llzkBool_AndBoolOpSetLhs(MlirOperation op, MlirValue value)
Set Lhs operand of llzk::boolean::AndBoolOp Operation.
void llzkBool_AndBoolOpSetRhs(MlirOperation op, MlirValue value)
Set Rhs operand of llzk::boolean::AndBoolOp Operation.
MlirOperation llzkBool_NotBoolOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue operand)
Build a llzk::boolean::NotBoolOp Operation.
MlirValue llzkBool_AndBoolOpGetLhs(MlirOperation op)
Get Lhs operand from llzk::boolean::AndBoolOp Operation.
void llzkBool_OrBoolOpSetLhs(MlirOperation op, MlirValue value)
Set Lhs operand of llzk::boolean::OrBoolOp Operation.
void llzkBool_AssertOpSetCondition(MlirOperation op, MlirValue value)
Set Condition operand of llzk::boolean::AssertOp Operation.
MlirValue llzkBool_CmpOpGetLhs(MlirOperation op)
Get Lhs operand from llzk::boolean::CmpOp Operation.
MlirValue llzkBool_XorBoolOpGetRhs(MlirOperation op)
Get Rhs operand from llzk::boolean::XorBoolOp Operation.
MlirValue llzkBool_AndBoolOpGetResult(MlirOperation op)
Get Result result from llzk::boolean::AndBoolOp Operation.
void llzkBool_OrBoolOpSetRhs(MlirOperation op, MlirValue value)
Set Rhs operand of llzk::boolean::OrBoolOp Operation.
MlirAttribute llzkBool_CmpOpGetPredicate(MlirOperation op)
Get Predicate attribute from llzk::boolean::CmpOp Operation.
MlirValue llzkBool_NotBoolOpGetResult(MlirOperation op)
Get Result result from llzk::boolean::NotBoolOp Operation.
void llzkBool_AssertOpSetMsg(MlirOperation op, MlirAttribute attr)
Set Msg attribute of llzk::boolean::AssertOp Operation.
bool llzkOperationIsA_Bool_OrBoolOp(MlirOperation inp)
Returns true if the Operation is a llzk::boolean::OrBoolOp.
MlirValue llzkBool_CmpOpGetRhs(MlirOperation op)
Get Rhs operand from llzk::boolean::CmpOp Operation.
MlirValue llzkBool_XorBoolOpGetLhs(MlirOperation op)
Get Lhs operand from llzk::boolean::XorBoolOp Operation.
bool llzkOperationIsA_Bool_AndBoolOp(MlirOperation inp)
Returns true if the Operation is a llzk::boolean::AndBoolOp.
MlirOperation llzkBool_AndBoolOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue lhs, MlirValue rhs)
Build a llzk::boolean::AndBoolOp Operation.
void llzkBool_CmpOpSetRhs(MlirOperation op, MlirValue value)
Set Rhs operand of llzk::boolean::CmpOp Operation.
void llzkBool_CmpOpSetLhs(MlirOperation op, MlirValue value)
Set Lhs operand of llzk::boolean::CmpOp Operation.
MlirContext mlirOpBuilderGetContext(MlirOpBuilder builder)
Returns the MLIR context associated with builder.
MlirOperation mlirOpBuilderInsert(MlirOpBuilder builder, MlirOperation op)
Inserts op at the current insertion point of builder and returns it.