lin_op_sequence_fusion.hpp
1 // Copyright (C) 2018-2021 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3 //
4 
5 #pragma once
6 
7 #include <memory>
8 #include <utility>
9 
10 #include <transformations_visibility.hpp>
11 #include <ngraph/pass/graph_rewrite.hpp>
12 
13 namespace ngraph {
14 namespace pass {
15 
16 class TRANSFORMATIONS_API LinOpSequenceFusion;
17 class TRANSFORMATIONS_API AddMultiplyFusion;
18 class TRANSFORMATIONS_API AddAddFusion;
19 class TRANSFORMATIONS_API MultiplyMultiplyFusion;
20 
21 } // namespace pass
22 } // namespace ngraph
23 
24 class ngraph::pass::AddMultiplyFusion: public ngraph::pass::MatcherPass {
25 public:
26  NGRAPH_RTTI_DECLARATION;
28 };
29 
30 class ngraph::pass::AddAddFusion: public ngraph::pass::MatcherPass {
31 public:
32  NGRAPH_RTTI_DECLARATION;
33  AddAddFusion();
34 };
35 
36 class ngraph::pass::MultiplyMultiplyFusion: public ngraph::pass::MatcherPass {
37 public:
38  NGRAPH_RTTI_DECLARATION;
40 };
41 
42 class ngraph::pass::LinOpSequenceFusion: public ngraph::pass::GraphRewrite {
43 public:
44  NGRAPH_RTTI_DECLARATION;
46  add_matcher<ngraph::pass::AddMultiplyFusion>();
47  add_matcher<ngraph::pass::AddAddFusion>();
48  add_matcher<ngraph::pass::MultiplyMultiplyFusion>();
49  }
50 };
Definition: lin_op_sequence_fusion.hpp:30
Definition: lin_op_sequence_fusion.hpp:24
Definition: lin_op_sequence_fusion.hpp:42
Definition: lin_op_sequence_fusion.hpp:36
ngraph namespace
Definition: add_fake_quantize_fusion.hpp:14