18349fa0fSLei Zhang //===- Deserialization.cpp - MLIR SPIR-V Deserialization ------------------===//
28349fa0fSLei Zhang //
38349fa0fSLei Zhang // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
48349fa0fSLei Zhang // See https://llvm.org/LICENSE.txt for license information.
58349fa0fSLei Zhang // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
68349fa0fSLei Zhang //
78349fa0fSLei Zhang //===----------------------------------------------------------------------===//
88349fa0fSLei Zhang 
98349fa0fSLei Zhang #include "mlir/Target/SPIRV/Deserialization.h"
108349fa0fSLei Zhang 
118349fa0fSLei Zhang #include "Deserializer.h"
128349fa0fSLei Zhang 
13*41bc54ccSLei Zhang using namespace mlir;
14*41bc54ccSLei Zhang 
deserialize(ArrayRef<uint32_t> binary,MLIRContext * context)15*41bc54ccSLei Zhang OwningOpRef<spirv::ModuleOp> spirv::deserialize(ArrayRef<uint32_t> binary,
168349fa0fSLei Zhang                                                 MLIRContext *context) {
178349fa0fSLei Zhang   Deserializer deserializer(binary, context);
188349fa0fSLei Zhang 
198349fa0fSLei Zhang   if (failed(deserializer.deserialize()))
208349fa0fSLei Zhang     return nullptr;
218349fa0fSLei Zhang 
228349fa0fSLei Zhang   return deserializer.collect();
238349fa0fSLei Zhang }
24