IVGCVSW-3030 Refactor code and fix OptimizeSubgraphView

 * Refactored the Optimizer code for readibility, in view of
   upcoming changes
 * Rename one of the ISubgraphViewConverter interface methods to
   give it a more meaningful name
 * Improved the OptimizationViews class, added comments and
   useful funtion overloads
 * Fixed an error in the default implementationof the new
   OptimizeSubgraphView method in IBackendInternal

Change-Id: I683a56d562aa093bac06f0e83fb13e144ed81485
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
diff --git a/src/armnn/Network.cpp b/src/armnn/Network.cpp
index 1eb40d5..c3f29d4 100644
--- a/src/armnn/Network.cpp
+++ b/src/armnn/Network.cpp
@@ -365,25 +365,26 @@
         for (auto& subgraph : subgraphs)
         {
             // Try to optimize the current sub-graph
-            OptimizationViews optViews = backendObjPtr->OptimizeSubgraphView(*subgraph);
-            BOOST_ASSERT(optViews.Validate(*subgraph));
+            OptimizationViews optimizationViews = backendObjPtr->OptimizeSubgraphView(*subgraph);
+            BOOST_ASSERT(optimizationViews.Validate(*subgraph));
 
             // Optimization attempted, check the resulting optimized sub-graph
-            for (auto& substitution : optViews.GetSubstitutions())
+            for (auto& substitution : optimizationViews.GetSubstitutions())
             {
                 // Sub-graph optimized, substitute the sub-graph with the new optimized one in the main optimized graph
-                SubgraphView& optSubgraph = substitution.m_ReplacementSubgraph;
-                optGraph.SubstituteSubgraph(substitution.m_SubstitutableSubgraph, optSubgraph);
+                SubgraphView& replacementSubgraph   = substitution.m_ReplacementSubgraph;
+                SubgraphView& substitutableSubgraph = substitution.m_SubstitutableSubgraph;
+                optGraph.SubstituteSubgraph(substitutableSubgraph, replacementSubgraph);
 
                 // Assign the current backend to the optimized sub-graph
-                std::for_each(optSubgraph.begin(), optSubgraph.end(), [&selectedBackend](Layer* l)
+                std::for_each(replacementSubgraph.begin(), replacementSubgraph.end(), [&selectedBackend](Layer* l)
                     {
                         BOOST_ASSERT(l);
                         l->SetBackendId(selectedBackend);
                     });
             }
 
-            if (!optViews.GetFailedSubgraphs().empty())
+            if (!optimizationViews.GetFailedSubgraphs().empty())
             {
                 std::stringstream warningMsg;
                 warningMsg << "Some sub-graph(s) failed to optimized on " << backendObjPtr->GetId() << " backend.";
@@ -398,7 +399,7 @@
                 }
 
                 int count=0;
-                for (auto& failedSubgraph : optViews.GetFailedSubgraphs())
+                for (auto& failedSubgraph : optimizationViews.GetFailedSubgraphs())
                 {
                     // An error occurred: the optimization was attempted but not performed, try different backends
                     std::stringstream subgraphMsg;