diff options
Diffstat (limited to 'src/armnn')
-rw-r--r-- | src/armnn/SubGraphSelector.cpp | 8 |
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> |