Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Tetragramm
GitHub Repository: Tetragramm/opencv
Path: blob/master/modules/gapi/src/compiler/passes/passes.hpp
16344 views
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 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);
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
59
60