From 783d364dda009a063fb4f5cc8dc89f347df7eb7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Alfv=C3=A9n?= Date: Tue, 19 Jul 2022 14:03:27 +0200 Subject: 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 Change-Id: I1e5f7ee501be17e76684b33c6e86ab8af0f3e61f --- ethosu/vela/live_range.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'ethosu/vela/live_range.py') diff --git a/ethosu/vela/live_range.py b/ethosu/vela/live_range.py index ccf49297..e683f9f5 100644 --- a/ethosu/vela/live_range.py +++ b/ethosu/vela/live_range.py @@ -289,12 +289,14 @@ def create_linear_live_range_graph(sg, target_mem_area, target_mem_type_set, lr_ 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 -- cgit v1.2.1