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.
5 // Copyright (C) 2018-2019 Intel Corporation
8 #ifndef OPENCV_GAPI_COMPILER_PASSES_HPP
9 #define OPENCV_GAPI_COMPILER_PASSES_HPP
12 #include <ade/passes/pass_base.hpp>
14 #include "opencv2/gapi/garg.hpp"
15 #include "opencv2/gapi/gcommon.hpp"
17 // Forward declarations - external
28 namespace gimpl { namespace passes {
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);
36 void initIslands(ade::passes::PassContext &ctx);
37 void checkIslands(ade::passes::PassContext &ctx);
38 void checkIslandsContent(ade::passes::PassContext &ctx);
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);
44 void expandKernels(ade::passes::PassContext &ctx,
45 const gapi::GKernelPackage& kernels);
47 void resolveKernels(ade::passes::PassContext &ctx,
48 const gapi::GKernelPackage &kernels,
49 const gapi::GLookupOrder &order);
51 void fuseIslands(ade::passes::PassContext &ctx);
52 void syncIslandTags(ade::passes::PassContext &ctx);
54 }} // namespace gimpl::passes
58 #endif // OPENCV_GAPI_COMPILER_PASSES_HPP