//===- ONNXCombine.cpp - ONNX High Level Optimizer ------------------------===// // // Copyright 2019 The IBM Research Authors. // // ============================================================================= // // This file implements a set of simple combiners for optimizing operations in // the ONNX dialect. // //===----------------------------------------------------------------------===// #include "mlir/IR/Matchers.h" #include "mlir/IR/PatternMatch.h" #include <numeric> #include "src/compiler/dialect/onnx/onnx_ops.hpp" using namespace mlir; namespace { /// Include the patterns defined in the Declarative Rewrite framework. #include "src/compiler/onnx_combine.inc" } // end anonymous namespace /// Register optimization patterns as "canonicalization" patterns /// on the ONNXMatMultOp. void ONNXAddOp::getCanonicalizationPatterns( OwningRewritePatternList& results, MLIRContext* context) { results.insert<MulAddToGemmOptPattern>(context); }