| feat: add fusion region outlining and DVM call lowering
Add three-phase pass pipeline for handling fused subgraphs in MFusion:
1. outline-mfuse-fused-subgraphs: Extract mfuse.fused ops into separate functions
2. copy-fused-subgraphs: Clone outlined functions for DVM backend usage
3. convert-dvm-subgraph-to-mfuse-dvm-call: Replace func.call with mfuse.dvm_call
Also add MfuseToDvm conversion pass to lower Mfuse ops to DVM dialect.
Key changes:
- Add mfuse.dvm_call and mfuse.fused operations to MfuseOps.td
- Implement outlining passes with proper attribute handling
- Add constant lifting and IO semantics (dvm.load/dvm.store) conversion
- Update Python inductor pipeline with complete optimization flow
- Add comprehensive test coverage for all new passes
| 21 天前 |