MLIR 22.0.0git
ExportSMTLIB.h
Go to the documentation of this file.
1//===- ExportSMTLIB.h - SMT-LIB Exporter ------------------------*- 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// Defines the interface to the SMT-LIB emitter.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef MLIR_TARGET_EXPORTSMTLIB_H
14#define MLIR_TARGET_EXPORTSMTLIB_H
15
16#include "mlir/Support/LLVM.h"
17
18namespace mlir {
19class Operation;
20namespace smt {
21
22/// Emission options for the ExportSMTLIB pass. Allows controlling the emitted
23/// format and overall behavior.
25 // Don't produce 'let' expressions to bind expressions that are only used
26 // once, but inline them directly at the use-site.
28 // Increase indentation for each 'let' expression body.
29 bool indentLetBody = false;
30};
31
32/// Run the ExportSMTLIB pass.
33LogicalResult
34exportSMTLIB(Operation *module, llvm::raw_ostream &os,
36
37/// Register the ExportSMTLIB pass.
39
40} // namespace smt
41} // namespace mlir
42
43#endif // MLIR_TARGET_EXPORTSMTLIB_H
static llvm::ManagedStatic< PassManagerOptions > options
Operation is the basic unit of execution within MLIR.
Definition Operation.h:88
void registerExportSMTLIBTranslation()
Register the ExportSMTLIB pass.
LogicalResult exportSMTLIB(Operation *module, llvm::raw_ostream &os, const SMTEmissionOptions &options=SMTEmissionOptions())
Run the ExportSMTLIB pass.
Include the generated interface declarations.
Emission options for the ExportSMTLIB pass.