MLIR  21.0.0git
Deserialization.cpp
Go to the documentation of this file.
1 //===- Deserialization.cpp - MLIR SPIR-V Deserialization ------------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
10 
11 #include "Deserializer.h"
12 
13 using namespace mlir;
14 
18  Deserializer deserializer(binary, context, options);
19 
20  if (failed(deserializer.deserialize()))
21  return nullptr;
22 
23  return deserializer.collect();
24 }
static llvm::ManagedStatic< PassManagerOptions > options
MLIRContext is the top-level object for a collection of MLIR operations.
Definition: MLIRContext.h:60
A SPIR-V module serializer.
Definition: Deserializer.h:121
LogicalResult deserialize()
Deserializes the remembered SPIR-V binary module.
OwningOpRef< spirv::ModuleOp > collect()
Collects the final SPIR-V ModuleOp.
OwningOpRef< spirv::ModuleOp > deserialize(ArrayRef< uint32_t > binary, MLIRContext *context, const DeserializationOptions &options={})
Deserializes the given SPIR-V binary module and creates a MLIR ModuleOp in the given context.
Include the generated interface declarations.