Lines Matching +full:build +full:- +full:docs

1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
3 <!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ -->
6 <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
7 <title>"compiler-rt" Runtime Library</title>
13 <!--#include virtual="menu.html.incl"-->
15 <!--*********************************************************************-->
16 <h1>"compiler-rt" runtime libraries</h1>
17 <!--*********************************************************************-->
19 <p>The compiler-rt project consists of:
22 <p><b>builtins</b> - a simple library that provides an implementation
23 of the low-level target-specific hooks required by code generation and
24 other runtime components. For example, when compiling for a 32-bit target,
25 converting a double to a 64-bit unsigned integer is compiling into a runtime
27 optimized implementations of this and other low-level routines, either in
28 target-independent C form, or as a heavily-optimized assembly.</p>
36 <b>sanitizer runtimes</b> - runtime libraries that are required to run
39 <li><a href="https://clang.llvm.org/docs/AddressSanitizer.html">AddressSanitizer</a></li>
40 <li><a href="https://clang.llvm.org/docs/ThreadSanitizer.html">ThreadSanitizer</a></li>
41 <li><a href="https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html">UndefinedBehaviorSanitizer</a></li>
42 <li><a href="https://clang.llvm.org/docs/MemorySanitizer.html">MemorySanitizer</a></li>
43 <li><a href="https://clang.llvm.org/docs/LeakSanitizer.html">LeakSanitizer</a></li>
44 <li><a href="https://clang.llvm.org/docs/DataFlowSanitizer.html">DataFlowSanitizer</a></li>
48 <b>profile</b> - library which is used to collect coverage information.
51 <b>BlocksRuntime</b> - a target-independent implementation of Apple "Blocks"
57 <p>All of the code in the compiler-rt project is <a
58 href="https://llvm.org/docs/DeveloperPolicy.html#copyright-license-and-patents">dual licensed</a>
59 under the MIT license and the UIUC License (a BSD-like license).</p>
61 <!--=====================================================================-->
63 <!--=====================================================================-->
65 <p>Currently compiler-rt is primarily used by
69 compiler-rt with Clang, please see the Clang
73 <!--=====================================================================-->
75 <!--=====================================================================-->
79 <li>Machine Architectures: i386, X86-64, SPARC64, ARM, PowerPC, PowerPC 64.</li>
83 <p>Most sanitizer runtimes are supported only on Linux x86-64. See tool-specific
84 pages in <a href="https://clang.llvm.org/docs/index.html">Clang docs</a> for more
87 <!--=====================================================================-->
88 <h2 id="dir-structure">Source Structure</h2>
89 <!--=====================================================================-->
91 <p>A short explanation of the directory structure of compiler-rt:</p>
93 <p>For testing it is possible to build a generic library and an optimized library.
105 <li> test/ contains test suites for compiler-rt runtimes.</li>
108 <!--=====================================================================-->
110 <!--=====================================================================-->
112 <p>Generally, you need to build LLVM/Clang in order to build compiler-rt. You
113 can build it either together with llvm and clang, or separately.
115 <p>To build it together, simply add compiler-rt to the -DLLVM_ENABLE_RUNTIMES= option to
118 <p>To build it separately, first
119 <a href="https://llvm.org/docs/CMake.html#quick-start">build LLVM</a>, and then run:
122 <li>cd llvm-project</li>
123 <li>mkdir build-compiler-rt</li>
124 <li>cd build-compiler-rt</li>
125 <li>cmake ../compiler-rt -DLLVM_CMAKE_DIR=/path/to/llvm-build-dir</li>
130 <a href="https://llvm.org/docs/CommandGuide/lit.html">llvm-lit</a> and are
131 run by <b>make check-all</b> command in LLVM/Clang/compiler-rt build tree.</p>
133 <p>compiler-rt libraries are installed to the system with <b>make install</b>
134 command in either LLVM/Clang/compiler-rt or standalone
135 compiler-rt build tree.</p>
138 Discourse forums</a> under the Runtime category. Commits to compiler-rt are automatically
140 href="https://lists.llvm.org/mailman/listinfo/llvm-commits">llvm-commits</a>