llvm-capstone/libc
Joseph Huber 31c154881c [libc] Allow the RPC client to be initialized via a H2D memcpy
The RPC client must be initialized to set a pointer to the underlying
buffer. This is currently done with the `reset` method which may not be
ideal for the use-case. We want runtimes to be able to initialize this
without needing to call a kernel. Recent changes allowed the `Client`
type to be trivially copyable. That means we can create a client on the
server side and then copy it over. To that end we take the existing
externally visible symbol and initialize it to the client's pointer.
Therefore we can look up the symbol and copy it over once loaded.

No test currently, I tested with a demo OpenMP application but couldn't think of
how to put that in-tree.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D153633
2023-06-26 10:41:32 -05:00
..
AOR_v20.02 [NFC][Py Reformat] Reformat python files in the rest of the dirs 2023-05-25 11:17:05 +02:00
benchmarks [libc][benchmark] Do not force static linking 2023-05-11 09:09:28 +00:00
cmake/modules [libc] Can build amdgpu libc even if rocm is missing 2023-06-22 21:18:44 +01:00
config [libc] Support for riscv32 2023-06-21 07:11:22 +00:00
docs [libc][Obvious] Fix docs warning. 2023-06-26 14:32:28 +00:00
examples Reland "[CMake] Bumps minimum version to 3.20.0. 2023-05-27 12:51:21 +02:00
fuzzing [libc] Use MPFR for strtofloat fuzzing 2023-05-22 11:04:53 -07:00
include [libc] Place headers in the right include directory 2023-06-22 06:22:32 +00:00
lib [libc] Build two different static archives libc.a and libm.a under full build. 2023-01-31 21:45:08 +00:00
spec [libc] Export GPU extensions to libc for external use 2023-06-15 11:02:24 -05:00
src [libc] Allow the RPC client to be initialized via a H2D memcpy 2023-06-26 10:41:32 -05:00
startup [libc][NFC] Simplify return value logic in set_thread_ptr() 2023-06-23 00:47:48 +08:00
test [libc] Factor specifics of packet type out of process 2023-06-23 03:45:23 +01:00
utils [libc] Allow the RPC client to be initialized via a H2D memcpy 2023-06-26 10:41:32 -05:00
.clang-tidy [libc][NFC] Clean up clang-tidy warnings for src/__support and src/math. 2023-03-15 18:47:31 -04:00
.gitignore
CMakeLists.txt [libc][Obvious] Use the current binary dir instead of the base one 2023-06-23 14:33:45 -05:00
common_libc_tuners.cmake [libc][NFC] Make tuning macros start with LIBC_COPT_ 2023-02-15 10:00:16 +00:00
LICENSE.TXT
README.txt

LLVM libc
=========

This directory and its subdirectories contain source code for llvm-libc,
a retargetable implementation of the C standard library.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.