From a6d45c77688978518ca2113ff68ca7d98aaca36a Mon Sep 17 00:00:00 2001 From: Derek Lamberti Date: Thu, 28 Feb 2019 09:30:16 +0000 Subject: IVGCVSW-2769 Don't process node if already visited Change-Id: I1eb06a044ea702fce00910d84fd20a680c03f1cc Signed-off-by: Derek Lamberti --- src/armnn/SubGraphSelector.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) 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 -- cgit v1.2.1