Antonio Frighetto
f1cc0b607b
[IR] Introduce dead_on_return attribute
...
Add `dead_on_return` attribute, which is meant to be taken advantage
by the frontend, and states that the memory pointed to by the argument
is dead upon function return. As with `byval`, it is supposed to be
used for passing aggregates by value. The difference lies in the ABI:
`byval` implies that the pointer is explicitly passed as argument to
the callee (during codegen the copy is emitted as per byval contract),
whereas a `dead_on_return`-marked argument implies that the copy
already exists in the IR, is located at a specific stack offset within
the caller, and this memory will not be read further by the caller upon
callee return – or otherwise poison, if read before being written.
RFC: https://discourse.llvm.org/t/rfc-add-dead-on-return-attribute/86871 .
2025-07-02 09:29:36 +02:00
..
2025-02-13 12:13:39 +01:00
2023-06-20 16:43:14 +02:00
2022-12-14 13:38:20 +01:00
2024-10-09 09:27:28 +04:00
2023-09-13 08:38:48 +03:00
2024-08-12 14:56:53 +04:00
2022-12-14 13:38:20 +01:00
2025-03-25 17:14:07 -07:00
2022-12-14 13:38:20 +01:00
2022-12-14 13:38:20 +01:00
2022-12-14 13:38:20 +01:00
2025-01-29 16:56:47 +01:00
2025-07-02 09:29:36 +02:00
2022-12-19 15:22:39 +08:00
2024-07-25 09:19:22 -04:00
2022-12-13 12:24:05 +01:00
2022-12-14 13:38:20 +01:00
2022-12-14 13:38:20 +01:00
2025-04-11 15:32:37 -04:00
2025-04-11 15:32:37 -04:00
2023-06-20 16:43:14 +02:00
2022-12-14 13:38:20 +01:00
2022-12-14 13:38:20 +01:00
2025-01-29 16:56:47 +01:00
2025-01-29 16:56:47 +01:00
2025-01-29 16:56:47 +01:00
2025-01-29 16:56:47 +01:00
2025-01-29 16:56:47 +01:00
2025-01-29 16:56:47 +01:00
2025-01-29 16:56:47 +01:00
2025-04-30 22:06:37 +01:00
2024-02-22 14:07:16 +00:00
2024-11-06 11:53:33 +00:00
2023-03-14 16:48:33 +00:00
2023-03-06 18:34:32 +00:00
2025-05-27 15:51:48 +02:00
2025-05-27 15:51:48 +02:00
2025-02-19 10:13:37 +01:00
2025-02-19 10:13:37 +01:00
2025-05-27 15:51:48 +02:00
2022-09-07 12:47:21 +02:00
2024-11-07 08:11:15 +00:00
2023-07-12 12:31:42 +05:30
2022-12-14 13:38:20 +01:00
2025-04-01 14:27:11 +01:00
2025-04-01 14:27:11 +01:00
2025-04-01 14:27:11 +01:00
2025-04-09 18:00:28 +01:00
2025-04-01 14:27:11 +01:00
2023-06-16 00:49:59 +02:00
2023-06-16 00:49:59 +02:00
2022-12-02 17:12:03 -05:00
2022-12-14 13:38:20 +01:00
2022-12-14 13:38:20 +01:00
2025-03-22 08:09:49 +00:00
2022-12-09 01:04:45 +03:00
2025-03-31 07:42:21 -07:00
2024-10-15 17:11:25 +08:00
2025-01-29 16:56:47 +01:00
2024-08-20 11:25:49 +03:00
2023-06-20 16:43:14 +02:00
2022-12-19 11:23:17 +01:00
2022-12-19 11:23:17 +01:00
2022-12-14 13:38:20 +01:00
2022-12-14 13:38:20 +01:00
2025-01-29 16:56:47 +01:00
2022-12-14 13:38:20 +01:00
2022-12-14 13:38:20 +01:00
2022-12-09 01:04:45 +03:00
2024-09-02 12:42:52 +02:00
2022-12-14 13:38:20 +01:00
2022-12-14 13:38:20 +01:00
2024-08-20 11:25:49 +03:00
2024-08-20 11:25:49 +03:00
2024-11-28 11:21:38 +01:00
2022-12-14 13:38:20 +01:00
2022-12-14 13:38:20 +01:00
2025-02-13 12:13:39 +01:00
2022-12-14 13:38:20 +01:00
2022-12-14 13:38:20 +01:00
2022-12-14 13:38:20 +01:00
2022-12-14 13:38:20 +01:00
2022-12-14 13:38:20 +01:00
2022-12-14 13:38:20 +01:00
2023-07-12 12:31:42 +05:30
2024-10-11 12:09:10 +07:00
2022-11-04 10:21:38 +01:00
2022-11-04 10:21:38 +01:00
2023-07-12 14:35:55 +02:00
2022-12-14 13:38:20 +01:00
2025-02-24 10:11:53 -08:00
2024-11-18 15:16:48 -08:00
2022-12-14 13:38:20 +01:00
2023-12-06 08:41:44 -08:00
2024-08-27 13:53:25 -04:00
2023-12-06 08:41:44 -08:00
2024-08-27 13:53:25 -04:00
2023-12-06 08:41:44 -08:00
2024-08-27 13:53:25 -04:00
2024-08-27 13:53:25 -04:00
2024-08-27 13:53:25 -04:00
2024-04-10 19:46:01 -07:00
2024-08-27 13:53:25 -04:00
2024-08-27 13:53:25 -04:00
2023-12-06 08:41:44 -08:00
2024-08-27 13:53:25 -04:00
2024-08-27 13:53:25 -04:00
2024-04-10 19:46:01 -07:00
2024-03-27 11:41:34 +00:00
2024-04-10 19:46:01 -07:00
2025-04-14 20:34:02 +02:00
2023-12-06 08:41:44 -08:00
2022-12-14 13:38:20 +01:00
2023-12-06 08:41:44 -08:00
2024-04-10 19:46:01 -07:00
2024-04-10 19:46:01 -07:00
2025-04-07 21:59:11 +07:00
2022-12-14 13:38:20 +01:00
2024-10-18 15:58:33 +01:00
2022-12-14 13:38:20 +01:00
2022-12-07 18:29:18 +00:00
2022-12-14 13:38:20 +01:00
2022-12-14 13:38:20 +01:00
2024-02-23 10:24:15 +01:00
2024-01-16 17:01:01 -08:00
2024-01-16 17:01:01 -08:00
2023-10-11 10:23:38 +01:00
2023-10-11 10:23:38 +01:00
2023-10-11 10:23:38 +01:00
2023-10-11 10:23:38 +01:00
2023-10-11 10:23:38 +01:00
2025-04-01 14:27:11 +01:00
2023-03-02 09:29:42 +00:00
2024-06-14 15:07:27 +01:00
2022-12-14 13:38:20 +01:00
2022-11-04 10:21:38 +01:00
2022-12-14 13:38:20 +01:00
2022-12-14 13:38:20 +01:00
2024-04-11 12:29:29 -07:00
2022-12-14 13:38:20 +01:00
2022-12-19 11:23:17 +01:00
2022-12-19 11:23:17 +01:00
2025-01-29 16:56:47 +01:00
2024-03-06 09:51:48 -05:00
2022-08-18 16:28:55 -07:00
2022-12-14 13:38:20 +01:00
2024-08-28 12:48:20 +01:00
2022-12-14 13:38:20 +01:00
2022-12-14 13:38:20 +01:00
2024-04-29 10:16:45 +01:00
2024-04-29 10:16:45 +01:00
2024-04-29 10:16:45 +01:00
2024-05-28 16:09:53 +02:00
2024-05-28 16:09:53 +02:00
2024-03-27 11:41:34 +00:00
2024-06-04 08:31:03 +02:00
2024-11-21 11:21:12 +00:00
2022-12-14 13:38:20 +01:00
2023-06-20 16:43:14 +02:00