if (failed(spirv::serialize(*spirvModules.begin(), binary, emitDebugInfo)))
return failure();
+ MLIRContext deserializationContext(false);
+ context->getDialectRegistry().loadAll(&deserializationContext);
// Then deserialize to get back a SPIR-V module.
- spirv::OwningSPIRVModuleRef spirvModule = spirv::deserialize(binary, context);
+ spirv::OwningSPIRVModuleRef spirvModule =
+ spirv::deserialize(binary, &deserializationContext);
if (!spirvModule)
return failure();
// Wrap around in a new MLIR module.
OwningModuleRef dstModule(ModuleOp::create(FileLineColLoc::get(
- /*filename=*/"", /*line=*/0, /*column=*/0, context)));
+ /*filename=*/"", /*line=*/0, /*column=*/0, &deserializationContext)));
dstModule->getBody()->push_front(spirvModule.release());
dstModule->print(output);