IVGCVSW-7907 Model cannot use Subtensors

 * On Neon we cannot remove a Reshape if it's connected to a
   SplitterLayer.
 * Removed clause 5 in SplitterLayer which could erroneously prevent
   the use of Subtensors in certain circumstances.

Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I437eb5d3ede25329a4d11d12c3fb1aec2e76efb6
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
diff --git a/src/armnn/layers/SplitterLayer.cpp b/src/armnn/layers/SplitterLayer.cpp
index 2e75139..f8a2ae0 100644
--- a/src/armnn/layers/SplitterLayer.cpp
+++ b/src/armnn/layers/SplitterLayer.cpp
@@ -130,14 +130,11 @@
                 // 2) the same TensorHandleFactory is used for input and split layer output
                 // 3) the output does not go to a Constant layer or input layer
                 // 4) if split along x or y (2 innermost dimensions) and the next layers do not require padding
-                // 5) neither the input nor the outputs have an Overridden TensorInfo
                 if (parentInfo.IsTypeSpaceMatch(info) && //(1)
                     factoryId == slot->GetTensorHandleFactoryId() && //(2)
                     GetOutputSlot(i).GetConnection(0)->GetOwningLayer().GetType() != LayerType::Constant && //(3)
                     GetOutputSlot(i).GetConnection(0)->GetOwningLayer().GetType() != LayerType::Input && //(3)
-                    canUseSubTensorOnXorY && //(4)
-                    !GetOutputSlot(i).GetConnection(0)->IsTensorInfoOverridden() && //(5)
-                    !GetInputSlot(0).IsTensorInfoOverridden()) //(5)
+                    canUseSubTensorOnXorY) //(4)
                 {
                     ARMNN_NO_DEPRECATE_WARN_BEGIN
                     return factory.CreateSubTensorHandle(*inputData,
diff --git a/src/backends/neon/NeonBackend.cpp b/src/backends/neon/NeonBackend.cpp
index 5fd1202..3a398e0 100644
--- a/src/backends/neon/NeonBackend.cpp
+++ b/src/backends/neon/NeonBackend.cpp
@@ -516,9 +516,8 @@
             {
                 continue;
             }
-            // Cannot remove a Reshape if it's connected to a SplitterLayer through a Tensor that has more than
-            // 4 dimensions
-            if (ConnectedToLayerType(baseLayer, LayerType::Splitter, 4))
+            // Cannot remove a Reshape if it's connected to a SplitterLayer
+            if (ConnectedToLayerType(baseLayer, LayerType::Splitter))
             {
                 continue;
             }