From dcb104a3743bfa3e7c29ea0b0c0462acd98901f3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=D0=9F=D0=B0=D0=B2=D0=B5=D0=BB=20=D0=98=D0=BB=D1=8C=D1=8E?= =?utf8?q?=D1=82=D1=87=D0=B5=D0=BD=D0=BA=D0=BE/AI=20Tools=20Lab=20/SRR/Eng?= =?utf8?q?ineer/=EC=82=BC=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Mon, 12 Aug 2019 20:15:36 +0300 Subject: [PATCH] [mir2loco] Remove unused visitors and use default visit_fallback (#6515) * Remove unused visitors * Override visit_fallback Signed-off-by: Pavel Iliutchenko --- compiler/mir2loco/include/mir2loco.h | 21 ++---------------- compiler/mir2loco/src/mir2loco.cpp | 42 +++--------------------------------- 2 files changed, 5 insertions(+), 58 deletions(-) diff --git a/compiler/mir2loco/include/mir2loco.h b/compiler/mir2loco/include/mir2loco.h index 4510e1b..e7b33e0 100644 --- a/compiler/mir2loco/include/mir2loco.h +++ b/compiler/mir2loco/include/mir2loco.h @@ -27,33 +27,16 @@ public: ~Transformer() = default; void visit(mir::ops::AddOp &op) override; - void visit(mir::ops::CappedReluOp &op) override; void visit(mir::ops::ConcatOp &op) override; void visit(mir::ops::ConstantOp &op) override; void visit(mir::ops::Conv2DOp &op) override; - void visit(mir::ops::DeConv2DOp &op) override; - void visit(mir::ops::DepthwiseConv2DOp &op) override; - void visit(mir::ops::DropoutOp &op) override; - void visit(mir::ops::EluOp &op) override; - void visit(mir::ops::FullyConnectedOp &op) override; - void visit(mir::ops::GatherOp &op) override; - void visit(mir::ops::GemmOp &op) override; void visit(mir::ops::InputOp &op) override; - void visit(mir::ops::LeakyReluOp &op) override; void visit(mir::ops::OutputOp &op) override; - void visit(mir::ops::PadOp &op) override; void visit(mir::ops::PoolOp &op) override; - void visit(mir::ops::ReduceOp &op) override; void visit(mir::ops::ReluOp &op) override; void visit(mir::ops::ReshapeOp &op) override; - void visit(mir::ops::ResizeOp &op) override; - void visit(mir::ops::SigmoidOp &op) override; - void visit(mir::ops::SliceOp &op) override; - void visit(mir::ops::SoftmaxOp &op) override; - void visit(mir::ops::SqrtOp &op) override; - void visit(mir::ops::SqueezeOp &op) override; - void visit(mir::ops::TanhOp &op) override; - void visit(mir::ops::TransposeOp &op) override; + + void visit_fallback(mir::Operation &op) override; std::unique_ptr transform(mir::Graph *mir_graph); diff --git a/compiler/mir2loco/src/mir2loco.cpp b/compiler/mir2loco/src/mir2loco.cpp index 1f60858..b9e9f32 100644 --- a/compiler/mir2loco/src/mir2loco.cpp +++ b/compiler/mir2loco/src/mir2loco.cpp @@ -103,7 +103,7 @@ loco::FeatureDecode *createNHWCFeatureDecode(loco::Graph *graph) return decode_node; } -loco::DataType ConvertDataType(mir::DataType data_type) +loco::DataType convertDataType(mir::DataType data_type) { switch (data_type) { @@ -139,8 +139,6 @@ void Transformer::visit(mir::ops::AddOp &op) _mir2loco_map.emplace(&op, result); } -void Transformer::visit(mir::ops::CappedReluOp &op) { throw std::runtime_error("NYI"); } - void Transformer::visit(mir::ops::ConcatOp &op) { if (op.getNumInputs() < 2) @@ -182,7 +180,7 @@ void Transformer::visit(mir::ops::ConstantOp &op) setupShape(out_shape, const_node); // Copy value const auto &value = op.getValue(); - const_node->dtype(ConvertDataType(value.getDataType())); + const_node->dtype(convertDataType(value.getDataType())); // TODO Support other data types switch (const_node->dtype()) { @@ -292,20 +290,6 @@ void Transformer::visit(mir::ops::Conv2DOp &op) _mir2loco_map.emplace(&op, decode_node); } -void Transformer::visit(mir::ops::DeConv2DOp &op) { throw std::runtime_error("NYI"); } - -void Transformer::visit(mir::ops::DepthwiseConv2DOp &op) { throw std::runtime_error("NYI"); } - -void Transformer::visit(mir::ops::DropoutOp &op) { throw std::runtime_error("NYI"); } - -void Transformer::visit(mir::ops::EluOp &op) { throw std::runtime_error("NYI"); } - -void Transformer::visit(mir::ops::FullyConnectedOp &op) { throw std::runtime_error("NYI"); } - -void Transformer::visit(mir::ops::GatherOp &op) { throw std::runtime_error("NYI"); } - -void Transformer::visit(mir::ops::GemmOp &op) { throw std::runtime_error("NYI"); } - void Transformer::visit(mir::ops::InputOp &op) { auto pull_node = _loco_graph->nodes()->create(); @@ -324,8 +308,6 @@ void Transformer::visit(mir::ops::InputOp &op) _mir2loco_map.emplace(&op, pull_node); } -void Transformer::visit(mir::ops::LeakyReluOp &op) { throw std::runtime_error("NYI"); } - void Transformer::visit(mir::ops::OutputOp &op) { auto push_node = _loco_graph->nodes()->create(); @@ -345,8 +327,6 @@ void Transformer::visit(mir::ops::OutputOp &op) _mir2loco_map.emplace(&op, push_node); } -void Transformer::visit(mir::ops::PadOp &op) { throw std::runtime_error("NYI"); } - void Transformer::visit(mir::ops::PoolOp &op) { loco::Node *pool_node; @@ -401,8 +381,6 @@ void Transformer::visit(mir::ops::PoolOp &op) _mir2loco_map.emplace(&op, decode_node); } -void Transformer::visit(mir::ops::ReduceOp &op) { throw std::runtime_error("NYI"); } - void Transformer::visit(mir::ops::ReluOp &op) { auto relu_node = _loco_graph->nodes()->create(); @@ -429,21 +407,7 @@ void Transformer::visit(mir::ops::ReshapeOp &op) _mir2loco_map.emplace(&op, reshape_node); } -void Transformer::visit(mir::ops::ResizeOp &op) { throw std::runtime_error("NYI"); } - -void Transformer::visit(mir::ops::SigmoidOp &op) { throw std::runtime_error("NYI"); } - -void Transformer::visit(mir::ops::SliceOp &op) { throw std::runtime_error("NYI"); } - -void Transformer::visit(mir::ops::SoftmaxOp &op) { throw std::runtime_error("NYI"); } - -void Transformer::visit(mir::ops::SqrtOp &op) { throw std::runtime_error("NYI"); } - -void Transformer::visit(mir::ops::SqueezeOp &op) { throw std::runtime_error("NYI"); } - -void Transformer::visit(mir::ops::TanhOp &op) { throw std::runtime_error("NYI"); } - -void Transformer::visit(mir::ops::TransposeOp &op) { throw std::runtime_error("NYI"); } +void Transformer::visit_fallback(mir::Operation &op) { throw std::runtime_error("NYI operation"); } std::unique_ptr Transformer::transform(mir::Graph *mir_graph) { -- 2.7.4