77
88# pyre-unsafe
99
10- from executorch .backends .arm ._passes . annotate_channels_last_dim_order_pass import (
10+ from executorch .backends .arm ._passes import (
1111 AnnotateChannelsLastDimOrder ,
12- )
13- from executorch .backends .arm ._passes .annotate_decomposed_matmul import (
1412 AnnotateDecomposedMatmulPass ,
15- )
16- from executorch . backends . arm . _passes . cast_int64_pass import CastInt64ToInt32Pass
17- from executorch . backends . arm . _passes . conv1d_unsqueeze_pass import Conv1dUnsqueezePass
18- from executorch . backends . arm . _passes . convert_any_default_dim_dims_pass import (
13+ CastInt64BuffersToInt32Pass ,
14+ CastToInt32Pass ,
15+ ComputeConstantOpsAOT ,
16+ Conv1dUnsqueezePass ,
1917 ConvertAnyDefaultDimDimsPass ,
20- )
21- from executorch .backends .arm ._passes .convert_expand_copy_to_repeat import (
2218 ConvertExpandCopyToRepeatPass ,
23- )
24- from executorch .backends .arm ._passes .convert_full_like_to_full_pass import (
2519 ConvertFullLikeToFullPass ,
26- )
27- from executorch . backends . arm . _passes . convert_minmax_pass import ConvertMinMaxPass
28- from executorch . backends . arm . _passes . convert_split_to_slice import (
20+ ConvertMeanDimToAveragePoolPass ,
21+ ConvertMinMaxPass ,
22+ ConvertMmToBmmPass ,
2923 ConvertSplitToSlicePass ,
30- )
31- from executorch .backends .arm ._passes .convert_squeezes_to_view import ( # type: ignore[import-not-found]
3224 ConvertSqueezesToViewPass ,
33- )
34- from executorch .backends .arm ._passes .convert_to_clamp import ConvertToClampPass
35- from executorch .backends .arm ._passes .decompose_batchnorm_pass import (
25+ ConvertToClampPass ,
3626 DecomposeBatchNormPass ,
37- )
38- from executorch .backends .arm ._passes .decompose_div_pass import DecomposeDivPass
39- from executorch .backends .arm ._passes .decompose_layernorm_pass import (
27+ DecomposeDivPass ,
4028 DecomposeLayerNormPass ,
41- )
42- from executorch .backends .arm ._passes .decompose_linear_pass import DecomposeLinearPass
43- from executorch .backends .arm ._passes .decompose_meandim_pass import DecomposeMeanDimPass
44- from executorch .backends .arm ._passes .decompose_select import ( # type: ignore[import-not-found]
29+ DecomposeLinearPass ,
30+ DecomposeMeanDimPass ,
4531 DecomposeSelectPass ,
46- )
47- from executorch .backends .arm ._passes .decompose_softmax_pass import DecomposeSoftmaxPass
48- from executorch .backends .arm ._passes .decompose_softmax_unstable_pass import (
32+ DecomposeSoftmaxPass ,
4933 DecomposeSoftmaxUnstablePass ,
50- )
51- from executorch .backends .arm ._passes .decompose_var_pass import DecomposeVarPass
52- from executorch .backends .arm ._passes .fold_qdq_with_annotated_qparams_pass import (
34+ DecomposeVarPass ,
5335 FoldAndAnnotateQParamsPass ,
54- QuantizeOperatorArguments ,
55- RetraceFoldedDtypesPass ,
56- )
57- from executorch .backends .arm ._passes .fuse_batchnorm2d_pass import FuseBatchnorm2DPass
58- from executorch .backends .arm ._passes .fuse_constant_ops_pass import (
59- ComputeConstantOpsAOT ,
36+ FuseBatchnorm2DPass ,
6037 FuseConstantArgsPass ,
61- )
62- from executorch .backends .arm ._passes .fuse_quantized_activation_pass import ( # type: ignore[import-not-found]
6338 FuseQuantizedActivationPass ,
64- )
65- from executorch .backends .arm ._passes .insert_rescales_pass import InsertRescalePass
66- from executorch .backends .arm ._passes .insert_table_ops import InsertTableOpsPass
67- from executorch .backends .arm ._passes .keep_dims_false_to_squeeze_pass import (
39+ InsertRescalePass ,
40+ InsertTableOpsPass ,
6841 KeepDimsFalseToSqueezePass ,
69- )
70- from executorch .backends .arm ._passes .match_arg_ranks_pass import MatchArgRanksPass
71- from executorch .backends .arm ._passes .meandim_to_averagepool_pass import ( # type: ignore[attr-defined]
72- ConvertMeanDimToAveragePoolPass ,
73- )
74- from executorch .backends .arm ._passes .mm_to_bmm_pass import ( # type: ignore[import-not-found]
75- ConvertMmToBmmPass ,
76- )
77- from executorch .backends .arm ._passes .remove_clone_pass import RemoveClonePass
78- from executorch .backends .arm ._passes .scalars_to_attribute_pass import (
42+ MatchArgRanksPass ,
43+ QuantizeOperatorArguments ,
44+ RemoveClonePass ,
45+ RetraceFoldedDtypesPass ,
7946 ScalarsToAttributePass ,
80- )
81- from executorch .backends .arm ._passes .size_adjust_conv2d_pass import SizeAdjustConv2DPass
82- from executorch .backends .arm ._passes .unsqueeze_before_repeat_pass import (
47+ SizeAdjustConv2DPass ,
8348 UnsqueezeBeforeRepeatPass ,
84- )
85- from executorch .backends .arm ._passes .unsqueeze_scalar_placeholders_pass import (
8649 UnsqueezeScalarPlaceholdersPass ,
8750)
8851from executorch .backends .arm .tosa_specification import Tosa_0_80 , TosaSpecification
@@ -118,6 +81,8 @@ def _tosa_080_BI_pipeline(self, exported_program: ExportedProgram) -> GraphModul
11881 self .add_pass (ConvertToClampPass ())
11982 self .add_pass (ConvertMinMaxPass ())
12083 self .add_pass (ConvertAnyDefaultDimDimsPass ())
84+ if isinstance (self .tosa_spec , Tosa_0_80 ) and self .tosa_spec .is_U55_subset :
85+ self .add_pass (CastToInt32Pass ())
12186
12287 self .add_pass (ReplaceScalarWithTensorArgPass ())
12388 self .add_pass (AnnotateDecomposedMatmulPass ())
@@ -132,7 +97,7 @@ def _tosa_080_BI_pipeline(self, exported_program: ExportedProgram) -> GraphModul
13297 self .add_pass (SizeAdjustConv2DPass ())
13398 self .add_pass (ConvertExpandCopyToRepeatPass ())
13499 self .add_pass (UnsqueezeBeforeRepeatPass ())
135- self .add_pass (CastInt64ToInt32Pass (exported_program ))
100+ self .add_pass (CastInt64BuffersToInt32Pass (exported_program ))
136101 self .add_pass (KeepDimsFalseToSqueezePass ())
137102 self .add_pass (Conv1dUnsqueezePass (exported_program ))
138103 self .add_pass (DecomposeSelectPass ())
@@ -179,7 +144,7 @@ def _tosa_080_MI_pipeline(self, exported_program: ExportedProgram) -> GraphModul
179144 self .add_pass (SizeAdjustConv2DPass ())
180145 self .add_pass (ConvertExpandCopyToRepeatPass ())
181146 self .add_pass (UnsqueezeBeforeRepeatPass ())
182- self .add_pass (CastInt64ToInt32Pass (exported_program ))
147+ self .add_pass (CastInt64BuffersToInt32Pass (exported_program ))
183148 self .add_pass (KeepDimsFalseToSqueezePass ())
184149 self .add_pass (Conv1dUnsqueezePass (exported_program ))
185150 self .add_pass (DecomposeSelectPass ())
0 commit comments