51
51
RetraceFoldedDtypesPass ,
52
52
)
53
53
from executorch .backends .arm ._passes .fuse_batchnorm2d_pass import FuseBatchnorm2DPass
54
+ from executorch .backends .arm ._passes .fuse_constant_ops_pass import FuseConstantOpsPass
54
55
from executorch .backends .arm ._passes .fuse_quantized_activation_pass import ( # type: ignore[import-not-found]
55
56
FuseQuantizedActivationPass ,
56
57
)
78
79
UnsqueezeScalarPlaceholdersPass ,
79
80
)
80
81
from executorch .backends .arm .tosa_specification import TosaSpecification
82
+ from executorch .backends .transforms .fuse_view_copy import FuseViewCopyTransform
81
83
82
84
from executorch .backends .transforms .replace_scalar_with_tensor import (
83
85
ReplaceScalarWithTensorArgPass ,
@@ -114,7 +116,6 @@ def _tosa_080_BI_pipeline(self, exported_program: ExportedProgram) -> GraphModul
114
116
self .add_pass (QuantizeOperatorArguments ())
115
117
self .add_pass (FoldAndAnnotateQParamsPass ()) # type: ignore[call-arg]
116
118
self .add_pass (RetraceFoldedDtypesPass ())
117
- self .add_pass (InsertTableOpsPass (exported_program ))
118
119
119
120
self .add_pass (RemoveClonePass ())
120
121
self .add_pass (SizeAdjustConv2DPass ())
@@ -128,8 +129,12 @@ def _tosa_080_BI_pipeline(self, exported_program: ExportedProgram) -> GraphModul
128
129
self .add_pass (DecomposeSelectPass ())
129
130
self .add_pass (ConvertSqueezesToViewPass ())
130
131
132
+ self .add_pass (FuseViewCopyTransform ())
133
+ self .add_pass (FuseConstantOpsPass (exported_program ))
134
+ self .add_pass (InsertTableOpsPass (exported_program ))
131
135
self .add_pass (AnnotateChannelsLastDimOrder ())
132
136
self .add_pass (InsertRescalePass ())
137
+
133
138
return self ._transform (exported_program .graph_module )
134
139
135
140
def _tosa_080_MI_pipeline (self , exported_program : ExportedProgram ) -> GraphModule :
@@ -155,7 +160,6 @@ def _tosa_080_MI_pipeline(self, exported_program: ExportedProgram) -> GraphModul
155
160
self .add_pass (QuantizeOperatorArguments ())
156
161
self .add_pass (FoldAndAnnotateQParamsPass ()) # type: ignore[call-arg]
157
162
self .add_pass (RetraceFoldedDtypesPass ())
158
- self .add_pass (InsertTableOpsPass (exported_program ))
159
163
160
164
self .add_pass (RemoveClonePass ())
161
165
self .add_pass (SizeAdjustConv2DPass ())
@@ -169,6 +173,9 @@ def _tosa_080_MI_pipeline(self, exported_program: ExportedProgram) -> GraphModul
169
173
self .add_pass (DecomposeSelectPass ())
170
174
self .add_pass (ConvertSqueezesToViewPass ())
171
175
176
+ self .add_pass (FuseViewCopyTransform ())
177
+ self .add_pass (FuseConstantOpsPass (exported_program ))
178
+ self .add_pass (InsertTableOpsPass (exported_program ))
172
179
self .add_pass (AnnotateChannelsLastDimOrder ())
173
180
self .add_pass (InsertRescalePass ())
174
181
0 commit comments