Lines Matching +full:ninja +full:- +full:build
1 # How to add a new math function to LLVM-libc
14 - Add entry points `libc.src.math.func` to the following files:
19 - Add function specs to the file:
29 - Add `add_math_entrypoint_object(<func>)` to:
33 - Add function declaration (under `LIBC_NAMESPACE` namespace) to:
37 - Add function definition to:
41 - Add the corresponding `add_entrypoint_object` to:
45 - Add architectural specific implementations to:
52 - Floating point utilities and math functions that are also used internally are
57 - These are preferred to be included as header-only.
58 - To manipulate bits of floating point numbers, use the template class
74 - Add the function enum to `LIBC_NAMESPACE::testing::mpfr::Operation` in the
79 - Add support for `func` in the `MPFRNumber` class and the corresponding link
91 - Add smoke tests (simple cases and zeros / inf / nan inputs or outputs) to:
95 - Add unit test that might require MPFR to:
99 - Add the corresponding entry points to:
107 Exhaustive tests are long-running tests that are not included when you run
108 `ninja check-libc`. These exhaustive tests are added and manually run in
111 - Add an exhaustive test to:
115 - Add the corresponding entry point to:
119 - The template class `LlvmLibcExhaustiveMathTest` located at:
130 - Add a performance test to:
134 - Add the corresponding entry point to:
139 ## Build and Run
141 - Check out the LLVM source tree:
143 $ git clone https://github.com/llvm/llvm-project.git
146 - Setup projects with CMake:
148 $ cd llvm-project
149 $ mkdir build
150 $ cd build
151 $ cmake ../llvm -G Ninja \
152 -DLLVM_ENABLE_PROJECTS="llvm;libc" \
153 -DCMAKE_BUILD_TYPE=Debug \
154 -DCMAKE_C_COMPILER=clang \
155 -DCMAKE_CXX_COMPILER=clang++
158 - Build the whole `libc`:
160 $ ninja libc
163 - Run all unit tests:
165 $ ninja check-libc
168 - Run math smoke tests only:
170 $ ninja libc-math-smoke-tests
173 - Run math smoke and unit tests:
175 $ ninja libc-math-unittests
178 - Build and Run a specific unit test:
180 $ ninja libc.test.src.math.<func>_test.__unit__
184 - Build and Run exhaustive test (might take hours to run):
186 $ ninja libc.test.src.math.exhaustive.<func>_test
190 - Build and Run performance test:
192 $ ninja libc.test.src.math.performance_testing.<func>_perf
201 https://docs.github.com/articles/about-collaborative-development-models
202 https://docs.github.com/articles/about-pull-requests