Skip to content

Commit

Permalink
[Transformations] Fix warning: implicit capture of ‘this’ via ‘[=]’ (#…
Browse files Browse the repository at this point in the history
…23169)

[Transformations] Fix warning: implicit capture of ‘this’ via ‘[=]’

Details:
Implicit capture of 'this' for lambdas is deprecated since C++20. Fix it
by adding a special macro OV_CAPTURE_CPY_AND_THIS which expands into '='
or '=, this' depending on a C++ standard used.

Note:
Although C++20 identifier is 202002L, some compilers supporting C++20,
or its drafts like C++2a, producing the warning, are using 201402L
value. Also, MSVC requires a special check due to the __cplusplus value
compatibility issues.

Ticket: CVS-132688

Signed-off-by: Andrii Staikov [email protected]

Signed-off-by: Andrii Staikov [email protected]
  • Loading branch information
CuriousPanCake authored Mar 5, 2024
1 parent b6b4bda commit 8db69fa
Show file tree
Hide file tree
Showing 74 changed files with 151 additions and 114 deletions.
12 changes: 12 additions & 0 deletions src/common/transformations/include/transformations/utils/utils.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,18 @@
#include "transformations/rt_info/attributes.hpp"
#include "transformations_visibility.hpp"

/* This macro is intended to fix C++20 [=] lambda
warning. Although C++20 identifier is 202002L,
some compilers supporting C++20, or their drafts like
C++2a, producing the warning, are using 201402L value.
Also, MSVC requires a special check due to the
__cplusplus value compatibility issues.*/
#if (defined(_MSVC_LANG) && (_MSVC_LANG >= 202002L)) || (__cplusplus >= 201402L)
# define OV_CAPTURE_CPY_AND_THIS =, this
#else
# define OV_CAPTURE_CPY_AND_THIS =
#endif /* C++20 */

