aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/SubGraphSelector.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/armnn/SubGraphSelector.cpp')
-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>