[locop] Use const loco::Node * (if possible) (#3946)
author박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 <jh1302.park@samsung.com>
Mon, 24 Jun 2019 07:49:29 +0000 (16:49 +0900)
committerGitHub Enterprise <noreply-CODE@samsung.com>
Mon, 24 Jun 2019 07:49:29 +0000 (16:49 +0900)
This commit rewrites some code that takes loco::Node * as input to take
const loco::Node * instead.

This is a preliminary step to use loco visitor.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
contrib/locop/src/FormattedGraph.cpp

index 1a07b7e..ab39307 100644 (file)
@@ -13,9 +13,9 @@
 namespace
 {
 
-using SymbolTable = std::map<loco::Node *, std::string>;
+using SymbolTable = std::map<const loco::Node *, std::string>;
 
-std::string symbol_lookup(const SymbolTable &tbl, loco::Node *node)
+std::string symbol_lookup(const SymbolTable &tbl, const loco::Node *node)
 {
   if (node == nullptr)
   {
@@ -33,11 +33,11 @@ namespace
 /**
  * @brief Return the opname as "<dialect>.<op>"
  */
-std::string opname(loco::Node *node)
+std::string opname(const loco::Node *node)
 {
   if (node->dialect() == loco::CanonicalDialect::get())
   {
-    auto canonical_node = dynamic_cast<loco::CanonicalNode *>(node);
+    auto canonical_node = dynamic_cast<const loco::CanonicalNode *>(node);
 
     assert(canonical_node != nullptr);
 
@@ -141,7 +141,7 @@ std::ostream &operator<<(std::ostream &os, const NodeDesc &d)
   return os;
 }
 
-NodeDesc default_node_desc(const SymbolTable &tbl, loco::Node *node)
+NodeDesc default_node_desc(const SymbolTable &tbl, const loco::Node *node)
 {
   NodeDesc res{opname(node)};
 
@@ -154,7 +154,7 @@ NodeDesc default_node_desc(const SymbolTable &tbl, loco::Node *node)
   return res;
 }
 
-NodeDesc node_desc(const SymbolTable &tbl, loco::Node *node)
+NodeDesc node_desc(const SymbolTable &tbl, const loco::Node *node)
 {
   if (node->dialect() == loco::CanonicalDialect::get())
   {
@@ -185,7 +185,7 @@ void FormattedGraphImpl<Formatter::LinearV1>::dump(std::ostream &os) const
 {
   SymbolTable symbols;
 
-  auto symbol = [&symbols](loco::Node *node) { return symbol_lookup(symbols, node); };
+  auto symbol = [&symbols](const loco::Node *node) { return symbol_lookup(symbols, node); };
 
   for (uint32_t n = 0; n < _graph->nodes()->size(); ++n)
   {