aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/Graph.cpp
diff options
context:
space:
mode:
authorDerek Lamberti <derek.lamberti@arm.com>2019-05-08 10:23:08 +0100
committerDerek Lamberti <derek.lamberti@arm.com>2019-05-08 11:52:29 +0100
commitc2fe5fb3a070ce2c7daebf63d0def3d57cec09d3 (patch)
treee21332cfe689c08f9939d251a2d8fa56a9f81e1e /src/armnn/Graph.cpp
parent59f32f96c0fc5c451e0fdbbfc24b072b07dc226b (diff)
downloadarmnn-c2fe5fb3a070ce2c7daebf63d0def3d57cec09d3.tar.gz
IVGCVSW-3031 Finer grained backend optimization API
Change-Id: I9b93bc81b97f3d89fa046ba001854f732040e63a Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Diffstat (limited to 'src/armnn/Graph.cpp')
-rw-r--r--src/armnn/Graph.cpp18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/armnn/Graph.cpp b/src/armnn/Graph.cpp
index 9827b70de9..8c2b232ead 100644
--- a/src/armnn/Graph.cpp
+++ b/src/armnn/Graph.cpp
@@ -298,21 +298,18 @@ void Graph::AddCopyLayers()
}
}
-void Graph::SubstituteSubgraph(std::unique_ptr<SubgraphView> subgraph, IConnectableLayer* substituteLayer)
+void Graph::SubstituteSubgraph(SubgraphView& subgraph, IConnectableLayer* substituteLayer)
{
- BOOST_ASSERT(subgraph != nullptr);
BOOST_ASSERT(substituteLayer != nullptr);
- ReplaceSubgraphConnections(*subgraph, substituteLayer);
- EraseSubgraphLayers(*subgraph);
+ ReplaceSubgraphConnections(subgraph, substituteLayer);
+ EraseSubgraphLayers(subgraph);
}
-void Graph::SubstituteSubgraph(std::unique_ptr<SubgraphView> subgraph, const SubgraphView& substituteSubgraph)
+void Graph::SubstituteSubgraph(SubgraphView& subgraph, const SubgraphView& substituteSubgraph)
{
- BOOST_ASSERT(subgraph);
-
- ReplaceSubgraphConnections(*subgraph, substituteSubgraph);
- EraseSubgraphLayers(*subgraph);
+ ReplaceSubgraphConnections(subgraph, substituteSubgraph);
+ EraseSubgraphLayers(subgraph);
}
void Graph::ReplaceSubgraphConnections(const SubgraphView& subgraph, IConnectableLayer* substituteLayer)
@@ -377,12 +374,13 @@ void Graph::ReplaceSubgraphConnections(const SubgraphView& subgraph, const Subgr
}
}
-void Graph::EraseSubgraphLayers(const SubgraphView &subgraph)
+void Graph::EraseSubgraphLayers(SubgraphView &subgraph)
{
for (auto layer : subgraph.GetLayers())
{
EraseLayer(layer);
}
+ subgraph.Clear();
}
void Graph::InferTensorInfos()