vela: Change Shape4D mutability usage
- Removed requirement for cloning shapes when unique values required
by forcing top-level immutability. This alleviates issues with Shapes
being unintentionally shared and then mutated as if value-types.
- Shape4D fields can no longer be assigned without replication.
Signed-off-by: Tim Hall <tim.hall@arm.com>
Change-Id: Ic0dbfa349eb0215eabefb4f4e2cf99f12d83699c
diff --git a/ethosu/vela/softmax.py b/ethosu/vela/softmax.py
index c3b0611..4418f01 100644
--- a/ethosu/vela/softmax.py
+++ b/ethosu/vela/softmax.py
@@ -216,10 +216,9 @@
# Reshape ifm/ofm (if needed)
ifm_shape = self.op.ifm_shapes[0]
if ifm_shape.batch > 1:
- ifm_shape.height = ifm_shape.batch * ifm_shape.height
- ifm_shape.batch = 1
+ self.op.ifm_shapes[0] = ifm_shape.with_height(ifm_shape.batch * ifm_shape.height).with_batch(1)
self.op.ifm.avoid_NHCWB16 = True
- self.op.ofm_shapes[0] = ifm_shape.clone()
+ self.op.ofm_shapes[0] = self.op.ifm_shapes[0]
self.op.ofm.avoid_NHCWB16 = True
if ifm.dtype in (DataType.uint8, DataType.int8) and ofm.dtype == ifm.dtype: