@@ -234,8 +234,6 @@ def _transform(
234
234
isinstance (p , (list , Verifier )) for p in passes
235
235
), f"Expected all passes to be of PassType, not list or Verifier. Use override_verifiers kwarg instead. Got: { list (passes )} "
236
236
237
- for p in list (passes ):
238
- print (type (p ))
239
237
pm = PassManager (list (passes ))
240
238
res = pm (self .graph_module )
241
239
transformed_gm = res .graph_module if res is not None else self .graph_module
@@ -1442,22 +1440,34 @@ def transform(
1442
1440
"""
1443
1441
compile_config = compile_config or self .compile_config
1444
1442
new_programs : Dict [str , ExportedProgram ] = {}
1443
+
1444
+ def _transform_and_verify (
1445
+ program : ExportedProgram ,
1446
+ passes : Sequence [PassType ],
1447
+ verifier : EXIREdgeDialectVerifier ,
1448
+ ) -> ExportedProgram :
1449
+ # Overwrite the original verifier with the new one
1450
+ # This should be a no-op for the most cases where compile_config is none.
1451
+ new_program = _transform (program , * passes , override_verifiers = [verifier ])
1452
+ # ExportedProgram constructor should call the verifier, but
1453
+ # the validate() function in the constructor is marked for deprecation.
1454
+ verifier ()(new_program .graph_module )
1455
+ return new_program
1456
+
1457
+ verifier = EXIREdgeDialectVerifier (
1458
+ edge_compile_config = compile_config , class_only = True
1459
+ )
1445
1460
if isinstance (passes , dict ):
1446
1461
for name , program in self ._edge_programs .items ():
1447
1462
if name in passes .keys ():
1448
- new_programs [name ] = _transform (program , * passes [name ])
1449
- EXIREdgeDialectVerifier (edge_compile_config = compile_config )(
1450
- new_programs [name ].graph_module
1463
+ new_programs [name ] = _transform_and_verify (
1464
+ program , passes [name ], verifier
1451
1465
)
1452
1466
else :
1453
1467
new_programs [name ] = copy .deepcopy (program )
1454
-
1455
1468
else : # apply passes to every method
1456
1469
for name , program in self ._edge_programs .items ():
1457
- new_programs [name ] = _transform (program , * passes )
1458
- EXIREdgeDialectVerifier (edge_compile_config = compile_config )(
1459
- new_programs [name ].graph_module
1460
- )
1470
+ new_programs [name ] = _transform_and_verify (program , passes , verifier )
1461
1471
1462
1472
return EdgeProgramManager (
1463
1473
new_programs , copy .deepcopy (self ._config_methods ), compile_config
0 commit comments