IVGCVSW-6632 OptimizationViews: has INetwork rather than Graph for holding layers

  * Deprecate the GetGraph() function in OptimizationViews & remove/fix
    occurances where OptimizationViews.GetGraph() is called.
  * OptimizationViews has member INetworkPtr.
  * OptimizationViews has GetINetwork() method.
  * Unit test added to OptimizationViewsTests.cpp.

Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: Ifc1e53f1c34d786502279631942f0472f401038e
diff --git a/src/armnn/Network.cpp b/src/armnn/Network.cpp
index 3198c22..c0cfe42 100644
--- a/src/armnn/Network.cpp
+++ b/src/armnn/Network.cpp
@@ -215,10 +215,11 @@
 }
 
 IConnectableLayer* INetwork::AddPrecompiledLayer(const PreCompiledDescriptor& preCompiledDescriptor,
-                                                    CompiledBlobPtr& compiledBlobPtr,
-                                                    const Optional<BackendId>& backend)
+                                                 CompiledBlobPtr& compiledBlobPtr,
+                                                 const Optional<BackendId>& backend,
+                                                 const char* name)
 {
-    return pNetworkImpl->AddPrecompiledLayer(preCompiledDescriptor, compiledBlobPtr, backend);
+    return pNetworkImpl->AddPrecompiledLayer(preCompiledDescriptor, compiledBlobPtr, backend, name);
 }
 
 IConnectableLayer* INetwork::AddActivationLayer(const ActivationDescriptor& activationDescriptor,
@@ -2772,10 +2773,19 @@
 
 IConnectableLayer* NetworkImpl::AddPrecompiledLayer(const PreCompiledDescriptor& preCompiledDescriptor,
                                                     CompiledBlobPtr& compiledBlobPtr,
-                                                    const Optional<BackendId>& backend)
+                                                    const Optional<BackendId>& backend,
+                                                    const char* name)
 {
     // Method use is for backend users.
-    const auto layer = m_Graph->AddLayer<PreCompiledLayer>(preCompiledDescriptor, "pre-compiled");
+    PreCompiledLayer* layer;
+    if (name)
+    {
+        layer = m_Graph->AddLayer<PreCompiledLayer>(preCompiledDescriptor, name);
+    }
+    else
+    {
+        layer = m_Graph->AddLayer<PreCompiledLayer>(preCompiledDescriptor, "pre-compiled");
+    }
 
     // Assign the pre-compiled object to layer
     // Pass only one compiled network, Arm NN does not handle multiple