17 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"array.len"), location);
18 mlirOperationStateEnableResultTypeInference(&state);
19 mlirOperationStateAddOperands(&state, 1, &arr_ref);
20 mlirOperationStateAddOperands(&state, 1, &dim);
26 return llvm::isa<ArrayLengthOp>(unwrap(inp));
30 auto range = llvm::cast<ArrayLengthOp>(unwrap(op)).getODSOperandIndexAndLength(0);
31 assert(range.second == 1 &&
"expected fixed operand segment size");
33 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
34 "operand index exceeds intptr_t range"
36 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first));
40 auto range = llvm::cast<ArrayLengthOp>(unwrap(op)).getODSOperandIndexAndLength(0);
41 assert(range.second == 1 &&
"expected fixed operand segment size");
43 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
44 "operand index exceeds intptr_t range"
46 mlirOperationSetOperand(op,
static_cast<intptr_t
>(range.first), value);
50 auto range = llvm::cast<ArrayLengthOp>(unwrap(op)).getODSOperandIndexAndLength(1);
51 assert(range.second == 1 &&
"expected fixed operand segment size");
53 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
54 "operand index exceeds intptr_t range"
56 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first));
60 auto range = llvm::cast<ArrayLengthOp>(unwrap(op)).getODSOperandIndexAndLength(1);
61 assert(range.second == 1 &&
"expected fixed operand segment size");
63 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
64 "operand index exceeds intptr_t range"
66 mlirOperationSetOperand(op,
static_cast<intptr_t
>(range.first), value);
70 return mlirOperationGetResult(op, 0);
74 return wrap(llvm::cast<ArrayLengthOp>(unwrap(inp)).getArrRefType());
78 return llvm::isa<CreateArrayOp>(unwrap(inp));
82 auto range = llvm::cast<CreateArrayOp>(unwrap(op)).getODSOperandIndexAndLength(0);
87 auto range = llvm::cast<CreateArrayOp>(unwrap(op)).getODSOperandIndexAndLength(0);
88 assert(index >= 0 && index < range.second &&
"variadic operand index out of range");
90 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
91 "operand index exceeds intptr_t range"
93 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first) + index);
99 ::llvm::SmallVector<::mlir::Value> vals;
100 vals.reserve(
static_cast<size_t>(count));
101 for (intptr_t i = 0; i < count; ++i)
102 vals.push_back(unwrap(values[i]));
103 ::llvm::cast<CreateArrayOp>(unwrap(op)).getElementsMutable().assign(vals);
107 auto range = llvm::cast<CreateArrayOp>(unwrap(op)).getODSOperandIndexAndLength(1);
112 auto range = llvm::cast<CreateArrayOp>(unwrap(op)).getODSOperandIndexAndLength(1);
113 assert(index >= 0 && index < range.second &&
"variadic operand index out of range");
115 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
116 "operand index exceeds intptr_t range"
118 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first) + index);
125 ::llvm::SmallVector<::mlir::Value> vals;
126 for (intptr_t g = 0; g < groupCount; ++g) {
127 assert(groups[g].size >= 0 &&
"group size must be non-negative");
128 for (intptr_t i = 0; i < groups[g].
size; ++i) {
129 vals.push_back(unwrap(groups[g].values[i]));
132 ::llvm::cast<CreateArrayOp>(unwrap(op)).getMapOperandsMutable().join().assign(vals);
134 ::llvm::SmallVector<int32_t> newGroupSizes;
135 newGroupSizes.reserve(
static_cast<size_t>(groupCount));
136 for (intptr_t g = 0; g < groupCount; ++g) {
138 groups[g].size <=
static_cast<intptr_t
>(std::numeric_limits<int32_t>::max()) &&
139 "group size exceeds int32_t range"
141 newGroupSizes.push_back(
static_cast<int32_t
>(groups[g].size));
143 MlirContext ctx = mlirOperationGetContext(op);
145 newGroupSizes.size() <=
static_cast<size_t>(std::numeric_limits<intptr_t>::max()) &&
146 "group count exceeds intptr_t range"
148 mlirOperationSetAttributeByName(
149 op, mlirStringRefCreateFromCString(
"mapOpGroupSizes"),
150 mlirDenseI32ArrayGet(ctx,
static_cast<intptr_t
>(newGroupSizes.size()), newGroupSizes.data())
155 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString(
"numDimsPerMap"));
159 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString(
"numDimsPerMap"), attr);
163 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString(
"mapOpGroupSizes"));
167 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString(
"mapOpGroupSizes"), attr);
171 return mlirOperationGetResult(op, 0);
174MlirOperation
llzkArray_ExtractArrayOpBuild(MlirOpBuilder builder, MlirLocation location, MlirType resultType, MlirValue arr_ref, intptr_t indicesSize, MlirValue
const *indices) {
175 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"array.extract"), location);
176 mlirOperationStateAddResults(&state, 1, &resultType);
177 mlirOperationStateAddOperands(&state, 1, &arr_ref);
178 mlirOperationStateAddOperands(&state, indicesSize, indices);
184 return llvm::isa<ExtractArrayOp>(unwrap(inp));
188 auto range = llvm::cast<ExtractArrayOp>(unwrap(op)).getODSOperandIndexAndLength(0);
189 assert(range.second == 1 &&
"expected fixed operand segment size");
191 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
192 "operand index exceeds intptr_t range"
194 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first));
198 auto range = llvm::cast<ExtractArrayOp>(unwrap(op)).getODSOperandIndexAndLength(0);
199 assert(range.second == 1 &&
"expected fixed operand segment size");
201 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
202 "operand index exceeds intptr_t range"
204 mlirOperationSetOperand(op,
static_cast<intptr_t
>(range.first), value);
208 auto range = llvm::cast<ExtractArrayOp>(unwrap(op)).getODSOperandIndexAndLength(1);
213 auto range = llvm::cast<ExtractArrayOp>(unwrap(op)).getODSOperandIndexAndLength(1);
214 assert(index >= 0 && index < range.second &&
"variadic operand index out of range");
216 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
217 "operand index exceeds intptr_t range"
219 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first) + index);
225 ::llvm::SmallVector<::mlir::Value> vals;
226 vals.reserve(
static_cast<size_t>(count));
227 for (intptr_t i = 0; i < count; ++i)
228 vals.push_back(unwrap(values[i]));
229 ::llvm::cast<ExtractArrayOp>(unwrap(op)).getIndicesMutable().assign(vals);
233 return mlirOperationGetResult(op, 0);
237 return wrap(llvm::cast<ExtractArrayOp>(unwrap(inp)).getArrRefType());
240MlirOperation
llzkArray_InsertArrayOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue arr_ref, intptr_t indicesSize, MlirValue
const *indices, MlirValue rvalue) {
241 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"array.insert"), location);
242 mlirOperationStateAddOperands(&state, 1, &arr_ref);
243 mlirOperationStateAddOperands(&state, indicesSize, indices);
244 mlirOperationStateAddOperands(&state, 1, &rvalue);
250 return llvm::isa<InsertArrayOp>(unwrap(inp));
254 auto range = llvm::cast<InsertArrayOp>(unwrap(op)).getODSOperandIndexAndLength(0);
255 assert(range.second == 1 &&
"expected fixed operand segment size");
257 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
258 "operand index exceeds intptr_t range"
260 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first));
264 auto range = llvm::cast<InsertArrayOp>(unwrap(op)).getODSOperandIndexAndLength(0);
265 assert(range.second == 1 &&
"expected fixed operand segment size");
267 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
268 "operand index exceeds intptr_t range"
270 mlirOperationSetOperand(op,
static_cast<intptr_t
>(range.first), value);
274 auto range = llvm::cast<InsertArrayOp>(unwrap(op)).getODSOperandIndexAndLength(1);
279 auto range = llvm::cast<InsertArrayOp>(unwrap(op)).getODSOperandIndexAndLength(1);
280 assert(index >= 0 && index < range.second &&
"variadic operand index out of range");
282 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
283 "operand index exceeds intptr_t range"
285 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first) + index);
291 ::llvm::SmallVector<::mlir::Value> vals;
292 vals.reserve(
static_cast<size_t>(count));
293 for (intptr_t i = 0; i < count; ++i)
294 vals.push_back(unwrap(values[i]));
295 ::llvm::cast<InsertArrayOp>(unwrap(op)).getIndicesMutable().assign(vals);
299 auto range = llvm::cast<InsertArrayOp>(unwrap(op)).getODSOperandIndexAndLength(2);
300 assert(range.second == 1 &&
"expected fixed operand segment size");
302 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
303 "operand index exceeds intptr_t range"
305 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first));
309 auto range = llvm::cast<InsertArrayOp>(unwrap(op)).getODSOperandIndexAndLength(2);
310 assert(range.second == 1 &&
"expected fixed operand segment size");
312 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
313 "operand index exceeds intptr_t range"
315 mlirOperationSetOperand(op,
static_cast<intptr_t
>(range.first), value);
319 return wrap(llvm::cast<InsertArrayOp>(unwrap(inp)).getArrRefType());
322MlirOperation
llzkArray_ReadArrayOpBuild(MlirOpBuilder builder, MlirLocation location, MlirType resultType, MlirValue arr_ref, intptr_t indicesSize, MlirValue
const *indices) {
323 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"array.read"), location);
324 mlirOperationStateAddResults(&state, 1, &resultType);
325 mlirOperationStateAddOperands(&state, 1, &arr_ref);
326 mlirOperationStateAddOperands(&state, indicesSize, indices);
332 return llvm::isa<ReadArrayOp>(unwrap(inp));
336 auto range = llvm::cast<ReadArrayOp>(unwrap(op)).getODSOperandIndexAndLength(0);
337 assert(range.second == 1 &&
"expected fixed operand segment size");
339 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
340 "operand index exceeds intptr_t range"
342 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first));
346 auto range = llvm::cast<ReadArrayOp>(unwrap(op)).getODSOperandIndexAndLength(0);
347 assert(range.second == 1 &&
"expected fixed operand segment size");
349 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
350 "operand index exceeds intptr_t range"
352 mlirOperationSetOperand(op,
static_cast<intptr_t
>(range.first), value);
356 auto range = llvm::cast<ReadArrayOp>(unwrap(op)).getODSOperandIndexAndLength(1);
361 auto range = llvm::cast<ReadArrayOp>(unwrap(op)).getODSOperandIndexAndLength(1);
362 assert(index >= 0 && index < range.second &&
"variadic operand index out of range");
364 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
365 "operand index exceeds intptr_t range"
367 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first) + index);
373 ::llvm::SmallVector<::mlir::Value> vals;
374 vals.reserve(
static_cast<size_t>(count));
375 for (intptr_t i = 0; i < count; ++i)
376 vals.push_back(unwrap(values[i]));
377 ::llvm::cast<ReadArrayOp>(unwrap(op)).getIndicesMutable().assign(vals);
381 return mlirOperationGetResult(op, 0);
385 return wrap(llvm::cast<ReadArrayOp>(unwrap(inp)).getArrRefType());
388MlirOperation
llzkArray_WriteArrayOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue arr_ref, intptr_t indicesSize, MlirValue
const *indices, MlirValue rvalue) {
389 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"array.write"), location);
390 mlirOperationStateAddOperands(&state, 1, &arr_ref);
391 mlirOperationStateAddOperands(&state, indicesSize, indices);
392 mlirOperationStateAddOperands(&state, 1, &rvalue);
398 return llvm::isa<WriteArrayOp>(unwrap(inp));
402 auto range = llvm::cast<WriteArrayOp>(unwrap(op)).getODSOperandIndexAndLength(0);
403 assert(range.second == 1 &&
"expected fixed operand segment size");
405 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
406 "operand index exceeds intptr_t range"
408 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first));
412 auto range = llvm::cast<WriteArrayOp>(unwrap(op)).getODSOperandIndexAndLength(0);
413 assert(range.second == 1 &&
"expected fixed operand segment size");
415 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
416 "operand index exceeds intptr_t range"
418 mlirOperationSetOperand(op,
static_cast<intptr_t
>(range.first), value);
422 auto range = llvm::cast<WriteArrayOp>(unwrap(op)).getODSOperandIndexAndLength(1);
427 auto range = llvm::cast<WriteArrayOp>(unwrap(op)).getODSOperandIndexAndLength(1);
428 assert(index >= 0 && index < range.second &&
"variadic operand index out of range");
430 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
431 "operand index exceeds intptr_t range"
433 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first) + index);
439 ::llvm::SmallVector<::mlir::Value> vals;
440 vals.reserve(
static_cast<size_t>(count));
441 for (intptr_t i = 0; i < count; ++i)
442 vals.push_back(unwrap(values[i]));
443 ::llvm::cast<WriteArrayOp>(unwrap(op)).getIndicesMutable().assign(vals);
447 auto range = llvm::cast<WriteArrayOp>(unwrap(op)).getODSOperandIndexAndLength(2);
448 assert(range.second == 1 &&
"expected fixed operand segment size");
450 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
451 "operand index exceeds intptr_t range"
453 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first));
457 auto range = llvm::cast<WriteArrayOp>(unwrap(op)).getODSOperandIndexAndLength(2);
458 assert(range.second == 1 &&
"expected fixed operand segment size");
460 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
461 "operand index exceeds intptr_t range"
463 mlirOperationSetOperand(op,
static_cast<intptr_t
>(range.first), value);
467 return wrap(llvm::cast<WriteArrayOp>(unwrap(inp)).getArrRefType());
bool llzkOperationIsA_Array_InsertArrayOp(MlirOperation inp)
Returns true if the Operation is a llzk::array::InsertArrayOp.
MlirValue llzkArray_InsertArrayOpGetIndicesAt(MlirOperation op, intptr_t index)
Get Indices operand at index from llzk::array::InsertArrayOp Operation.
MlirValue llzkArray_WriteArrayOpGetRvalue(MlirOperation op)
Get Rvalue operand from llzk::array::WriteArrayOp Operation.
void llzkArray_CreateArrayOpSetNumDimsPerMap(MlirOperation op, MlirAttribute attr)
Set NumDimsPerMap attribute of llzk::array::CreateArrayOp Operation.
MlirValue llzkArray_ReadArrayOpGetArrRef(MlirOperation op)
Get ArrRef operand from llzk::array::ReadArrayOp Operation.
MlirType llzkArray_WriteArrayOpGetArrRefType(MlirOperation inp)
Gets the type of the referenced base array.
void llzkArray_InsertArrayOpSetRvalue(MlirOperation op, MlirValue value)
Set Rvalue operand of llzk::array::InsertArrayOp Operation.
void llzkArray_ArrayLengthOpSetArrRef(MlirOperation op, MlirValue value)
Set ArrRef operand of llzk::array::ArrayLengthOp Operation.
intptr_t llzkArray_CreateArrayOpGetElementsCount(MlirOperation op)
Get number of Elements operands in llzk::array::CreateArrayOp Operation.
void llzkArray_ExtractArrayOpSetArrRef(MlirOperation op, MlirValue value)
Set ArrRef operand of llzk::array::ExtractArrayOp Operation.
bool llzkOperationIsA_Array_ExtractArrayOp(MlirOperation inp)
Returns true if the Operation is a llzk::array::ExtractArrayOp.
void llzkArray_ArrayLengthOpSetDim(MlirOperation op, MlirValue value)
Set Dim operand of llzk::array::ArrayLengthOp Operation.
MlirOperation llzkArray_ArrayLengthOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue arr_ref, MlirValue dim)
Build a llzk::array::ArrayLengthOp Operation.
void llzkArray_CreateArrayOpSetElements(MlirOperation op, intptr_t count, MlirValue const *values)
Set Elements operands of llzk::array::CreateArrayOp Operation.
void llzkArray_WriteArrayOpSetRvalue(MlirOperation op, MlirValue value)
Set Rvalue operand of llzk::array::WriteArrayOp Operation.
MlirValue llzkArray_InsertArrayOpGetRvalue(MlirOperation op)
Get Rvalue operand from llzk::array::InsertArrayOp Operation.
bool llzkOperationIsA_Array_ReadArrayOp(MlirOperation inp)
Returns true if the Operation is a llzk::array::ReadArrayOp.
intptr_t llzkArray_WriteArrayOpGetIndicesCount(MlirOperation op)
Get number of Indices operands in llzk::array::WriteArrayOp Operation.
MlirType llzkArray_ReadArrayOpGetArrRefType(MlirOperation inp)
Gets the type of the referenced base array.
MlirValue llzkArray_CreateArrayOpGetResult(MlirOperation op)
Get Result result from llzk::array::CreateArrayOp Operation.
intptr_t llzkArray_ReadArrayOpGetIndicesCount(MlirOperation op)
Get number of Indices operands in llzk::array::ReadArrayOp Operation.
void llzkArray_ReadArrayOpSetIndices(MlirOperation op, intptr_t count, MlirValue const *values)
Set Indices operands of llzk::array::ReadArrayOp Operation.
MlirValue llzkArray_ArrayLengthOpGetLength(MlirOperation op)
Get Length result from llzk::array::ArrayLengthOp Operation.
void llzkArray_InsertArrayOpSetIndices(MlirOperation op, intptr_t count, MlirValue const *values)
Set Indices operands of llzk::array::InsertArrayOp Operation.
MlirValue llzkArray_ExtractArrayOpGetArrRef(MlirOperation op)
Get ArrRef operand from llzk::array::ExtractArrayOp Operation.
intptr_t llzkArray_ExtractArrayOpGetIndicesCount(MlirOperation op)
Get number of Indices operands in llzk::array::ExtractArrayOp Operation.
MlirType llzkArray_ArrayLengthOpGetArrRefType(MlirOperation inp)
Gets the type of the referenced base array.
MlirOperation llzkArray_InsertArrayOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue arr_ref, intptr_t indicesSize, MlirValue const *indices, MlirValue rvalue)
Build a llzk::array::InsertArrayOp Operation.
MlirOperation llzkArray_ExtractArrayOpBuild(MlirOpBuilder builder, MlirLocation location, MlirType resultType, MlirValue arr_ref, intptr_t indicesSize, MlirValue const *indices)
Build a llzk::array::ExtractArrayOp Operation.
MlirValue llzkArray_ExtractArrayOpGetResult(MlirOperation op)
Get Result result from llzk::array::ExtractArrayOp Operation.
void llzkArray_ExtractArrayOpSetIndices(MlirOperation op, intptr_t count, MlirValue const *values)
Set Indices operands of llzk::array::ExtractArrayOp Operation.
MlirType llzkArray_InsertArrayOpGetArrRefType(MlirOperation inp)
Gets the type of the referenced base array.
MlirValue llzkArray_CreateArrayOpGetMapOperandsAt(MlirOperation op, intptr_t index)
Get MapOperands operand at index from llzk::array::CreateArrayOp Operation.
intptr_t llzkArray_InsertArrayOpGetIndicesCount(MlirOperation op)
Get number of Indices operands in llzk::array::InsertArrayOp Operation.
MlirAttribute llzkArray_CreateArrayOpGetMapOpGroupSizes(MlirOperation op)
Get MapOpGroupSizes attribute from llzk::array::CreateArrayOp Operation.
void llzkArray_WriteArrayOpSetIndices(MlirOperation op, intptr_t count, MlirValue const *values)
Set Indices operands of llzk::array::WriteArrayOp Operation.
MlirValue llzkArray_ExtractArrayOpGetIndicesAt(MlirOperation op, intptr_t index)
Get Indices operand at index from llzk::array::ExtractArrayOp Operation.
MlirAttribute llzkArray_CreateArrayOpGetNumDimsPerMap(MlirOperation op)
Get NumDimsPerMap attribute from llzk::array::CreateArrayOp Operation.
bool llzkOperationIsA_Array_WriteArrayOp(MlirOperation inp)
Returns true if the Operation is a llzk::array::WriteArrayOp.
void llzkArray_ReadArrayOpSetArrRef(MlirOperation op, MlirValue value)
Set ArrRef operand of llzk::array::ReadArrayOp Operation.
intptr_t llzkArray_CreateArrayOpGetMapOperandsCount(MlirOperation op)
Get number of MapOperands operands in llzk::array::CreateArrayOp Operation.
MlirOperation llzkArray_ReadArrayOpBuild(MlirOpBuilder builder, MlirLocation location, MlirType resultType, MlirValue arr_ref, intptr_t indicesSize, MlirValue const *indices)
Build a llzk::array::ReadArrayOp Operation.
void llzkArray_WriteArrayOpSetArrRef(MlirOperation op, MlirValue value)
Set ArrRef operand of llzk::array::WriteArrayOp Operation.
MlirValue llzkArray_WriteArrayOpGetIndicesAt(MlirOperation op, intptr_t index)
Get Indices operand at index from llzk::array::WriteArrayOp Operation.
MlirOperation llzkArray_WriteArrayOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue arr_ref, intptr_t indicesSize, MlirValue const *indices, MlirValue rvalue)
Build a llzk::array::WriteArrayOp Operation.
MlirValue llzkArray_ArrayLengthOpGetArrRef(MlirOperation op)
Get ArrRef operand from llzk::array::ArrayLengthOp Operation.
MlirType llzkArray_ExtractArrayOpGetArrRefType(MlirOperation inp)
Gets the type of the referenced base array.
MlirValue llzkArray_WriteArrayOpGetArrRef(MlirOperation op)
Get ArrRef operand from llzk::array::WriteArrayOp Operation.
bool llzkOperationIsA_Array_CreateArrayOp(MlirOperation inp)
Returns true if the Operation is a llzk::array::CreateArrayOp.
void llzkArray_InsertArrayOpSetArrRef(MlirOperation op, MlirValue value)
Set ArrRef operand of llzk::array::InsertArrayOp Operation.
bool llzkOperationIsA_Array_ArrayLengthOp(MlirOperation inp)
Returns true if the Operation is a llzk::array::ArrayLengthOp.
MlirValue llzkArray_ReadArrayOpGetResult(MlirOperation op)
Get Result result from llzk::array::ReadArrayOp Operation.
MlirValue llzkArray_InsertArrayOpGetArrRef(MlirOperation op)
Get ArrRef operand from llzk::array::InsertArrayOp Operation.
void llzkArray_CreateArrayOpSetMapOpGroupSizes(MlirOperation op, MlirAttribute attr)
Set MapOpGroupSizes attribute of llzk::array::CreateArrayOp Operation.
void llzkArray_CreateArrayOpSetMapOperands(MlirOperation op, intptr_t groupCount, MlirValueRange const *groups)
Set MapOperands operand groups of llzk::array::CreateArrayOp Operation.
MlirValue llzkArray_ReadArrayOpGetIndicesAt(MlirOperation op, intptr_t index)
Get Indices operand at index from llzk::array::ReadArrayOp Operation.
MlirValue llzkArray_CreateArrayOpGetElementsAt(MlirOperation op, intptr_t index)
Get Elements operand at index from llzk::array::CreateArrayOp Operation.
MlirValue llzkArray_ArrayLengthOpGetDim(MlirOperation op)
Get Dim operand from llzk::array::ArrayLengthOp Operation.
MlirOperation mlirOpBuilderInsert(MlirOpBuilder builder, MlirOperation op)
Inserts op at the current insertion point of builder and returns it.
Representation of an mlir::ValueRange
intptr_t size
Number of values in the range.