IVGCVSW-2471 Code cleanup where necessary
authorMatteo Martincigh <matteo.martincigh@arm.com>
Thu, 31 Jan 2019 12:09:49 +0000 (12:09 +0000)
committerMatteo Martincigh <matteo.martincigh@arm.com>
Thu, 31 Jan 2019 17:25:45 +0000 (17:25 +0000)
 * Added comments for the new API functions
 * Added comments to some critical parts of the code
 * Removed unnecessary code

Change-Id: I04d4e7373b45b8a3806cacc93a8bd09351c0972a
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
src/armnn/Graph.cpp
src/armnn/Graph.hpp
src/armnn/SubGraph.hpp
src/armnn/SubGraphSelector.cpp

index 1bd4fbd..be0dd5f 100644 (file)
@@ -318,9 +318,9 @@ void Graph::SubstituteSubGraph(std::unique_ptr<SubGraph> subGraph, const SubGrap
 void Graph::ReplaceSubGraphConnections(const SubGraph& subGraph, IConnectableLayer* substituteLayer)
 {
     BOOST_ASSERT(substituteLayer != nullptr);
-    BOOST_ASSERT_MSG(std::find(m_Layers.begin(), m_Layers.end(), substituteLayer) != m_Layers.end(),
-                     "Substitute layer is not a member of graph");
 
+    // Create a new sub-graph with only the given layer, using
+    // the given sub-graph as a reference of which parent graph to use
     SubGraph substituteSubGraph(subGraph, substituteLayer);
     ReplaceSubGraphConnections(subGraph, substituteSubGraph);
 }
index 8046977..dd6a825 100644 (file)
@@ -161,6 +161,8 @@ public:
     /// and relinking them via an intermediary copy layers.
     void AddCopyLayers();
 
+    /// Substitutes the given sub-graph with either a new layer or a new sub-graph.
+    /// In either case, the given layer or all the layers in the given sub-graph must belong to this graph.
     void SubstituteSubGraph(std::unique_ptr<SubGraph> subGraph, IConnectableLayer* substituteLayer);
     void SubstituteSubGraph(std::unique_ptr<SubGraph> subGraph, const SubGraph& substituteSubGraph);
 
index 81166f1..cb44f8c 100644 (file)
@@ -56,7 +56,7 @@ public:
     /// Updates this sub-graph with the contents of the whole given graph.
     void Update(Graph& graph);
 
-    /// Adds a new layer, of type LayerType, to the graph this sub-graph is a view of.
+    /// Adds a new layer, of type LayerType, to the parent graph of this sub-graph.
     template <typename LayerT, typename... Args>
     LayerT* AddLayer(Args&&... args) const;
 
@@ -85,8 +85,13 @@ public:
 private:
     void CheckSubGraph();
 
+    /// The list of pointers to the input slots of the parent graph.
     InputSlots m_InputSlots;
+
+    /// The list of pointers to the output slots of the parent graph.
     OutputSlots m_OutputSlots;
+
+    /// The list of pointers to the layers of the parent graph.
     Layers m_Layers;
 
     /// Pointer to the graph this sub-graph is a view of.
index 4abf01c..4b3f799 100644 (file)
@@ -174,6 +174,8 @@ SubGraphSelector::SelectSubGraphs(SubGraph& subGraph, const LayerSelectorFunctio
                 infoPtr->CollectNonSelectedOutputSlots(outputs, selector);
                 layers.push_back(infoPtr->m_Layer);
             }
+            // Create a new sub-graph with the new lists of input/output slots and layer, using
+            // the given sub-graph as a reference of which parent graph to use
             result.emplace_back(std::make_unique<SubGraph>(subGraph,
                                                            std::move(inputs),
                                                            std::move(outputs),