From dcf041cfd67acff7ebd524008050b4e1a435c0e5 Mon Sep 17 00:00:00 2001 From: Mike Kelly Date: Mon, 20 Jan 2020 17:18:18 +0000 Subject: IVGCVSW-4331 Calling RemoveDebugLayers can break connections * Changed RemoveDebugLayers to move all connections from its OutputSlot. Signed-off-by: Mike Kelly Change-Id: I3c649e3f660804ca48f3c2af993a5af6a7ed4d4a --- src/armnn/DynamicQuantizationVisitor.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/armnn/DynamicQuantizationVisitor.cpp') diff --git a/src/armnn/DynamicQuantizationVisitor.cpp b/src/armnn/DynamicQuantizationVisitor.cpp index ba87c6d335..4b1dce0b6f 100644 --- a/src/armnn/DynamicQuantizationVisitor.cpp +++ b/src/armnn/DynamicQuantizationVisitor.cpp @@ -63,13 +63,14 @@ void DynamicQuantizationVisitor::RemoveDebugLayers() for (DebugLayer* debugLayer : m_DebugLayers) { OutputSlot& proceedingOutputSlot = *debugLayer->GetInputSlot(0).GetConnectedOutputSlot(); - InputSlot& succeedingInputSlot = *debugLayer->GetOutputSlot(0).GetConnection(0); proceedingOutputSlot.Disconnect(debugLayer->GetInputSlot(0)); - debugLayer->GetOutputSlot(0).Disconnect(succeedingInputSlot); + for (InputSlot* succeedingInputSlot : debugLayer->GetOutputSlot(0).GetConnections()) + { + debugLayer->GetOutputSlot(0).Disconnect(*succeedingInputSlot); + proceedingOutputSlot.Connect(*succeedingInputSlot); + } m_Graph.EraseLayer(debugLayer); - - proceedingOutputSlot.Connect(succeedingInputSlot); } m_DebugLayers.clear(); } -- cgit v1.2.1