Max Winkler
ce3485a0cd
[llvm][GlobalOpt] Remove empty atexit destructors/handlers ( #88836 )
...
https://godbolt.org/z/frjhqMKqc for an example.
Removal of allocations due to empty `__cxa_atexit` destructor calls is
done by the following globalopt pass.
This pass currently does not look for `atexit` handlers generated for
platforms that do not use `__cxa_atexit`.
By default Win32 and AIX use `atexit`.
I don't see an easy way to only remove `atexit` calls that the compiler
generated without looking at the generated mangled name of the atexit
handler that is being registered.
However we can easily remove all `atexit` calls that register empty
handlers since it is trivial to ensure the removed call still returns
`0` which is the value for success.
2024-04-29 20:29:34 -04:00
..
2023-05-17 17:03:15 +02:00
2023-04-27 09:53:47 +08:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2024-02-05 11:57:34 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2024-02-05 11:57:34 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2023-09-14 13:49:01 +00:00
2022-11-29 13:29:02 +01:00
2022-12-13 15:33:59 +01:00
2023-04-29 16:06:01 -04:00
2022-12-13 15:33:59 +01:00
2023-04-27 09:53:47 +08:00
2022-12-13 15:33:59 +01:00
2023-04-27 09:53:47 +08:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2024-04-29 20:29:34 -04:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2024-04-29 09:21:50 -07:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2024-04-18 16:07:08 -06:00
2024-02-05 11:57:34 +01:00
2024-02-05 11:57:34 +01:00
2023-01-05 12:43:45 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2024-04-29 09:21:50 -07:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2023-04-18 18:24:17 +02:00
2022-12-13 15:33:59 +01:00
2023-11-03 10:46:07 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2023-04-25 16:18:41 +01:00
2022-12-13 15:33:59 +01:00
2022-09-19 19:25:14 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2024-02-05 11:57:34 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:42:52 +01:00
2023-12-15 15:49:25 +01:00
2023-03-02 17:07:58 +01:00
2023-04-25 13:07:01 -07:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2023-07-12 14:35:55 +02:00
2024-02-05 11:57:34 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2024-02-05 11:57:34 +01:00
2023-12-05 09:42:53 +08:00
2024-02-05 11:57:34 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2024-03-27 11:41:34 +00:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2023-01-05 12:43:45 +01:00
2022-12-13 15:33:59 +01:00
2024-02-05 11:57:34 +01:00
2022-12-13 15:33:59 +01:00
2023-04-29 09:48:21 -04:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2023-03-10 16:01:47 +01:00
2022-12-13 15:33:59 +01:00
2023-05-16 16:32:30 +01:00
2024-02-08 11:49:04 +00:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2023-05-16 16:32:30 +01:00
2024-02-05 11:57:34 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2023-04-25 14:37:25 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:42:52 +01:00
2022-12-13 15:42:52 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-11-29 13:29:02 +01:00
2023-03-24 14:19:43 +01:00
2023-08-09 18:33:11 -04:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2024-02-06 13:58:58 -08:00
2022-12-13 15:33:59 +01:00
2023-11-29 13:19:50 +00:00
2023-07-12 14:35:55 +02:00
2022-12-13 15:33:59 +01:00
2024-02-05 11:57:34 +01:00
2024-02-05 11:57:34 +01:00
2024-02-05 11:57:34 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2024-04-29 09:21:50 -07:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2024-04-29 09:21:50 -07:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00
2022-12-13 15:33:59 +01:00