From 86fef38e550ef9202b97788f80c516c6b1bc1f89 Mon Sep 17 00:00:00 2001 From: Adrian Lundell Date: Wed, 6 May 2026 14:27:21 +0200 Subject: [PATCH] Arm backend: Move import in DecomposePermuteForU55Pass Importing on top-level causes a dependency cycle Signed-off-by: Adrian Lundell Change-Id: I166af41c1019b9a5590e69706bdb4ed2c2fb6988 --- backends/arm/_passes/decompose_permute_for_u55_pass.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backends/arm/_passes/decompose_permute_for_u55_pass.py b/backends/arm/_passes/decompose_permute_for_u55_pass.py index c1f1f992ac9..ceed25f97ec 100644 --- a/backends/arm/_passes/decompose_permute_for_u55_pass.py +++ b/backends/arm/_passes/decompose_permute_for_u55_pass.py @@ -14,7 +14,6 @@ from executorch.backends.arm._passes.arm_pass import ArmPass from executorch.backends.arm._passes.rewrite_slice import RewriteSlicePass from executorch.backends.arm.arm_vela import vela_compile -from executorch.backends.arm.ethosu.compile_spec import EthosUCompileSpec from executorch.backends.arm.tosa.mapping import map_dtype from executorch.backends.arm.tosa.specification import get_context_spec from executorch.exir.dialects._ops import ops as exir_ops @@ -112,6 +111,9 @@ def _violates_exact_constraint( permutation and dtype to check wheter it is supported. """ + # Lazy import to avoid circular dependency + from executorch.backends.arm.ethosu.compile_spec import EthosUCompileSpec + if dtype not in (torch.int8, torch.bool, torch.int16): return True