aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDerek Lamberti <derek.lamberti@arm.com>2019-02-28 09:30:16 +0000
committerderek.lamberti <derek.lamberti@arm.com>2019-03-08 10:39:46 +0000
commita6d45c77688978518ca2113ff68ca7d98aaca36a (patch)
tree67ad4d2cfc445da522eb2e60a9232d9355bac3cc /src
parent495701f016117b405d90a69de0814bf60751d78b (diff)
downloadarmnn-a6d45c77688978518ca2113ff68ca7d98aaca36a.tar.gz
IVGCVSW-2769 Don't process node if already visited
Change-Id: I1eb06a044ea702fce00910d84fd20a680c03f1cc Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Diffstat (limited to 'src')
-rw-r--r--src/armnn/SubGraphSelector.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/armnn/SubGraphSelector.cpp b/src/armnn/SubGraphSelector.cpp
index 4b3f79921f..be51a7d4e3 100644
--- a/src/armnn/SubGraphSelector.cpp
+++ b/src/armnn/SubGraphSelector.cpp
@@ -24,6 +24,7 @@ struct LayerSelectionInfo
: m_Layer{layer}
, m_SplitId{0}
, m_IsSelected{selector(*layer)}
+ , m_IsVisited(false)
{
// fill topology information by storing direct children
for (auto&& slot = m_Layer->BeginOutputSlots(); slot != m_Layer->EndOutputSlots(); ++slot)
@@ -40,6 +41,12 @@ struct LayerSelectionInfo
uint32_t splitId,
bool prevSelected)
{
+ if (m_IsVisited)
+ {
+ return;
+ }
+ m_IsVisited = true;
+
if (m_SplitId < splitId)
{
m_SplitId = splitId;
@@ -107,6 +114,7 @@ struct LayerSelectionInfo
Layer* m_Layer;
uint32_t m_SplitId;
bool m_IsSelected;
+ bool m_IsVisited;
};
} // namespace <anonymous>