diff --git a/backends/arm/_passes/propagate_view_copy_permute_pass.py b/backends/arm/_passes/propagate_view_copy_permute_pass.py index a54c8f28312..f1bc28bf5cd 100644 --- a/backends/arm/_passes/propagate_view_copy_permute_pass.py +++ b/backends/arm/_passes/propagate_view_copy_permute_pass.py @@ -108,16 +108,18 @@ def call(self, graph_module: torch.fx.GraphModule) -> PassResult: continue if self._propagate(node): iteration_modified = True - break if iteration_modified: + modified = True graph_module = self._retrace(graph_module) - result = self.fuse_horizontal(graph_module) - graph_module = result.graph_module - iteration_modified |= result.modified - result = self.fuse_vertical(graph_module) - graph_module = result.graph_module - iteration_modified |= result.modified + continue + + result = self.fuse_horizontal(graph_module) + graph_module = result.graph_module + iteration_modified |= result.modified + result = self.fuse_vertical(graph_module) + graph_module = result.graph_module + iteration_modified |= result.modified modified |= iteration_modified if not iteration_modified: