llvm-capstone/libc/docs
Joseph Huber d04494ccc9 [libc] Rework the file handling for the GPU
The GPU has much tighter requirements for handling IO functions.
Previously we attempted to define the GPU as one of the platform files.
Using a common interface allowed us to easily define these functions
without much extra work. However, it became more clear that this was a
poor fit for the GPU. The file interface uses function pointers, which
prevented inlining and caused bad perfromance and resource usage on the
GPU. Further, using an actual `FILE` type rather than referring to it as
a host stub prevented us from usin files coming from the host on the GPU
device.

After talking with @sivachandra, the approach now is to simply define
GPU specific versions of the functions we intend to support. Also, we
are ignoring `errno` for the time being as it is unlikely we will ever
care about supporting it fully.

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D157427
2023-08-09 14:42:20 -05:00
..
_static
dev [libc][doc] Update macros documentation 2023-08-08 08:02:30 +00:00
gpu [libc] Rework the file handling for the GPU 2023-08-09 14:42:20 -05:00
math [libc][math] Implement erff function correctly rounded to all rounding modes. 2023-06-28 13:58:37 -04:00
build_and_test.rst
check.rst
CMakeLists.txt
compiler_support.rst [libc] Fix typos in documentation 2023-05-06 11:26:32 -07:00
conf.py [NFC][Py Reformat] Reformat python files in the rest of the dirs 2023-05-25 11:17:05 +02:00
contributing.rst [libc] Fix typos in documentation 2023-04-24 23:31:48 -07:00
date_and_time.rst [libc][docs] Update implementation status table for Date and Time Functions. 2023-05-31 15:09:06 -04:00
full_cross_build.rst [libc] Add two more recipes to do a cross build. 2023-04-18 12:40:14 -07:00
full_host_build.rst
fullbuild_mode.rst
header_gen_scheme.svg
index.rst [libc][Docs] Begin improving documentation for the GPU libc 2023-04-26 10:30:54 -05:00
overlay_mode.rst [libc] Fix typos in documentation 2023-04-24 23:31:48 -07:00
porting.rst [libc] Fix typos in documentation 2023-04-24 23:31:48 -07:00
README.txt
stdio.rst [libc] Add implementation of getchar 2023-04-14 15:40:05 -07:00
strings.rst
usage_modes.rst

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.