MLBEDSW-6700: Fix compiler assert when fusing tensors

If an elemenwise op is part of a cascade, the ifm can not
be overwritten by the ofm.

Signed-off-by: Johan Alfven <johan.alfven@arm.com>
Change-Id: I1e5f7ee501be17e76684b33c6e86ab8af0f3e61f
diff --git a/ethosu/vela/live_range.py b/ethosu/vela/live_range.py
index ccf4929..e683f9f 100644
--- a/ethosu/vela/live_range.py
+++ b/ethosu/vela/live_range.py
@@ -289,12 +289,14 @@
 def _extract_live_ranges_from_schedule(sg, target_mem_area, target_mem_type_set, lr_graph):
     time_for_cascade = {}
     for sched_op in sg.sched_ops:
-        merge_elementwise_op_ranges(sg, sched_op, lr_graph, target_mem_area, target_mem_type_set)
-
         op_info = sg.schedule.cost_map[sched_op]
         cascade = op_info.cascade
         cascade_info = sg.schedule.cascades.get(cascade, None)
 
+        if cascade_info is None:
+            # Op is not part of a cascade, check if the ifm can be overwritten by the ofm
+            merge_elementwise_op_ranges(sg, sched_op, lr_graph, target_mem_area, target_mem_type_set)
+
         time_to_set = time_for_cascade.get(cascade, lr_graph.current_time)
 
         op_info.time_index = time_to_set