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