// Copyright 2020 Tencent // SPDX-License-Identifier: BSD-3-Clause #include #include #include #include #include "tf_dialect.h" #include "ncnn_dialect.h" using namespace mlir; namespace mlir { namespace ncnn { #include "ncnn_rewriter.inc" class NCNNOptimizePass : public PassWrapper { public: void runOnFunction(); }; void NCNNOptimizePass::runOnFunction() { mlir::OwningRewritePatternList patterns; mlir::ncnn::populateWithGenerated(&getContext(), patterns); (void)mlir::applyPatternsAndFoldGreedily(getFunction(), std::move(patterns)); } std::unique_ptr > createNCNNOptimizePass() { return std::make_unique(); } static PassRegistration pass("ncnn-optimize", "ncnn optimization"); } // namespace ncnn } // namespace mlir