Erik Eckstein
28dd6f7064
Optimizer: improve the SpecializationCloner
...
* add `cloneFunctionBody` without an `entryBlockArguments` argument
* remove the `swift::ClosureSpecializationCloner` from the bridging code and replace it with a more general `SpecializationCloner`
2025-06-20 08:15:02 +02:00
Erik Eckstein
d8e4e501f6
Optimizer: add some SIL modification APIs to Context
...
* `insertFunctionArgument`
* `BeginAccessInst.set(accessKind:)`
* `erase(function:)`
2025-06-20 08:15:01 +02:00
Erik Eckstein
de28cf04cc
Optimizer: add Context. mangle(withBoxToStackPromotedArguments)
2025-06-20 08:15:01 +02:00
Erik Eckstein
bc7024edfe
Optimizer: fix ModulePassContext.mangle(withDeadArguments:)
...
If mangled the wrong argument indices.
2025-06-20 08:15:00 +02:00
Erik Eckstein
4212c611e5
Optimizer: add Context.createSpecializedFunctionDeclaration
...
Originally this was a "private" utility for the ClosureSpecialization pass.
Now, make it a general utility which can be used for all kind of function specializations.
2025-06-20 08:15:00 +02:00
Meghana Gupta
aa01b2ad06
Add a new semantics attribute to disable SIL verification on a function
...
This provides a way to disable verification per function instead of the entire module.
2025-05-15 14:30:28 -07:00
Andrew Trick
6898e33edd
[NFC] fix a dropUnusedArguments parameter name
2025-04-07 14:42:10 -07:00
Erik Eckstein
e18bedaa87
CastOptimizer: pass the SIL function to the cast-classify APIs, instead of the module decl
...
NFC
2025-04-05 09:00:30 +02:00
Erik Eckstein
cf8c8561ca
Optimizer: move optimizer bridging code from PassManager.cpp into its own file.
...
The bridging code was in PassManager.cpp only for historical reasons.
It's now in OptimizerBridging.cpp.
NFC
2025-03-19 09:28:53 +01:00