//===- FuncToEmitC.cpp - Func to EmitC Patterns -----------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This file implements patterns to convert the Func dialect to the EmitC // dialect. // //===----------------------------------------------------------------------===// #include "mlir/Conversion/FuncToEmitC/FuncToEmitC.h" #include "mlir/Dialect/EmitC/IR/EmitC.h" #include "mlir/Dialect/Func/IR/FuncOps.h" #include "mlir/Transforms/DialectConversion.h" usingnamespacemlir; //===----------------------------------------------------------------------===// // Conversion Patterns //===----------------------------------------------------------------------===// namespace { class CallOpConversion final : public OpConversionPattern<func::CallOp> { … }; class FuncOpConversion final : public OpConversionPattern<func::FuncOp> { … }; class ReturnOpConversion final : public OpConversionPattern<func::ReturnOp> { … }; } // namespace //===----------------------------------------------------------------------===// // Pattern population //===----------------------------------------------------------------------===// void mlir::populateFuncToEmitCPatterns(RewritePatternSet &patterns) { … }