llvm-project/libc
Michael Jones a3b745818d [libc] add unsafe mode to strlen
The only safe way to implement strlen involves reading the string one
char at a time. It is faster to read in larger blocks, but this leads to
reading beyond the string boundary, which is undefined behavior. This
patch adds an implementation and flag to use this fast but unsafe
version of strlen.

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D129808
2022-11-30 16:48:35 -08:00
..
AOR_v20.02
benchmarks [libc][benchmark] Fix wrong BatchSize leading to data not fitting in L1. 2022-11-16 12:55:37 +00:00
cmake/modules [libc] Add initial support for a libc implementation for the GPU 2022-11-29 14:51:54 -06:00
config [libc] Add initial support for a libc implementation for the GPU 2022-11-29 14:51:54 -06:00
docs [libc][docs] Fix code block not being emitted 2022-11-30 09:33:40 -06:00
examples [libc][NFC] Remove "$>" from another command block on examples/README.md. 2022-11-04 08:37:05 +00:00
fuzzing [libc][cmake] split fputil into individual targets 2022-08-31 10:44:52 -07:00
include [libc] Fix assert.h and ctype.h not being built 2022-11-16 12:00:41 -06:00
lib [CMake] Use LLVM_TARGET_TRIPLE in runtimes 2022-11-29 04:08:24 +00:00
loader [libc] Add POSIX execv and execve functions. 2022-10-06 19:50:23 +00:00
spec [libc] add scanf entrypoints 2022-11-17 15:37:52 -08:00
src [libc] add unsafe mode to strlen 2022-11-30 16:48:35 -08:00
test [libc] Fix test not including 'free' 2022-11-29 15:03:46 -06:00
utils [libc] Add initial support for a libc implementation for the GPU 2022-11-29 14:51:54 -06:00
.clang-tidy [libc] Add a naming rule for global constants. 2022-01-19 22:11:16 +00:00
.gitignore [libc][Obvious] Add build folder to .gitignore. 2022-03-04 13:16:55 -05:00
CMakeLists.txt [libc] add unsafe mode to strlen 2022-11-30 16:48:35 -08:00
LICENSE.TXT Rename top-level LICENSE.txt files to LICENSE.TXT 2021-03-10 21:26:24 -08:00
README.txt
common_libc_tuners.cmake [libc] add unsafe mode to strlen 2022-11-30 16:48:35 -08:00

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.