Publishing 2019 R1 content
[platform/upstream/dldt.git] / inference-engine / thirdparty / fluid / modules / gapi / src / compiler / passes / passes.hpp
1 // This file is part of OpenCV project.
2 // It is subject to the license terms in the LICENSE file found in the top-level directory
3 // of this distribution and at http://opencv.org/license.html.
4 //
5 // Copyright (C) 2018-2019 Intel Corporation
6
7
8 #ifndef OPENCV_GAPI_COMPILER_PASSES_HPP
9 #define OPENCV_GAPI_COMPILER_PASSES_HPP
10
11 #include <ostream>
12 #include <ade/passes/pass_base.hpp>
13
14 #include "opencv2/gapi/garg.hpp"
15 #include "opencv2/gapi/gcommon.hpp"
16
17 // Forward declarations - external
18 namespace ade {
19     class Graph;
20
21     namespace passes {
22         struct PassContext;
23     }
24 }
25
26 namespace cv {
27
28 namespace gimpl { namespace passes {
29
30 void dumpDot(const ade::Graph &g, std::ostream& os);
31 void dumpDot(ade::passes::PassContext &ctx, std::ostream& os);
32 void dumpDotStdout(ade::passes::PassContext &ctx);
33 void dumpGraph(ade::passes::PassContext     &ctx, const std::string& dump_path);
34 void dumpDotToFile(ade::passes::PassContext &ctx, const std::string& dump_path);
35
36 void initIslands(ade::passes::PassContext &ctx);
37 void checkIslands(ade::passes::PassContext &ctx);
38 void checkIslandsContent(ade::passes::PassContext &ctx);
39
40 void initMeta(ade::passes::PassContext &ctx, const GMetaArgs &metas);
41 void inferMeta(ade::passes::PassContext &ctx, bool meta_is_initialized);
42 void storeResultingMeta(ade::passes::PassContext &ctx);
43
44 void expandKernels(ade::passes::PassContext &ctx,
45                    const gapi::GKernelPackage& kernels);
46
47 void resolveKernels(ade::passes::PassContext       &ctx,
48                     const gapi::GKernelPackage &kernels,
49                     const gapi::GLookupOrder   &order);
50
51 void fuseIslands(ade::passes::PassContext &ctx);
52 void syncIslandTags(ade::passes::PassContext &ctx);
53
54 }} // namespace gimpl::passes
55
56 } // namespace cv
57
58 #endif // OPENCV_GAPI_COMPILER_PASSES_HPP