mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
This commit eliminates the need for mark uninitialized fixup by updating the compiler so that we now emit: ``` %0 = alloc_box %1 = mark_uninitialized %0 %2 = project_box %1 ... destroy_value %1 ``` Instead of: ``` %0 = alloc_box %1 = project_box %0 %2 = mark_uninitialized %1 ... destroy_value %0 ``` Now that the first type of code is generated, I can change project_box to only take guaranteed arguments. This will ensure that the OSSA ARC optimizer can eliminate copies of boxes without needing to understand the usage of the project_box.