xref: /llvm-project/mlir/include/mlir/Conversion/MathToLLVM/MathToLLVM.h (revision 206fad0e218e83799e49ca15545d997c6c5e8a03)
126e59cc1SAlex Zinenko //===- MathToLLVM.h - Math to LLVM dialect conversion -----------*- C++ -*-===//
226e59cc1SAlex Zinenko //
326e59cc1SAlex Zinenko // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
426e59cc1SAlex Zinenko // See https://llvm.org/LICENSE.txt for license information.
526e59cc1SAlex Zinenko // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
626e59cc1SAlex Zinenko //
726e59cc1SAlex Zinenko //===----------------------------------------------------------------------===//
826e59cc1SAlex Zinenko 
926e59cc1SAlex Zinenko #ifndef MLIR_CONVERSION_MATHTOLLVM_MATHTOLLVM_H
1026e59cc1SAlex Zinenko #define MLIR_CONVERSION_MATHTOLLVM_MATHTOLLVM_H
1126e59cc1SAlex Zinenko 
1226e59cc1SAlex Zinenko #include <memory>
1326e59cc1SAlex Zinenko 
1426e59cc1SAlex Zinenko namespace mlir {
1526e59cc1SAlex Zinenko 
16bfdc4723SMatthias Springer class DialectRegistry;
1726e59cc1SAlex Zinenko class LLVMTypeConverter;
1826e59cc1SAlex Zinenko class RewritePatternSet;
1926e59cc1SAlex Zinenko class Pass;
2026e59cc1SAlex Zinenko 
21cd4ca2d7SMarkus Böck #define GEN_PASS_DECL_CONVERTMATHTOLLVMPASS
2267d0d7acSMichele Scuttari #include "mlir/Conversion/Passes.h.inc"
2367d0d7acSMichele Scuttari 
24*206fad0eSMatthias Springer void populateMathToLLVMConversionPatterns(const LLVMTypeConverter &converter,
258a9d4895SAlexander Belyaev                                           RewritePatternSet &patterns,
268a9d4895SAlexander Belyaev                                           bool approximateLog1p = true);
27bfdc4723SMatthias Springer 
28bfdc4723SMatthias Springer void registerConvertMathToLLVMInterface(DialectRegistry &registry);
29bfdc4723SMatthias Springer 
3026e59cc1SAlex Zinenko } // namespace mlir
3126e59cc1SAlex Zinenko 
3226e59cc1SAlex Zinenko #endif // MLIR_CONVERSION_MATHTOLLVM_MATHTOLLVM_H
33