From a02f8ac12bff59ab461f140a5d11059972972edc Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EB=B0=95=EC=A2=85=ED=98=84/On-Device=20Lab=28SR=29/Staff?= =?utf8?q?=20Engineer/=EC=82=BC=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Fri, 14 Jun 2019 10:59:33 +0900 Subject: [PATCH] [locop] Show correct opname for canonical dialect (#3768) With this commit, LinearV1 formatter shows correct opname for canonical dialect. Signed-off-by: Jonghyun Park --- contrib/locop/src/FormattedGraph.cpp | 43 ++++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/contrib/locop/src/FormattedGraph.cpp b/contrib/locop/src/FormattedGraph.cpp index 84c8478..7fa8be0 100644 --- a/contrib/locop/src/FormattedGraph.cpp +++ b/contrib/locop/src/FormattedGraph.cpp @@ -1,37 +1,46 @@ #include "locop/FormattedGraph.h" +#include +#include + #include #include #include +#include + namespace { +/** + * @brief Return the opname as "." + */ std::string opname(loco::Node *node) { - // TODO Use Visitor later - if (dynamic_cast(node)) - { - return "Push"; - } - - if (dynamic_cast(node)) + if (node->dialect() == loco::CanonicalDialect::get()) { - return "Pull"; - } + auto canonical_node = dynamic_cast(node); - if (dynamic_cast(node)) - { - return "MaxPool2D"; - } + assert(canonical_node != nullptr); - if (dynamic_cast(node)) - { - return "FeatureEncode"; + switch (canonical_node->opcode()) + { +#define CANONICAL_NODE(OPCODE, CLASS) \ + case loco::CanonicalOpcode::OPCODE: \ + return "canonical." #OPCODE; +#include "loco/IR/CanonicalNodes.lst" +#undef CANONICAL_NODE + default: + break; + }; + + return "canonical." + "Invalid"; } - return "Unknown"; + return "unknown." + "Unknown"; } } // namespace -- 2.7.4