MLBEDSW-4076 Fix read_offset at create_primary_op

Fix read_offset at create_primary_op
The read_offset need to be copied when adding
avg pool as primary operator.

Signed-off-by: Patrik Gustavsson <patrik.gustavsson@arm.com>
Change-Id: I6f168517a0e22543455b623b6b4f59237e8d530a
diff --git a/ethosu/vela/pass_packing.py b/ethosu/vela/pass_packing.py
index 281c093..2a1903d 100644
--- a/ethosu/vela/pass_packing.py
+++ b/ethosu/vela/pass_packing.py
@@ -29,17 +29,16 @@
 
 class PassFlags(enum.Flag):
     Empty = 0
-    Pre = 1
-    Main = 2
-    Post = 4
-    Mac = 8
-    Dma = 32
-    ElementWise = 256
-    Npu = 512
-    Cpu = 1024
-    StartupInit = 2048
-    MemoryOnly = 4096
-    PostFusingLimited = 8192
+    Main = 1
+    Post = 2
+    Mac = 4
+    Dma = 8
+    ElementWise = 16
+    Npu = 32
+    Cpu = 64
+    StartupInit = 128
+    MemoryOnly = 256
+    PostFusingLimited = 512
 
 
 mac_main_ops = set(
@@ -98,7 +97,7 @@
         # ops_set
         npu_post_ops,
         # incompatible_pack_flags
-        PassFlags.Cpu | PassFlags.MemoryOnly | PassFlags.Pre | PassFlags.Main,
+        PassFlags.Cpu | PassFlags.MemoryOnly | PassFlags.Main,
         # flags_to_set
         PassFlags.Npu | PassFlags.Post,
         # flags_to_clear
@@ -108,7 +107,7 @@
         # ops_set
         npu_post_fuse_limited_ops,
         # incompatible_pack_flags
-        PassFlags.Cpu | PassFlags.MemoryOnly | PassFlags.Pre | PassFlags.Main,
+        PassFlags.Cpu | PassFlags.MemoryOnly | PassFlags.Main,
         # flags_to_set
         PassFlags.Npu | PassFlags.PostFusingLimited,
         # flags_to_clear
@@ -118,12 +117,7 @@
         # ops_set
         mac_main_ops,
         # incompatible_pack_flags
-        PassFlags.Cpu
-        | PassFlags.MemoryOnly
-        | PassFlags.ElementWise
-        | PassFlags.Pre
-        | PassFlags.Main
-        | PassFlags.PostFusingLimited,
+        PassFlags.Cpu | PassFlags.MemoryOnly | PassFlags.ElementWise | PassFlags.Main | PassFlags.PostFusingLimited,
         # flags_to_set
         PassFlags.Npu | PassFlags.Mac | PassFlags.Main,
         # flags_to_clear
@@ -133,12 +127,7 @@
         # ops_set
         elem_wise_main_ops,
         # incompatible_pack_flags
-        PassFlags.Cpu
-        | PassFlags.MemoryOnly
-        | PassFlags.Mac
-        | PassFlags.Pre
-        | PassFlags.Main
-        | PassFlags.PostFusingLimited,
+        PassFlags.Cpu | PassFlags.MemoryOnly | PassFlags.Mac | PassFlags.Main | PassFlags.PostFusingLimited,
         # flags_to_set
         PassFlags.Npu | PassFlags.ElementWise | PassFlags.Main,
         # flags_to_clear
@@ -436,6 +425,7 @@
             avgpool_op.set_output_tensor(avgpool_out)
             avgpool_op.ifm_shapes = op.ifm_shapes.copy()
             avgpool_op.ofm_shapes = op.ofm_shapes.copy()
+            avgpool_op.read_offsets = op.read_offsets.copy()
 
             op.inputs[0] = avgpool_out
             op_list.insert(0, avgpool_op)