[Mlir-commits] [mlir] [mlir][spirv] Add basic support for SPV_EXT_replicated_composites (PR #147067)
Jakub Kuderski
llvmlistbot at llvm.org
Wed Jul 9 11:06:21 PDT 2025
================
@@ -118,6 +128,33 @@ Serializer::processSpecConstantCompositeOp(spirv::SpecConstantCompositeOp op) {
return processName(resultID, op.getSymName());
}
+LogicalResult Serializer::processSpecConstantCompositeReplicateOp(
+ spirv::EXTSpecConstantCompositeReplicateOp op) {
+ uint32_t typeID = 0;
+ if (failed(processType(op.getLoc(), op.getType(), typeID))) {
+ return failure();
+ }
+
+ auto constituent = dyn_cast<FlatSymbolRefAttr>(op.getConstituent());
+ StringRef constituentName = constituent.getValue();
+ uint32_t constituentID = getSpecConstID(constituentName);
+ if (!constituentID) {
+ return op.emitError("unknown result <id> for replicated spec constant ")
+ << constituentName;
+ }
+
+ uint32_t resultID = getNextID();
+ SmallVector<uint32_t> operands = {typeID, resultID, constituentID};
----------------
kuhar wrote:
Since this is never resized, a plain array will also do
https://github.com/llvm/llvm-project/pull/147067
More information about the Mlir-commits
mailing list