Fix Samsung backend PassManager import broken by #20025#20228
Conversation
Repoint the import to executorch.exir.pass_manager (its canonical module).
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/20228
Note: Links to docs will display an error until the docs builds have been completed. ✅ No FailuresAs of commit 1672975 with merge base b47e588 ( This comment was automatically generated by Dr. CI and updates every 15 minutes. |
There was a problem hiding this comment.
Pull request overview
This PR fixes a Samsung backend import regression caused by #20025 changing executorch.exir.passes to no longer re-export the legacy PassManager. It restores Samsung export functionality by importing PassManager from its canonical module (executorch.exir.pass_manager), preserving the existing GraphModule-based pass pipeline behavior.
Changes:
- Update Samsung backend to import
PassManagerfromexecutorch.exir.pass_managerinstead ofexecutorch.exir.passes.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This PR needs a
|
#20025 ("Arm backend: Migrate pass manager to exported program") changed
exir/passes/__init__.pyto re-exportExportedProgramPassManagerinstead ofPassManager. The Samsung backend still importsPassManagerfromexecutorch.exir.passes, so every Samsung model export now fails at import:This has made
test-samsung-quantmodels-linuxred on every main commit since 2026-06-11 14:52 UTC and is blocking viable/strict promotion (stale ~31h).The legacy
PassManagerclass still exists inexecutorch.exir.pass_manager. The Samsung backend runs passes on a GraphModule (enn_preprocess_passes(edge_program.graph_module)), which is exactly what the legacyPassManageris for, not the newExportedProgramPassManager. This repoints the import to its canonical module and restores the previous behavior.cc @usamahz