llvm/libc/docs
Tue Ly 628fbbef81 [libc] Use nearest_integer instructions to improve expm1f performance.
Use nearest_integer instructions to improve expf performance.

Performance tests with CORE-MATH's perf tool:

Before the patch:
```
$ ./perf.sh expm1f
LIBC-location: /home/lnt/experiment/llvm/llvm-project/build/projects/libc/lib/libllvmlibc.a
GNU libc version: 2.31
GNU libc release: stable
CORE-MATH reciprocal throughput   : 10.096
System LIBC reciprocal throughput : 44.036
LIBC reciprocal throughput        : 11.575

$ ./perf.sh expm1f --latency
LIBC-location: /home/lnt/experiment/llvm/llvm-project/build/projects/libc/lib/libllvmlibc.a
GNU libc version: 2.31
GNU libc release: stable
CORE-MATH latency   : 42.239
System LIBC latency : 122.815
LIBC latency        : 50.122
```
After the patch:
```
$ ./perf.sh expm1f
LIBC-location: /home/lnt/experiment/llvm/llvm-project/build/projects/libc/lib/libllvmlibc.a
GNU libc version: 2.31
GNU libc release: stable
CORE-MATH reciprocal throughput   : 10.046
System LIBC reciprocal throughput : 43.899
LIBC reciprocal throughput        : 9.179

$ ./perf.sh expm1f --latency
LIBC-location: /home/lnt/experiment/llvm/llvm-project/build/projects/libc/lib/libllvmlibc.a
GNU libc version: 2.31
GNU libc release: stable
CORE-MATH latency   : 42.078
System LIBC latency : 120.488
LIBC latency        : 41.528
```

Reviewed By: zimmermann6

Differential Revision: https://reviews.llvm.org/D130502
2022-07-26 09:12:37 -04:00
..
api_test.rst [libc] Rename libc-integration-test to libc-api-test. 2022-03-23 20:25:34 +00:00
build_system.rst
clang_tidy_checks.rst
CMakeLists.txt Move LLVM Proposal to doc directory, create index 2022-01-29 00:29:31 +00:00
conf.py Move LLVM Proposal to doc directory, create index 2022-01-29 00:29:31 +00:00
entrypoints.rst
fuzzing.rst [libc][docs] Update the fuzzing doc to better reflect the current state. 2022-04-20 15:33:20 +00:00
ground_truth_specification.rst
header_gen_scheme.svg
header_generation.rst
implementation_standard.rst
index.rst [libc] Add a status page for math functions. 2022-06-16 17:41:46 -04:00
layering.rst Rewrite much of the index page for libc 2022-02-16 03:46:20 +00:00
math.rst [libc] Use nearest_integer instructions to improve expm1f performance. 2022-07-26 09:12:37 -04:00
mechanics_of_public_api.rst
README.txt Move LLVM Proposal to doc directory, create index 2022-01-29 00:29:31 +00:00
redirectors.rst Move LLVM Proposal to doc directory, create index 2022-01-29 00:29:31 +00:00
redirectors_schematic.svg
runtimes_build.rst [libc] Add a doc describing the current status of libc runtimes build. 2022-04-18 06:48:43 +00:00
source_layout.rst [libc][docs] Use same formatting for headers in source_layout 2022-05-23 21:47:22 +00:00
stdio.rst [libc][docs] Add doc for libc stdio functions 2022-05-12 13:02:23 -07:00
strings.rst [libc][docs] Add doc for libc stdio functions 2022-05-12 13:02:23 -07:00

libc Documentation
==================

The libc documentation is written using the Sphinx documentation generator. It is
currently tested with Sphinx 1.1.3.

To build the documents into html configure libc with the following cmake options:

  * -DLLVM_ENABLE_SPHINX=ON
  * -DLIBC_INCLUDE_DOCS=ON

After configuring libc with these options the make rule `docs-libc-html`
should be available.