16MlirOperation
llzkGlobal_GlobalDefOpBuild(MlirOpBuilder builder, MlirLocation location, MlirIdentifier sym_name, MlirAttribute constant, MlirAttribute type, MlirAttribute initial_value) {
17 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"global.def"), location);
19 llvm::SmallVector<MlirNamedAttribute, 4> attributes;
20 if (!mlirAttributeIsNull(
reinterpret_cast<MlirAttribute&
>(sym_name))) {
21 attributes.push_back(mlirNamedAttributeGet(mlirIdentifierGet(ctx, mlirStringRefCreateFromCString(
"sym_name")),
reinterpret_cast<MlirAttribute&
>(sym_name)));
23 if (!mlirAttributeIsNull(constant)) {
24 attributes.push_back(mlirNamedAttributeGet(mlirIdentifierGet(ctx, mlirStringRefCreateFromCString(
"constant")), constant));
26 if (!mlirAttributeIsNull(type)) {
27 attributes.push_back(mlirNamedAttributeGet(mlirIdentifierGet(ctx, mlirStringRefCreateFromCString(
"type")), type));
29 if (!mlirAttributeIsNull(initial_value)) {
30 attributes.push_back(mlirNamedAttributeGet(mlirIdentifierGet(ctx, mlirStringRefCreateFromCString(
"initial_value")), initial_value));
32 mlirOperationStateAddAttributes(&state, attributes.size(), attributes.data());
38 return llvm::isa<GlobalDefOp>(unwrap(inp));
42 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString(
"sym_name"));
46 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString(
"sym_name"), attr);
50 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString(
"constant"));
54 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString(
"constant"), attr);
58 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString(
"type"));
62 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString(
"type"), attr);
66 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString(
"initial_value"));
70 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString(
"initial_value"), attr);
74 return llvm::cast<GlobalDefOp>(unwrap(inp)).isConstant();
78 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"global.read"), location);
79 mlirOperationStateAddResults(&state, 1, &valType);
81 llvm::SmallVector<MlirNamedAttribute, 1> attributes;
82 if (!mlirAttributeIsNull(name_ref)) {
83 attributes.push_back(mlirNamedAttributeGet(mlirIdentifierGet(ctx, mlirStringRefCreateFromCString(
"name_ref")), name_ref));
85 mlirOperationStateAddAttributes(&state, attributes.size(), attributes.data());
91 return llvm::isa<GlobalReadOp>(unwrap(inp));
95 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString(
"name_ref"));
99 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString(
"name_ref"), attr);
103 return mlirOperationGetResult(op, 0);
107 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"global.write"), location);
108 mlirOperationStateAddOperands(&state, 1, &val);
110 llvm::SmallVector<MlirNamedAttribute, 1> attributes;
111 if (!mlirAttributeIsNull(name_ref)) {
112 attributes.push_back(mlirNamedAttributeGet(mlirIdentifierGet(ctx, mlirStringRefCreateFromCString(
"name_ref")), name_ref));
114 mlirOperationStateAddAttributes(&state, attributes.size(), attributes.data());
120 return llvm::isa<GlobalWriteOp>(unwrap(inp));
124 auto range = llvm::cast<GlobalWriteOp>(unwrap(op)).getODSOperandIndexAndLength(0);
125 assert(range.second == 1 &&
"expected fixed operand segment size");
127 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
128 "operand index exceeds intptr_t range"
130 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first));
134 auto range = llvm::cast<GlobalWriteOp>(unwrap(op)).getODSOperandIndexAndLength(0);
135 assert(range.second == 1 &&
"expected fixed operand segment size");
137 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
138 "operand index exceeds intptr_t range"
140 mlirOperationSetOperand(op,
static_cast<intptr_t
>(range.first), value);
144 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString(
"name_ref"));
148 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString(
"name_ref"), attr);
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.
MlirOperation llzkGlobal_GlobalDefOpBuild(MlirOpBuilder builder, MlirLocation location, MlirIdentifier sym_name, MlirAttribute constant, MlirAttribute type, MlirAttribute initial_value)
Build a llzk::global::GlobalDefOp Operation.
void llzkGlobal_GlobalDefOpSetInitialValue(MlirOperation op, MlirAttribute attr)
Set InitialValue attribute of llzk::global::GlobalDefOp Operation.
MlirAttribute llzkGlobal_GlobalDefOpGetType(MlirOperation op)
Get Type attribute from llzk::global::GlobalDefOp Operation.
MlirValue llzkGlobal_GlobalWriteOpGetVal(MlirOperation op)
Get Val operand from llzk::global::GlobalWriteOp Operation.
bool llzkOperationIsA_Global_GlobalReadOp(MlirOperation inp)
Returns true if the Operation is a llzk::global::GlobalReadOp.
bool llzkOperationIsA_Global_GlobalWriteOp(MlirOperation inp)
Returns true if the Operation is a llzk::global::GlobalWriteOp.
bool llzkGlobal_GlobalDefOpIsConstant(MlirOperation inp)
isConstant
MlirAttribute llzkGlobal_GlobalDefOpGetConstant(MlirOperation op)
Get Constant attribute from llzk::global::GlobalDefOp Operation.
MlirAttribute llzkGlobal_GlobalDefOpGetInitialValue(MlirOperation op)
Get InitialValue attribute from llzk::global::GlobalDefOp Operation.
void llzkGlobal_GlobalWriteOpSetVal(MlirOperation op, MlirValue value)
Set Val operand of llzk::global::GlobalWriteOp Operation.
bool llzkOperationIsA_Global_GlobalDefOp(MlirOperation inp)
Returns true if the Operation is a llzk::global::GlobalDefOp.
void llzkGlobal_GlobalReadOpSetNameRef(MlirOperation op, MlirAttribute attr)
Set NameRef attribute of llzk::global::GlobalReadOp Operation.
void llzkGlobal_GlobalDefOpSetConstant(MlirOperation op, MlirAttribute attr)
Set Constant attribute of llzk::global::GlobalDefOp Operation.
MlirAttribute llzkGlobal_GlobalReadOpGetNameRef(MlirOperation op)
Get NameRef attribute from llzk::global::GlobalReadOp Operation.
MlirOperation llzkGlobal_GlobalWriteOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue val, MlirAttribute name_ref)
Build a llzk::global::GlobalWriteOp Operation.
MlirOperation llzkGlobal_GlobalReadOpBuild(MlirOpBuilder builder, MlirLocation location, MlirType valType, MlirAttribute name_ref)
Build a llzk::global::GlobalReadOp Operation.
MlirValue llzkGlobal_GlobalReadOpGetVal(MlirOperation op)
Get Val result from llzk::global::GlobalReadOp Operation.
void llzkGlobal_GlobalDefOpSetSymName(MlirOperation op, MlirAttribute attr)
Set SymName attribute of llzk::global::GlobalDefOp Operation.
MlirAttribute llzkGlobal_GlobalWriteOpGetNameRef(MlirOperation op)
Get NameRef attribute from llzk::global::GlobalWriteOp Operation.
MlirAttribute llzkGlobal_GlobalDefOpGetSymName(MlirOperation op)
Get SymName attribute from llzk::global::GlobalDefOp Operation.
void llzkGlobal_GlobalDefOpSetType(MlirOperation op, MlirAttribute attr)
Set Type attribute of llzk::global::GlobalDefOp Operation.
void llzkGlobal_GlobalWriteOpSetNameRef(MlirOperation op, MlirAttribute attr)
Set NameRef attribute of llzk::global::GlobalWriteOp Operation.