Transforms the program using the provided pass_manager. Args: self: The ExportedProgram instance to transform pass_manager: An instance of PassManager to apply transformations. override_verifiers: Optional list of verifier classes to use instead of the default verif
(
self,
pass_manager: PassManager,
override_verifiers: None | list[Type[Verifier]] = None,
)
| 248 | |
| 249 | |
| 250 | def _transform_with_pass_manager( |
| 251 | self, |
| 252 | pass_manager: PassManager, |
| 253 | override_verifiers: None | list[Type[Verifier]] = None, |
| 254 | ) -> "ExportedProgram": |
| 255 | """ |
| 256 | Transforms the program using the provided pass_manager. |
| 257 | |
| 258 | Args: |
| 259 | self: The ExportedProgram instance to transform |
| 260 | pass_manager: An instance of PassManager to apply transformations. |
| 261 | override_verifiers: Optional list of verifier classes to use instead of the default verifiers. |
| 262 | This is needed if the transforms yields illegal graph that the default verifier cannot handle. |
| 263 | |
| 264 | Returns: |
| 265 | ExportedProgram: A new ExportedProgram with the transformations applied, or self if no changes were made |
| 266 | """ |
| 267 | res = pass_manager(self.graph_module) |
| 268 | transformed_gm = res.graph_module if res is not None else self.graph_module |
| 269 | assert transformed_gm is not None |
| 270 | |
| 271 | if transformed_gm is self.graph_module and not res.modified: |
| 272 | return self |
| 273 | |
| 274 | return _update_exported_program_graph_module( |
| 275 | self, transformed_gm, override_verifiers |
| 276 | ) |
| 277 | |
| 278 | |
| 279 | def _update_exported_program_graph_module( |
no test coverage detected