Erik Eckstein
62786b01e2
Optimizer: add the mandatory destroy hoisting pass
...
It hoists `destroy_value` instructions for non-lexical values.
```
%1 = some_ownedValue
...
last_use(%1)
... // other instructions
destroy_value %1
```
->
```
%1 = some_ownedValue
...
last_use(%1)
destroy_value %1 // <- moved after the last use
... // other instructions
```
In contrast to non-mandatory optimization passes, this is the only pass which hoists destroys over deinit-barriers.
This ensures consistent behavior in -Onone and optimized builds.
2025-11-06 21:00:44 +01:00
..
2025-04-25 14:13:50 +09:00
2025-11-04 10:17:05 +09:00
2025-09-30 06:03:33 -07:00
2025-11-06 21:00:44 +01:00
2025-10-04 14:19:52 -07:00
2024-10-20 09:07:13 -07:00
2024-10-20 09:07:13 -07:00
2024-10-20 09:07:13 -07:00
2025-10-24 02:07:22 +01:00
2025-10-24 02:07:22 +01:00
2025-04-02 18:44:31 +09:00
2025-09-20 10:37:25 +09:00
2024-10-20 09:07:13 -07:00
2024-10-20 09:07:13 -07:00
2024-10-20 09:07:13 -07:00
2024-10-20 09:07:13 -07:00
2024-10-20 09:07:13 -07:00
2024-10-20 09:07:13 -07:00
2024-10-20 09:07:13 -07:00
2025-10-04 14:19:52 -07:00
2025-06-25 16:46:59 -07:00
2024-10-20 09:07:13 -07:00
2025-05-23 00:20:18 -07:00
2024-10-20 09:07:13 -07:00
2024-10-20 09:07:13 -07:00
2024-10-20 09:07:13 -07:00
2024-10-20 09:07:13 -07:00
2024-10-20 09:07:13 -07:00
2024-10-20 09:07:13 -07:00
2024-10-20 09:07:13 -07:00
2024-11-21 18:49:52 +01:00
2025-05-23 00:20:18 -07:00
2024-10-20 09:07:13 -07:00
2024-10-20 09:07:13 -07:00
2024-10-20 09:07:13 -07:00
2025-09-24 18:20:23 -07:00
2024-10-20 09:07:13 -07:00
2024-10-20 09:07:13 -07:00
2024-10-20 09:07:13 -07:00
2025-10-04 14:19:52 -07:00
2025-10-04 14:19:52 -07:00
2025-11-04 10:17:05 +09:00
2025-11-04 10:17:05 +09:00
2025-11-04 10:17:05 +09:00
2025-09-05 17:02:07 +09:00
2024-10-20 09:07:13 -07:00
2025-05-04 03:28:56 +01:00
2025-06-10 08:09:32 -07:00
2025-02-05 08:56:56 -08:00
2024-10-20 09:07:13 -07:00
2024-10-20 09:07:13 -07:00
2025-10-04 14:19:52 -07:00
2024-10-20 09:07:13 -07:00
2024-10-20 09:07:13 -07:00
2025-05-23 00:20:18 -07:00
2024-10-20 09:07:13 -07:00
2025-03-20 22:13:19 -07:00
2025-11-04 10:17:05 +09:00
2025-05-28 12:54:07 +09:00
2025-10-04 14:19:52 -07:00
2024-02-16 16:28:45 -08:00
2025-11-04 13:54:34 +00:00