From d38676085a5739e49504a3faf0c68df394a074e0 Mon Sep 17 00:00:00 2001 From: Ruslan Garnov Date: Wed, 12 Dec 2018 17:22:52 +0300 Subject: [PATCH 1/2] Added "kernels" pass stage to compiler, removed unused opaque from cv::gimpl::Op --- modules/gapi/src/compiler/gcompiler.cpp | 6 ++++-- modules/gapi/src/compiler/gmodel.cpp | 2 +- modules/gapi/src/compiler/gmodel.hpp | 1 - 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/gapi/src/compiler/gcompiler.cpp b/modules/gapi/src/compiler/gcompiler.cpp index 32ce8e38f5..a814b915cf 100644 --- a/modules/gapi/src/compiler/gcompiler.cpp +++ b/modules/gapi/src/compiler/gcompiler.cpp @@ -104,11 +104,13 @@ cv::gimpl::GCompiler::GCompiler(const cv::GComputation &c, // Remove GCompoundBackend to avoid calling setupBackend() with it in the list m_all_kernels.remove(cv::gapi::compound::backend()); - m_e.addPass("init", "resolve_kernels", std::bind(passes::resolveKernels, _1, + + m_e.addPassStage("kernels"); + m_e.addPass("kernels", "resolve_kernels", std::bind(passes::resolveKernels, _1, std::ref(m_all_kernels), // NB: and not copied here lookup_order)); + m_e.addPass("kernels", "check_islands_content", passes::checkIslandsContent); - m_e.addPass("init", "check_islands_content", passes::checkIslandsContent); m_e.addPassStage("meta"); m_e.addPass("meta", "initialize", std::bind(passes::initMeta, _1, std::ref(m_metas))); m_e.addPass("meta", "propagate", std::bind(passes::inferMeta, _1, false)); diff --git a/modules/gapi/src/compiler/gmodel.cpp b/modules/gapi/src/compiler/gmodel.cpp index 4b2455219b..c804671134 100644 --- a/modules/gapi/src/compiler/gmodel.cpp +++ b/modules/gapi/src/compiler/gmodel.cpp @@ -26,7 +26,7 @@ ade::NodeHandle GModel::mkOpNode(GModel::Graph &g, const GKernel &k, const std:: ade::NodeHandle op_h = g.createNode(); g.metadata(op_h).set(NodeType{NodeType::OP}); //These extra empty {} are to please GCC (-Wmissing-field-initializers) - g.metadata(op_h).set(Op{k, args, {}, {}, {}}); + g.metadata(op_h).set(Op{k, args, {}, {}}); if (!island.empty()) g.metadata(op_h).set(Island{island}); return op_h; diff --git a/modules/gapi/src/compiler/gmodel.hpp b/modules/gapi/src/compiler/gmodel.hpp index 003519b82b..a9c3308d12 100644 --- a/modules/gapi/src/compiler/gmodel.hpp +++ b/modules/gapi/src/compiler/gmodel.hpp @@ -61,7 +61,6 @@ struct Op std::vector outs; // TODO: Introduce a new type for resource references cv::gapi::GBackend backend; - util::any opaque; }; struct Data From 534007377061dd97e475e278ab27a407c12c4c66 Mon Sep 17 00:00:00 2001 From: Ruslan Garnov Date: Thu, 13 Dec 2018 14:36:15 +0300 Subject: [PATCH 2/2] Removed UNUSED macro --- modules/gapi/include/opencv2/gapi/util/compiler_hints.hpp | 2 -- modules/gapi/src/backends/fluid/gfluidcore.cpp | 4 ++-- modules/gapi/src/backends/fluid/gfluidutils.hpp | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/modules/gapi/include/opencv2/gapi/util/compiler_hints.hpp b/modules/gapi/include/opencv2/gapi/util/compiler_hints.hpp index 575655e8fb..a41a97145d 100644 --- a/modules/gapi/include/opencv2/gapi/util/compiler_hints.hpp +++ b/modules/gapi/include/opencv2/gapi/util/compiler_hints.hpp @@ -16,6 +16,4 @@ namespace util } // namespace util } // namespace cv -#define UNUSED(x) cv::util::suppress_unused_warning(x) - #endif /* OPENCV_GAPI_UTIL_COMPILER_HINTS_HPP */ diff --git a/modules/gapi/src/backends/fluid/gfluidcore.cpp b/modules/gapi/src/backends/fluid/gfluidcore.cpp index 16a63e2174..b58ec0765c 100644 --- a/modules/gapi/src/backends/fluid/gfluidcore.cpp +++ b/modules/gapi/src/backends/fluid/gfluidcore.cpp @@ -340,7 +340,7 @@ static void run_arithm_s3(uchar out[], const uchar in[], int width, const uchar v_store_interleave(&out[3*w], x, y, z); } #endif - UNUSED(v_op); + cv::util::suppress_unused_warning(v_op); for (; w < width; w++) { out[3*w ] = saturate( s_op(in[3*w ], scalar[0]) ); @@ -386,7 +386,7 @@ static void run_arithm_s1(uchar out[], const float in[], int width, const float v_store(&out[w], uc); } #endif - UNUSED(v_op); + cv::util::suppress_unused_warning(v_op); for (; w < width; w++) { out[w] = saturate(s_op(in[w], scalar[0]), std::roundf); diff --git a/modules/gapi/src/backends/fluid/gfluidutils.hpp b/modules/gapi/src/backends/fluid/gfluidutils.hpp index a38b2f132e..fa15ee9e62 100644 --- a/modules/gapi/src/backends/fluid/gfluidutils.hpp +++ b/modules/gapi/src/backends/fluid/gfluidutils.hpp @@ -10,7 +10,7 @@ #include #include -#include //UNUSED +#include //suppress_unused_warning #include namespace cv {