diff options
author | Derek Lamberti <derek.lamberti@arm.com> | 2019-02-28 09:30:16 +0000 |
---|---|---|
committer | derek.lamberti <derek.lamberti@arm.com> | 2019-03-08 10:39:46 +0000 |
commit | a6d45c77688978518ca2113ff68ca7d98aaca36a (patch) | |
tree | 67ad4d2cfc445da522eb2e60a9232d9355bac3cc /src/armnn | |
parent | 495701f016117b405d90a69de0814bf60751d78b (diff) | |
download | armnn-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/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> |