namespace ov {
namespace op {
namespace util {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ ov::pass::AddFakeQuantizeFusion::AddFakeQuantizeFusion() {
pass::pattern::any_input(),
pass::pattern::any_input(),
pass::pattern::any_input()});
matcher_pass_callback callback = [=](pattern::Matcher& m) {
matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](pattern::Matcher& m) {
const auto& pattern_value_map = m.get_pattern_value_map();
const auto& input = pattern_value_map.at(input_pattern);
const auto& type = input.get_element_type();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ ov::pass::BatchToSpaceFusion::BatchToSpaceFusion() {
auto reshape_or_transpose_after_pattern =
std::make_shared<pattern::op::Or>(OutputVector{reshape_after_pattern, trans_after_pattern});

ov::matcher_pass_callback callback = [=](pattern::Matcher& m) {
ov::matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](pattern::Matcher& m) {
const auto& pattern_map = m.get_pattern_value_map();

auto get_reshape_or_transpose = [&pattern_map](
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ ov::pass::ClampFusion::ClampFusion() {
pattern::consumers_count(1));
auto root = std::make_shared<ov::pass::pattern::op::Or>(ov::OutputVector{min_pattern1, max_pattern2});

ov::matcher_pass_callback callback = [=](pattern::Matcher& m) {
ov::matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](pattern::Matcher& m) {
auto pattern_map = m.get_pattern_value_map();
auto data = pattern_map.at(data_pattern);
auto min_const =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ ov::pass::PullSqueezeThroughEltwise::PullSqueezeThroughEltwise() {
auto squeeze_axes_pattern = pattern::wrap_type<ov::op::v0::Constant>();
auto squeeze_pattern = pattern::wrap_type<ov::op::v0::Squeeze>({eltwise_pattern, squeeze_axes_pattern});

matcher_pass_callback callback = [=](pattern::Matcher& m) {
matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](pattern::Matcher& m) {
const auto& pattern_map = m.get_pattern_map();
const auto& eltwise = pattern_map.at(eltwise_pattern);
const auto& squeeze = pattern_map.at(squeeze_pattern);
Expand Down Expand Up @@ -91,7 +91,7 @@ ov::pass::ReplaceConcatReduceByMinOrMax::ReplaceConcatReduceByMinOrMax() {
auto reduce_pattern = ov::pass::pattern::wrap_type<ov::op::v1::ReduceMin, ov::op::v1::ReduceMax>(
{concat_pattern, reduce_axes_pattern});

ov::matcher_pass_callback callback = [=](pattern::Matcher& m) {
ov::matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](pattern::Matcher& m) {
const auto& pattern_map = m.get_pattern_value_map();

auto concat = as_type_ptr<ov::op::v0::Concat>(pattern_map.at(concat_pattern).get_node_shared_ptr());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ ov::pass::ConvertQuantizeDequantize::ConvertQuantizeDequantize() {
auto scale_pattern = pass::pattern::any_input();
auto mul_pattern = ov::pass::pattern::wrap_type<ov::op::v1::Multiply>({sub_pattern, scale_pattern});

ov::matcher_pass_callback callback = [=](pattern::Matcher& m) {
ov::matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](pattern::Matcher& m) {
auto pattern_map = m.get_pattern_value_map();

if (transformation_callback(m.get_match_root())) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#include "openvino/op/variadic_split.hpp"
#include "openvino/pass/pattern/op/wrap_type.hpp"
#include "transformations/common_optimizations/convolution_to_group_convolution_fusion.hpp"
#include "transformations/utils/utils.hpp"

static bool compare_convolutions(const ov::op::v1::Convolution* conv1, ov::Node* node) {
const auto conv2 = ov::as_type<ov::op::v1::Convolution>(node);
Expand Down Expand Up @@ -104,7 +105,7 @@ ov::pass::ConvolutionToGroupConvolutionFusion::ConvolutionToGroupConvolutionFusi
};
auto concat_label = pattern::wrap_type<ov::op::v0::Concat>(has_conv_inputs);

matcher_pass_callback callback = [=](pattern::Matcher& m) {
matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](pattern::Matcher& m) {
const auto& pattern_value_map = m.get_pattern_value_map();
const auto& concat = pattern_value_map.at(concat_label).get_node_shared_ptr();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ ov::pass::DilatedConvolutionConverter::DilatedConvolutionConverter() {
auto batch_to_space_pattern = pattern::wrap_type<ov::op::v1::BatchToSpace>(
{conv_pattern, pattern::any_input(), crops_begin_pattern, crops_end_pattern});

matcher_pass_callback callback = [=](pattern::Matcher& m) {
matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](pattern::Matcher& m) {
const auto& pattern_map = m.get_pattern_value_map();
auto block_shape =
std::dynamic_pointer_cast<ov::op::v0::Constant>(pattern_map.at(block_shape_pattern).get_node_shared_ptr());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ ov::pass::DivideFusion::DivideFusion() {
auto p_mul_input = pattern::any_input();
auto p_mul = ov::pass::pattern::wrap_type<ov::op::v1::Multiply>({p_mul_input, p_pow});

matcher_pass_callback callback = [=](pattern::Matcher& m) {
matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](pattern::Matcher& m) {
const auto& pattern_to_output = m.get_pattern_value_map();
const auto& minuend_input = pattern_to_output.at(p_mul_input);
const auto& subtrahend_input = pattern_to_output.at(p_pow_input);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ ov::pass::EliminateGatherUnsqueeze::EliminateGatherUnsqueeze() {
const auto or_label = std::make_shared<pattern::op::Or>(OutputVector{gather_label, be_label});
const auto unsqueeze_label = wrap_type<v0::Unsqueeze, v1::Reshape>({or_label, any_input()}, rank_equals(1));

ov::matcher_pass_callback callback = [=](Matcher& m) {
ov::matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](Matcher& m) {
auto pattern_nodes = m.get_pattern_map();
auto& gather = pattern_nodes.at(gather_label);
auto& unsqueeze = pattern_nodes.at(unsqueeze_label);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ ov::pass::FakeQuantizeMulFusion::FakeQuantizeMulFusion() {
const auto mul_node_p =
ov::pass::pattern::wrap_type<ov::op::v1::Multiply>({fq_node_p, mul_constant_p}, pattern::consumers_count(1));

ov::matcher_pass_callback callback = [=](pattern::Matcher& m) {
ov::matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](pattern::Matcher& m) {
const auto& pattern_map = m.get_pattern_value_map();

const auto& data = pattern_map.at(data_p);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ ov::pass::HSigmoidFusionWithReluDiv::HSigmoidFusionWithReluDiv() {
auto div_constant = ov::pass::pattern::wrap_type<ov::op::v0::Constant>();
auto div = ov::pass::pattern::wrap_type<ov::op::v1::Divide>({min, div_constant});

ov::matcher_pass_callback callback = [=](ov::pass::pattern::Matcher& m) {
ov::matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](ov::pass::pattern::Matcher& m) {
auto& pattern_to_output = m.get_pattern_value_map();
auto x_output = pattern_to_output.at(input);

Expand Down Expand Up @@ -82,7 +82,7 @@ ov::pass::HSigmoidFusionWithReluMul::HSigmoidFusionWithReluMul() {
auto mul_constant = ov::pass::pattern::wrap_type<ov::op::v0::Constant>();
auto mul_second = ov::pass::pattern::wrap_type<ov::op::v1::Multiply>({min, mul_constant});

ov::matcher_pass_callback callback = [=](ov::pass::pattern::Matcher& m) {
ov::matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](ov::pass::pattern::Matcher& m) {
auto& pattern_to_output = m.get_pattern_value_map();
auto x_output = pattern_to_output.at(input);

Expand Down Expand Up @@ -131,7 +131,7 @@ ov::pass::HSigmoidFusionWithoutRelu::HSigmoidFusionWithoutRelu() {
auto div = ov::pass::pattern::wrap_type<ov::op::v1::Divide>({min, div_constant});
auto mul = ov::pass::pattern::wrap_type<ov::op::v1::Multiply>({input, div});

ov::matcher_pass_callback callback = [=](ov::pass::pattern::Matcher& m) {
ov::matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](ov::pass::pattern::Matcher& m) {
auto& pattern_to_output = m.get_pattern_value_map();
auto x_output = pattern_to_output.at(input);

Expand Down Expand Up @@ -179,7 +179,7 @@ ov::pass::HSigmoidFusionWithClampMul::HSigmoidFusionWithClampMul() {
auto mul_constant = ov::pass::pattern::wrap_type<ov::op::v0::Constant>();
auto mul_first = ov::pass::pattern::wrap_type<ov::op::v1::Multiply>({clamp, mul_constant});

ov::matcher_pass_callback callback = [=](ov::pass::pattern::Matcher& m) {
ov::matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](ov::pass::pattern::Matcher& m) {
auto& pattern_to_output = m.get_pattern_value_map();
auto x_output = pattern_to_output.at(input);

Expand Down Expand Up @@ -225,7 +225,7 @@ ov::pass::HSigmoidFusionWithClampDiv::HSigmoidFusionWithClampDiv() {
auto div_constant = ov::pass::pattern::wrap_type<ov::op::v0::Constant>();
auto div = ov::pass::pattern::wrap_type<ov::op::v1::Divide>({clamp, div_constant});

ov::matcher_pass_callback callback = [=](ov::pass::pattern::Matcher& m) {
ov::matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](ov::pass::pattern::Matcher& m) {
auto& pattern_to_output = m.get_pattern_value_map();
auto x_output = pattern_to_output.at(input);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#include "openvino/op/multiply.hpp"
#include "openvino/op/shape_of.hpp"
#include "openvino/pass/pattern/op/wrap_type.hpp"
#include "transformations/utils/utils.hpp"

namespace {
using namespace ov;
Expand Down Expand Up @@ -211,7 +212,7 @@ ov::NodeVector subgraph_for_scales_calculation_mode(const std::shared_ptr<ov::op
ov::pass::InterpolateSequenceFusion::InterpolateSequenceFusion() {
MATCHER_SCOPE(InterpolateSequenceFusion);
auto interpolate_pattern = ov::pass::pattern::wrap_type<ov::op::v4::Interpolate>();
ov::matcher_pass_callback callback = [=](ov::pass::pattern::Matcher& m) {
ov::matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](ov::pass::pattern::Matcher& m) {
auto snd_interpolate = std::dynamic_pointer_cast<ov::op::v4::Interpolate>(m.get_match_root());
if (!snd_interpolate)
return false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ ov::pass::LeakyReluFusion::LeakyReluFusion() {
ov::pass::pattern::wrap_type<ov::op::v1::Multiply>({data_pattern, alpha_pattern}, pattern::consumers_count(1));
auto max_pattern = ov::pass::pattern::wrap_type<ov::op::v1::Maximum>({data_pattern, multiply_pattern});

ov::matcher_pass_callback callback = [=](pattern::Matcher& m) {
ov::matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](pattern::Matcher& m) {
const auto& pattern_map = m.get_pattern_value_map();
const auto& original_alpha_pattern = pattern_map.at(alpha_pattern);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ ov::pass::AddMultiplyFusion::AddMultiplyFusion() {
auto m_mul_constant = ov::pass::pattern::wrap_type<ov::op::v0::Constant>();
auto m_mul = ov::pass::pattern::wrap_type<ov::op::v1::Multiply>({m_add, m_mul_constant});

ov::matcher_pass_callback callback = [=](ov::pass::pattern::Matcher& m) -> bool {
ov::matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](ov::pass::pattern::Matcher& m) -> bool {
auto& label_to_output = m.get_pattern_value_map();

auto mul = label_to_output[m_mul].get_node_shared_ptr();
Expand Down Expand Up @@ -81,7 +81,7 @@ ov::pass::AddAddFusion::AddAddFusion() {
auto m_add2_constant = ov::pass::pattern::wrap_type<ov::op::v0::Constant>();
auto m_add2 = ov::pass::pattern::wrap_type<ov::op::v1::Add>({m_add1, m_add2_constant});

ov::matcher_pass_callback callback = [=](ov::pass::pattern::Matcher& m) -> bool {
ov::matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](ov::pass::pattern::Matcher& m) -> bool {
auto& label_to_output = m.get_pattern_value_map();

auto add1 = label_to_output[m_add1].get_node_shared_ptr();
Expand Down Expand Up @@ -116,7 +116,7 @@ ov::pass::MultiplyMultiplyFusion::MultiplyMultiplyFusion() {
auto m_mul2_constant = ov::pass::pattern::wrap_type<ov::op::v0::Constant>();
auto m_mul2 = ov::pass::pattern::wrap_type<ov::op::v1::Multiply>({m_mul1, m_mul2_constant});

ov::matcher_pass_callback callback = [=](ov::pass::pattern::Matcher& m) -> bool {
ov::matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](ov::pass::pattern::Matcher& m) -> bool {
auto& label_to_output = m.get_pattern_value_map();

auto mul1 = label_to_output[m_mul1].get_node_shared_ptr();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ ov::pass::LSTMCellFusion::LSTMCellFusion() {
auto Co_activation_label = pattern::wrap_type<op::v0::Relu, op::v0::Sigmoid, op::v0::Tanh>({Co_label});
auto Ho_label = pattern::wrap_type<op::v1::Multiply>({Co_activation_label, ot_label});

matcher_pass_callback callback = [=](pattern::Matcher& m) {
matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](pattern::Matcher& m) {
const auto& pattern_map = m.get_pattern_value_map();

const auto& X = pattern_map.at(x_label);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ pass::MatMulMultiplyFusion::MatMulMultiplyFusion() {
auto matmul_pattern = pattern::wrap_type<ov::op::v0::MatMul>({input_pattern, weights_pattern});
auto mul_pattern = pattern::wrap_type<ov::op::v1::Multiply>({matmul_pattern, mul_const_pattern});

matcher_pass_callback callback = [=](pattern::Matcher& m) {
matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](pattern::Matcher& m) {
const auto& pattern_map = m.get_pattern_value_map();
const auto& weights = pattern_map.at(weights_pattern);
auto mul = pattern_map.at(mul_pattern).get_node_shared_ptr();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ ov::pass::MulFakeQuantizeFusion::MulFakeQuantizeFusion() {
pass::pattern::any_input(),
pass::pattern::any_input(),
pass::pattern::any_input()});
ov::matcher_pass_callback callback = [=](pattern::Matcher& m) {
ov::matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](pattern::Matcher& m) {
const auto& pattern_value_map = m.get_pattern_value_map();
const auto& input = pattern_value_map.at(input_pattern);
const auto& type = input.get_element_type();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ ov::pass::NearestNeighborUpsamplingFusion::NearestNeighborUpsamplingFusion() {
auto mul = pattern::wrap_type<ov::op::v1::Multiply>({reshape_1, mul_const});
auto reshape_2 = pattern::wrap_type<ov::op::v1::Reshape>({mul, concat_2});

ov::matcher_pass_callback callback = [=](ov::pass::pattern::Matcher& m) {
ov::matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](ov::pass::pattern::Matcher& m) {
const auto& pattern_to_output = m.get_pattern_value_map();

const auto reshape_2_node =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -397,7 +397,7 @@ pass::EliminateConvertNonZero::EliminateConvertNonZero() {
auto convert_pattern = pattern::wrap_type<ov::op::v0::Convert>(pattern::consumers_count(1));
auto non_zero = pattern::wrap_type<ov::op::v3::NonZero>({convert_pattern});

matcher_pass_callback callback = [=](pattern::Matcher& m) {
matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](pattern::Matcher& m) {
const auto& pattern_map = m.get_pattern_map();
auto convert = pattern_map.at(convert_pattern);
// remove convert
Expand Down Expand Up @@ -977,7 +977,7 @@ ov::pass::PrepareShapeOpsForEliminationAroundBE::PrepareShapeOpsForEliminationAr
auto second_label = pattern::wrap_type<op::v1::Reshape, op::v0::Unsqueeze>({binary_op_label, pattern::any_input()},
pattern::rank_equals(1));

ov::matcher_pass_callback matcher_pass_callback = [=](pattern::Matcher& m) {
ov::matcher_pass_callback matcher_pass_callback = [OV_CAPTURE_CPY_AND_THIS](pattern::Matcher& m) {
const auto& pattern_to_node = m.get_pattern_map();

auto second_node = pattern_to_node.at(second_label);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ ov::pass::NormalizeL2Fusion::NormalizeL2Fusion() {
auto mul = std::make_shared<ov::op::v1::Multiply>(input, reversed_pow_as_sqrt);
auto divide_or_mul = std::make_shared<pattern::op::Or>(OutputVector{divide, mul});

ov::matcher_pass_callback callback = [=](ov::pass::pattern::Matcher& m) {
ov::matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](ov::pass::pattern::Matcher& m) {
const auto& pattern_to_output = m.get_pattern_value_map();

const auto data_input = pattern_to_output.at(input);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ ov::pass::ReluFakeQuantizeFusion::ReluFakeQuantizeFusion() {
pass::pattern::any_input(),
pass::pattern::any_input()});

ov::matcher_pass_callback callback = [=](pattern::Matcher& m) {
ov::matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](pattern::Matcher& m) {
auto pattern_map = m.get_pattern_value_map();
auto data = pattern_map[data_pattern];
auto relu = pattern_map[relu_pattern];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ pass::GroupedGatherElimination::GroupedGatherElimination() {
MATCHER_SCOPE(GroupedGatherElimination);
auto concat_label = wrap_type<v0::Concat>(rank_equals(1));

matcher_pass_callback callback = [=](Matcher& m) {
matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](Matcher& m) {
auto concat = m.get_match_root();
OutputVector inputs = concat->input_values();
NodeRegistry new_ops;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ ov::pass::SoftmaxFusion::SoftmaxFusion() {
ov::pass::pattern::wrap_type<ov::op::v1::ReduceSum>({exp_pattern, reduce_sum_axes_pattern});
auto div_pattern = ov::pass::pattern::wrap_type<ov::op::v1::Divide>({exp_pattern, reduce_sum_pattern});

ov::matcher_pass_callback callback = [=](pass::pattern::Matcher& m) {
ov::matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](pass::pattern::Matcher& m) {
if (transformation_callback(m.get_match_root()))
return false;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ ov::pass::SpaceToBatchFusion::SpaceToBatchFusion() {
auto reshape_or_transpose_after_pattern =
std::make_shared<pattern::op::Or>(OutputVector{reshape_after_pattern, trans_after_pattern});

matcher_pass_callback callback = [=](pattern::Matcher& m) {
matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](pattern::Matcher& m) {
const auto& pattern_map = m.get_pattern_value_map();

auto get_reshape_or_transpose = [&pattern_map](
Expand Down
Loading

0 comments on commit 8db69fa

Please sign in to comment.