mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Allow function passes to: 1. Add new functions, to be optimized before continuing with the current function. 2. Restart the pipeline on the current function after the current pass completes. This makes it possible to fully optimize callees that are the result of specialization prior to generating interprocedural information or making inlining choices about these callees. It also allows us to solve a phase-ordering issue we have with generic specialization, devirtualization, and inlining, by rescheduling the current function after changes happen in one of these passes as opposed to running all of these as part of the inlining pass as happens today. Currently this is NFC since we have no passes that use this functionality.
4.4 KiB
4.4 KiB