MLIR  19.0.0git
Serialization.h
Go to the documentation of this file.
1 //===- Serialization.h - MLIR SPIR-V (De)serialization ----------*- C++ -*-===//
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 //
9 // This file declares the entry point for serializing SPIR-V binary modules.
10 //
11 //===----------------------------------------------------------------------===//
12 
13 #ifndef MLIR_TARGET_SPIRV_SERIALIZATION_H
14 #define MLIR_TARGET_SPIRV_SERIALIZATION_H
15 
16 #include "mlir/Support/LLVM.h"
17 
18 namespace mlir {
19 struct LogicalResult;
20 class MLIRContext;
21 
22 namespace spirv {
23 class ModuleOp;
24 
26  /// Whether to emit `OpName` instructions for SPIR-V symbol ops.
27  bool emitSymbolName = true;
28  /// Whether to emit `OpLine` location information for SPIR-V ops.
29  bool emitDebugInfo = false;
30 };
31 
32 /// Serializes the given SPIR-V `module` and writes to `binary`. On failure,
33 /// reports errors to the error handler registered with the MLIR context for
34 /// `module`.
36  const SerializationOptions &options = {});
37 
38 } // namespace spirv
39 } // namespace mlir
40 
41 #endif // MLIR_TARGET_SPIRV_SERIALIZATION_H
static llvm::ManagedStatic< PassManagerOptions > options
LogicalResult serialize(ModuleOp module, SmallVectorImpl< uint32_t > &binary, const SerializationOptions &options={})
Serializes the given SPIR-V module and writes to binary.
Include the generated interface declarations.
This class represents an efficient way to signal success or failure.
Definition: LogicalResult.h:26
bool emitSymbolName
Whether to emit OpName instructions for SPIR-V symbol ops.
Definition: Serialization.h:27
bool emitDebugInfo
Whether to emit OpLine location information for SPIR-V ops.
Definition: Serialization.h:29