llvm-capstone/libc
Joseph Huber 791b279924
[libc] Change the puts implementation on the GPU (#67189)
Summary:
Normally, the implementation of `puts` simply writes a second newline
charcter after printing the first string. However, because the GPU does
everything in batches of the SIMT group size, this will end up with very
poor output where you get the strings printed and then 1-64 newline
characters all in a row. Optimizations like to turn `printf` calls into
`puts` so it's a good idea to make this produce the expected output.

The least invasive way I could do this was to add a new opcode. It's a
little bloated, but it avoids an unneccessary and slow send operation to
configure this.
2023-09-25 11:17:22 -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 [reland][libc][cmake] Tidy compiler includes (#66783) (#66878) 2023-09-20 11:21:46 +02:00
cmake/modules [libc] Update integration test's linking options (#67158) 2023-09-22 12:06:27 -04:00
config [libc] Refactor scanf reader to match printf (#66023) 2023-09-22 12:50:02 -07:00
docs [libc] Refactor scanf reader to match printf (#66023) 2023-09-22 12:50:02 -07:00
examples Reland "[CMake] Bumps minimum version to 3.20.0. 2023-05-27 12:51:21 +02:00
fuzzing [libc] Template the printf / scanf parser class (#66277) 2023-09-21 17:02:26 -05:00
include [libc] Change the puts implementation on the GPU (#67189) 2023-09-25 11:17:22 -05: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] Remove the 'rpc_reset' routine from the RPC implementation (#66700) 2023-09-21 11:07:09 -05:00
src [libc] Change the puts implementation on the GPU (#67189) 2023-09-25 11:17:22 -05:00
startup [libc] Remove the 'rpc_reset' routine from the RPC implementation (#66700) 2023-09-21 11:07:09 -05:00
test [libc] Enable hermetic tests for the stdio test suite (#67339) 2023-09-25 11:14:17 -05:00
utils [libc] Change the puts implementation on the GPU (#67189) 2023-09-25 11:17:22 -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 [reland][libc][cmake] Tidy compiler includes (#66783) (#66878) 2023-09-20 11:21:46 +02: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.