Skip to content

Commit 4ac0014

Browse files
Arm backend: Convert assert to throw TypeError in arm_pass_utils
There's a risk with using asserts in production code as it might get optimized out. TypeError is more explicit and conveys more information abour what has gone wrong. Change-Id: I2c811f9290e6beefd9a4a99d83ec9220209a56a8 Signed-off-by: Sebastian Larsson <[email protected]>
1 parent e156791 commit 4ac0014

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

backends/arm/_passes/arm_pass_utils.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
import torch
1515
import torch.fx
16+
from executorch.backends.arm.tosa_utils import get_node_debug_info
1617
from executorch.exir import ExportedProgram
1718
from executorch.exir.dialects._ops import ops as exir_ops
1819

@@ -169,9 +170,13 @@ def get_first_fake_tensor(node: torch.fx.Node) -> FakeTensor:
169170
else:
170171
fake_tensor = node.meta["val"]
171172

172-
assert isinstance(
173-
fake_tensor, FakeTensor
174-
), f'Found {fake_tensor} in meta["val"] of {node}, expected to find FakeTensor.'
173+
if not isinstance(fake_tensor, FakeTensor):
174+
raise TypeError(
175+
f'Expected a FakeTensor in meta["val"] of node {node}, but got '
176+
f"{type(fake_tensor).__name__}\n"
177+
f"{get_node_debug_info(node)}"
178+
)
179+
175180
return fake_tensor
176181

177182

0 commit comments

Comments
 (0)