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 ®istry); 29bfdc4723SMatthias Springer 3026e59cc1SAlex Zinenko } // namespace mlir 3126e59cc1SAlex Zinenko 3226e59cc1SAlex Zinenko #endif // MLIR_CONVERSION_MATHTOLLVM_MATHTOLLVM_H 33