21#define GEN_PASS_DEF_CONVERTMATHTOEMITC
22#include "mlir/Conversion/Passes.h.inc"
29struct ConvertMathToEmitC
31 using ConvertMathToEmitCBase::ConvertMathToEmitCBase;
34 void runOnOperation()
final;
39void ConvertMathToEmitC::runOnOperation() {
41 target.addLegalOp<emitc::CallOpaqueOp>();
44 math::FloorOp, math::ExpOp, math::RoundOp, math::CosOp, math::SinOp,
45 math::Atan2Op, math::CeilOp, math::AcosOp, math::AsinOp, math::AbsFOp,
46 math::PowFOp, math::TanOp, math::AtanOp, math::SinhOp, math::CoshOp,
47 math::TanhOp, math::AsinhOp, math::AcoshOp, math::AtanhOp, math::Exp2Op,
48 math::ExpM1Op, math::LogOp, math::Log2Op, math::Log10Op, math::Log1pOp,
49 math::CbrtOp, math::ErfOp, math::ErfcOp, math::TruncOp, math::CopySignOp,
50 math::FmaOp, math::IsNaNOp, math::IsInfOp, math::IsFiniteOp,
57 applyPartialConversion(getOperation(),
target, std::move(patterns))))
Include the generated interface declarations.
void populateConvertMathToEmitCPatterns(RewritePatternSet &patterns, emitc::LanguageTarget languageTarget)