dweiller
6dc1a4db7f
compiler-rt: fix memcpy generating recursive calls
...
When using the LLVM backend, array copies were lowered as calls to
`llvm.memcpy.*` builtin which could cause recursive calls to memcpy to
be generated (observed with `-target x86_64-linux -mcpu x86_64+avx512vl
--debug-rt`).
By instead performing these small fixed-size copies with integers or
vectors the LLVM backend does not generate calls to the `llvm.memcpy`
builtin, and so (with `-fno-builtin`) recursive calls to memcpy will
not be generated by LLVM.
The assertions and (test build) runtime safety have been removed as they
may cause (mutually) recursive calls to memcpy in debug builds since the
panic handler generates calls to llvm.memcpy.
2025-02-11 17:40:20 -08:00
..
2024-08-27 00:44:35 +01:00
2022-06-17 16:38:59 -07:00
2023-11-19 09:55:07 +00:00
2024-08-27 00:44:35 +01:00
2023-11-19 09:55:07 +00:00
2024-08-27 00:44:35 +01:00
2023-11-19 09:55:07 +00:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2023-10-29 07:20:36 -04:00
2024-08-28 08:39:59 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2023-11-19 09:55:07 +00:00
2023-11-19 09:55:07 +00:00
2023-11-19 09:55:07 +00:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2025-01-25 14:54:02 +01:00
2024-11-02 10:44:14 +01:00
2025-01-25 13:49:21 +01:00
2025-01-25 13:49:21 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-06-16 11:53:33 +02:00
2024-06-16 11:53:33 +02:00
2024-06-16 11:53:33 +02:00
2024-08-27 00:44:35 +01:00
2023-11-19 09:55:07 +00:00
2023-11-19 09:55:07 +00:00
2023-11-19 09:55:07 +00:00
2024-08-28 08:39:59 +01:00
2024-10-16 01:10:35 +02:00
2023-11-19 09:55:07 +00:00
2024-11-03 09:29:30 +01:00
2023-11-19 09:55:07 +00:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2023-11-19 09:55:07 +00:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2023-11-19 09:55:07 +00:00
2024-08-27 00:44:35 +01:00
2023-11-19 09:55:07 +00:00
2024-08-27 00:44:35 +01:00
2025-01-25 13:49:21 +01:00
2023-02-18 19:17:21 -07:00
2024-09-02 00:10:22 +03:00
2023-02-18 19:17:21 -07:00
2024-08-28 08:39:59 +01:00
2025-01-02 01:01:06 +01:00
2023-11-19 09:55:07 +00:00
2023-11-19 09:55:07 +00:00
2023-11-19 09:55:07 +00:00
2025-02-09 00:42:55 -08:00
2023-09-27 11:24:28 -07:00
2024-08-27 00:44:35 +01:00
2023-07-24 10:23:51 -07:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2023-07-24 10:23:51 -07:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2023-10-23 22:42:18 -04:00
2024-08-27 00:44:35 +01:00
2023-06-24 16:56:39 -07:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2023-10-29 07:20:36 -04:00
2024-08-27 00:44:35 +01:00
2024-09-24 09:23:24 +02:00
2024-08-28 08:39:59 +01:00
2024-08-28 08:39:59 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2023-07-24 10:23:51 -07:00
2024-09-02 00:10:22 +03:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2025-01-26 06:58:37 -05:00
2024-08-28 08:39:59 +01:00
2023-11-19 09:55:07 +00:00
2023-11-19 09:55:07 +00:00
2023-11-19 09:55:07 +00:00
2025-01-25 13:49:21 +01:00
2025-02-09 00:42:55 -08:00
2024-08-27 00:44:35 +01:00
2025-02-09 00:42:55 -08:00
2024-08-27 00:44:35 +01:00
2025-02-09 00:42:55 -08:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2022-05-06 22:41:00 -07:00
2025-01-25 13:49:21 +01:00
2025-02-09 00:42:55 -08:00
2024-08-27 00:44:35 +01:00
2025-02-09 00:42:55 -08:00
2024-08-27 00:44:35 +01:00
2025-02-09 00:42:55 -08:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2025-01-25 13:49:21 +01:00
2025-02-09 00:42:55 -08:00
2024-08-27 00:44:35 +01:00
2025-02-09 00:42:55 -08:00
2024-08-27 00:44:35 +01:00
2025-02-09 00:42:55 -08:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2025-01-25 13:49:21 +01:00
2025-02-09 00:42:55 -08:00
2024-08-27 00:44:35 +01:00
2025-02-09 00:42:55 -08:00
2024-08-27 00:44:35 +01:00
2025-02-09 00:42:55 -08:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2025-02-09 00:42:55 -08:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2025-02-09 00:42:55 -08:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2025-02-09 00:42:55 -08:00
2025-02-09 00:42:55 -08:00
2025-01-25 13:49:21 +01:00
2024-08-27 00:44:35 +01:00
2025-01-25 13:49:21 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2025-02-09 00:42:55 -08:00
2025-02-09 00:42:55 -08:00
2025-02-09 00:42:55 -08:00
2025-02-09 00:42:55 -08:00
2025-02-09 00:42:55 -08:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2025-02-09 00:42:55 -08:00
2024-08-27 00:44:35 +01:00
2025-02-09 00:42:55 -08:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2025-01-25 13:49:21 +01:00
2024-08-27 00:44:35 +01:00
2025-01-25 13:49:21 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2025-02-09 00:42:55 -08:00
2025-02-09 00:42:55 -08:00
2025-02-09 00:42:55 -08:00
2025-02-09 00:42:55 -08:00
2025-02-09 00:42:55 -08:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-28 08:39:59 +01:00
2024-08-28 08:39:59 +01:00
2024-08-28 08:39:59 +01:00
2024-08-28 08:39:59 +01:00
2024-08-28 08:39:59 +01:00
2022-05-06 22:41:00 -07:00
2023-10-29 07:20:36 -04:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-11-24 08:19:15 +01:00
2025-02-09 00:42:55 -08:00
2025-02-09 00:42:55 -08:00
2024-10-19 19:44:53 +01:00
2024-08-28 08:39:59 +01:00
2024-08-28 08:39:59 +01:00
2024-08-28 08:39:59 +01:00
2024-08-27 00:44:35 +01:00
2025-02-11 17:40:20 -08:00
2025-01-20 18:29:15 +11:00
2024-08-27 00:44:35 +01:00
2023-09-19 09:37:52 -07:00
2024-08-27 00:44:35 +01:00
2025-02-09 00:42:55 -08:00
2023-11-19 09:55:07 +00:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-03-14 19:43:24 +02:00
2024-08-28 08:39:59 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2023-06-24 16:56:39 -07:00
2023-06-24 16:56:39 -07:00
2023-06-24 16:56:39 -07:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2023-06-24 16:56:39 -07:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2023-11-19 09:55:07 +00:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2023-11-19 09:55:07 +00:00
2024-08-27 00:44:35 +01:00
2023-11-19 09:55:07 +00:00
2024-08-27 00:44:35 +01:00
2023-11-19 09:55:07 +00:00
2023-11-19 09:55:07 +00:00
2023-11-19 09:55:07 +00:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-28 08:39:59 +01:00
2024-02-08 15:21:35 +01:00
2024-02-08 15:21:35 +01:00
2024-02-08 15:21:35 +01:00
2024-08-27 00:44:35 +01:00
2024-02-08 15:21:35 +01:00
2024-02-08 15:21:35 +01:00
2024-02-08 15:21:35 +01:00
2023-11-19 09:55:07 +00:00
2024-08-27 00:44:35 +01:00
2024-12-23 14:41:43 -05:00
2023-09-19 09:37:52 -07:00
2023-07-24 10:23:51 -07:00
2024-08-28 08:39:59 +01:00
2023-06-24 16:56:39 -07:00
2024-08-27 00:44:35 +01:00
2024-08-28 08:39:59 +01:00
2024-08-28 08:39:59 +01:00
2024-08-28 08:39:59 +01:00
2024-08-27 00:44:35 +01:00
2024-08-28 03:10:43 +02:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2023-11-19 09:55:07 +00:00
2023-11-19 09:55:07 +00:00
2023-11-19 09:55:07 +00:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-09-02 00:10:22 +03:00
2024-08-28 08:39:59 +01:00
2025-02-09 00:42:55 -08:00
2024-08-28 08:39:59 +01:00
2024-09-10 08:53:30 +02:00
2024-08-27 00:44:35 +01:00
2023-07-24 10:23:51 -07:00
2024-09-02 00:10:22 +03:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-09-02 00:10:22 +03:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2023-11-19 09:55:07 +00:00
2023-11-19 09:55:07 +00:00
2023-11-19 09:55:07 +00:00
2023-11-19 09:55:07 +00:00
2024-10-19 19:44:53 +01:00
2024-08-27 00:44:35 +01:00
2024-10-19 19:44:53 +01:00
2022-11-16 13:08:41 +02:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00
2024-08-27 00:44:35 +01:00