source: general/prog/llvm.xml@ e59834d

12.0 12.1 kea ken/TL2024 ken/tuningfonts lazarus lxqt plabs/newcss python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since e59834d was 218e13c, checked in by Douglas R. Reno <renodr@…>, 15 months ago

Revert back to LLVM-15.0.7 for now.

This should fix miscompilations and crashes with Thunderbird and
Firefox.

  • Property mode set to 100644
File size: 61.4 KB
RevLine 
[7b74537e]1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[563e0d6]7 <!ENTITY llvm-url "https://github.com/llvm/llvm-project/releases/download/llvmorg-&llvm-version;">
8
9 <!ENTITY llvm-download-http "&llvm-url;/llvm-&llvm-version;.src.tar.xz">
[abdc2e6]10 <!ENTITY llvm-download-ftp " ">
[218e13c]11 <!ENTITY llvm-md5sum "c77db4c71e1eb267358204dffe2c6e10">
12 <!ENTITY llvm-size "50 MB">
13 <!ENTITY llvm-buildsize "2.7 GB (848 MB installed; add 18.3 GB for tests and 308 MB for documentation)">
[e58cf149]14 <!ENTITY llvm-time "24 SBU (Using parallelism=4; add 22 SBU for tests)">
[a6221fd]15
[81210e4]16 <!ENTITY clang-download-http "&llvm-url;/clang-&llvm-version;.src.tar.xz">
[218e13c]17 <!ENTITY clang-md5sum "a6d0141e50b48f5e60c682277dac83b4">
18 <!ENTITY clang-size "18 MB">
[a6221fd]19
[563e0d6]20 <!ENTITY compiler-rt-download-http "&llvm-url;/compiler-rt-&llvm-version;.src.tar.xz">
[218e13c]21 <!ENTITY compiler-rt-md5sum "12e6777354f0121cbe73ef13342a9302">
[e58cf149]22 <!ENTITY compiler-rt-size "2.3 MB">
[9a599135]23
[b30ce9b]24 <!-- CMake modules and third party dependencies renamed and uploaded
25 onto anduin to avoid stupid file names. -->
26
[e977e138]27 <!ENTITY cmake-llvm-download-http "&sources-anduin-http;/llvm/llvm-cmake-&llvm-version;.src.tar.xz">
[218e13c]28 <!ENTITY cmake-llvm-md5sum "c3647d253f67ce255e1aba014e528f5b">
29 <!ENTITY cmake-llvm-size "6.8 KB">
[b30ce9b]30
[218e13c]31 <!-- Kept in here for the 15.0.6 revert since it isn't used in instructions
32 and should simplify upgrading again. -->
[b30ce9b]33 <!ENTITY llvm-3rdparty-download-http "&sources-anduin-http;/llvm/llvm-third-party-&llvm-version;.src.tar.xz">
34 <!ENTITY llvm-3rdparty-md5sum "d51ad18774cb513b725d0945c667efb3">
35 <!ENTITY llvm-3rdparty-size "376 KB">
[7b74537e]36]>
37
[abdc2e6]38<sect1 id="llvm" xreflabel="LLVM-&llvm-version;">
[7b74537e]39 <?dbhtml filename="llvm.html" ?>
40
41
42 <title>LLVM-&llvm-version;</title>
43
44 <indexterm zone="llvm">
45 <primary sortas="a-LLVM">LLVM</primary>
46 </indexterm>
47
48 <sect2 role="package">
49 <title>Introduction to LLVM</title>
50
[abdc2e6]51 <para>
[a6221fd]52 The <application>LLVM</application> package contains a collection of
53 modular and reusable compiler and toolchain technologies. The Low Level
54 Virtual Machine (LLVM) Core libraries provide a modern source and
55 target-independent optimizer, along with code generation support for many
56 popular CPUs (as well as some less common ones!). These libraries are
57 built around a well specified code representation known as the LLVM
58 intermediate representation ("LLVM IR").
[abdc2e6]59 </para>
[f36bebcd]60
[abdc2e6]61 <para>
[74762a5]62 <application>Clang</application> provides new C, C++, Objective C
63 and Objective C++ front-ends for <application>LLVM</application> and is
64 required by some desktop packages such as <application>firefox</application>
65 and for <application>rust</application> if that is built using the system
66 <application>LLVM</application>.
67 </para>
68
69 <para>
70 The <application>Compiler RT</application> package provides
71 runtime sanitizer and profiling libraries for developers who use
72 <application>Clang</application> and <application>LLVM</application>.
[abdc2e6]73 </para>
[7b74537e]74
[6bd8b8a]75 &lfs113_checked;
[7b74537e]76
77 <bridgehead renderas="sect3">Package Information</bridgehead>
78 <itemizedlist spacing="compact">
79 <listitem>
[abdc2e6]80 <para>
81 Download (HTTP): <ulink url="&llvm-download-http;"/>
82 </para>
[7b74537e]83 </listitem>
84 <listitem>
[abdc2e6]85 <para>
86 Download (FTP): <ulink url="&llvm-download-ftp;"/>
87 </para>
[7b74537e]88 </listitem>
89 <listitem>
[abdc2e6]90 <para>
91 Download MD5 sum: &llvm-md5sum;
92 </para>
[7b74537e]93 </listitem>
94 <listitem>
[abdc2e6]95 <para>
96 Download size: &llvm-size;
97 </para>
[7b74537e]98 </listitem>
99 <listitem>
[abdc2e6]100 <para>
101 Estimated disk space required: &llvm-buildsize;
102 </para>
[7b74537e]103 </listitem>
104 <listitem>
[abdc2e6]105 <para>
106 Estimated build time: &llvm-time;
107 </para>
[7b74537e]108 </listitem>
109 </itemizedlist>
110
[9a599135]111 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
[754f4c6d]112 <para>
113 <emphasis role="strong">Cmake modules for LLVM</emphasis>
114 </para>
115 <itemizedlist spacing="compact">
116 <listitem>
117 <para>
118 Download: <ulink url="&cmake-llvm-download-http;"/>
119 </para>
120 </listitem>
121 <listitem>
122 <para>
123 Download MD5 sum: &cmake-llvm-md5sum;
124 </para>
125 </listitem>
126 <listitem>
127 <para>
128 Download size: &cmake-llvm-size;
129 </para>
130 </listitem>
131 </itemizedlist>
[9a599135]132
[218e13c]133 <!-- LLVM-15.0.6 revert: Keep for when we use 16 again.
[b30ce9b]134 <para>
135 <emphasis role="strong">Third-party dependencies for LLVM build system</emphasis>
136 </para>
137 <itemizedlist spacing="compact">
138 <listitem>
139 <para>
140 Download: <ulink url="&llvm-3rdparty-download-http;"/>
141 </para>
142 </listitem>
143 <listitem>
144 <para>
145 Download MD5 sum: &llvm-3rdparty-md5sum;
146 </para>
147 </listitem>
148 <listitem>
149 <para>
150 Download size: &llvm-3rdparty-size;
151 </para>
152 </listitem>
153 </itemizedlist>
[218e13c]154 -->
[b30ce9b]155
[74762a5]156 <bridgehead renderas="sect3">Recommended Download</bridgehead>
[754f4c6d]157 <para>
158 <emphasis role="strong">Clang</emphasis>
159 </para>
160 <itemizedlist spacing="compact">
161 <listitem>
162 <para>
163 Download: <ulink url="&clang-download-http;"/>
164 </para>
165 </listitem>
166 <listitem>
167 <para>
168 Download MD5 sum: &clang-md5sum;
169 </para>
170 </listitem>
171 <listitem>
172 <para>
173 Download size: &clang-size;
174 </para>
175 </listitem>
176 </itemizedlist>
177 <itemizedlist spacing="compact">
178 <listitem>
179 <para>
180 Patch enabling <xref linkend="gSSP"/> by default in clang:
181 <ulink url="&patch-root;/clang-&llvm-version;-enable_default_ssp-1.patch"/>
182 </para>
183 </listitem>
184 </itemizedlist>
[70251fc]185
[74762a5]186 <bridgehead renderas="sect3">Optional Download</bridgehead>
[754f4c6d]187 <para>
188 <emphasis role="strong">Compiler RT</emphasis>
189 </para>
190 <itemizedlist spacing="compact">
191 <listitem>
192 <para>
193 Download: <ulink url="&compiler-rt-download-http;"/>
194 </para>
195 </listitem>
196 <listitem>
197 <para>
198 Download MD5 sum: &compiler-rt-md5sum;
199 </para>
200 </listitem>
201 <listitem>
202 <para>
203 Download size: &compiler-rt-size;
204 </para>
205 </listitem>
206 </itemizedlist>
[7b74537e]207 <bridgehead renderas="sect3">LLVM Dependencies</bridgehead>
208
[7b3f441]209 <bridgehead renderas="sect4">Required</bridgehead>
210 <para role="required">
[2ee8145]211 <xref linkend="cmake"/>
[f36bebcd]212 </para>
213
[7b74537e]214 <bridgehead renderas="sect4">Optional</bridgehead>
215 <para role="optional">
[abdc2e6]216 <xref linkend="doxygen"/>,
[2ee8145]217 <xref linkend="git"/>,
[abdc2e6]218 <xref linkend="graphviz"/>,
219 <xref linkend="libxml2"/>,
[c5e3c1c]220 <xref linkend="pygments"/>,
[a96b7ae]221 <xref linkend="rsync"/> (for tests),
[ddf66964]222 <xref linkend="recommonmark"/> (for building documentation),
[2d98031c]223 <xref linkend="texlive"/> (or <xref linkend="tl-installer"/>),
[a6221fd]224 <xref linkend="valgrind"/>,
[d21c6551]225 <xref linkend="PyYAML"/>, <!-- for yaml2obj -->
[abdc2e6]226 <xref linkend="zip"/>,
[11eb3ae5]227 <ulink url="https://ocaml.org/">OCaml</ulink>,
[9a599135]228 <ulink url="https://pypi.org/project/psutil/">psutil</ulink> (for tests),
[ddf66964]229 and <ulink url="https://github.com/Z3Prover/z3">Z3</ulink>
[7b74537e]230 </para>
231
232 <para condition="html" role="usernotes">User Notes:
[abdc2e6]233 <ulink url="&blfs-wiki;/llvm"/>
234 </para>
[7b74537e]235 </sect2>
236
237 <sect2 role="installation">
238 <title>Installation of LLVM</title>
239
[218e13c]240 <para>
241 Starting with version 15.0.0, an additional tarball,
242 <filename>llvm-cmake-&llvm-version;.src.tar.xz</filename> is needed.
243 Upstream expects it extracted at the same level as the
244 <filename>llvm-&llvm-version;.src.tar.xz</filename> tarball, and the
245 extracted directory renamed to
246 <filename class="directory">cmake</filename>. Extract it and
247 modify the build system to avoid creating a directory outside of the
248 <filename>llvm-&llvm-version;.src</filename> hierarchy:
249 </para>
250
251 <!-- LLVM-15 revert: Delete the above text when upgrading.
[a7b21cc]252 <para>
[b30ce9b]253 Two additional tarballs
254 <filename>llvm-cmake-&llvm-version;.src.tar.xz</filename> and
255 <filename>llvm-third-party-&llvm-version;.src.tar.xz</filename> are
256 needed by LLVM building system. The upstream expects them extracted
257 at the same level as the
258 <filename>llvm-&llvm-version;.src.tar.xz</filename> tarball,
259 and the extracted directories renamed to
260 <filename class="directory">cmake</filename> and
261 <filename class="directory">third-party</filename>. Extract them and
262 modify the build system to avoid creating ambiguously-named
263 directories outside the
[a7b21cc]264 <filename>llvm-&llvm-version;.src</filename> hierarchy:
265 </para>
[218e13c]266 -->
267
268<screen><userinput>tar -xf ../llvm-cmake-&llvm-version;.src.tar.xz &amp;&amp;
269sed '/LLVM_COMMON_CMAKE_UTILS/s@../cmake@cmake-&llvm-version;.src@' \
270 -i CMakeLists.txt</userinput></screen>
[9a599135]271
[218e13c]272<!-- LLVM-15 revert: Uncomment this and delete the above commands when
273 upgrading back to LLVM-16.
[b30ce9b]274<screen><userinput>tar -xf ../llvm-cmake-&llvm-version;.src.tar.xz &amp;&amp;
275tar -xf ../llvm-third-party-&llvm-version;.src.tar.xz &amp;&amp;
276sed '/LLVM_COMMON_CMAKE_UTILS/s@../cmake@cmake-&llvm-version;.src@' \
277 -i CMakeLists.txt &amp;&amp;
278sed '/LLVM_THIRD_PARTY_DIR/s@../third-party@third-party-&llvm-version;.src@' \
279 -i cmake/modules/HandleLLVMOptions.cmake</userinput></screen>
[218e13c]280-->
[bceef3d]281
[abdc2e6]282 <para>
[74762a5]283 Install <application>clang</application> into
[abdc2e6]284 the source tree by running the following commands:
285 </para>
[f36bebcd]286
[74762a5]287<screen><userinput>tar -xf ../clang-&llvm-version;.src.tar.xz -C tools &amp;&amp;
[005af62c]288mv tools/clang-&llvm-version;.src tools/clang</userinput></screen>
[74762a5]289
290 <para>
291 If you have downloaded <application>compiler-rt</application>,
292 install it into the source tree by running the following commands:
293 </para>
[f36bebcd]294
[74762a5]295<screen><userinput>tar -xf ../compiler-rt-&llvm-version;.src.tar.xz -C projects &amp;&amp;
[563e0d6]296mv projects/compiler-rt-&llvm-version;.src projects/compiler-rt</userinput></screen>
[bd4f0143]297
[bf5fb94]298 <para>
299 There are many Python scripts in this package which use
300 <command>/usr/bin/env python</command> to access the system Python
[b9c353b]301 which on LFS is <xref linkend="python3"/>. Use the following command
[bf5fb94]302 to fix these scripts:
303 </para>
304
305<screen><userinput>grep -rl '#!.*python' | xargs sed -i '1s/python$/python3/'</userinput></screen>
[5a8c6008]306
[08c7ccd]307 <para>
308 If you have downloaded <application>clang</application>,
309 apply the following patch to enable <xref linkend="gSSP"/> by default
310 in compiled programs.
311 </para>
312<!-- need <../<patch> instead of -i because -d changes directory
313 before applying -i -->
[0472eb0]314<screen><userinput remap="pre">patch -Np2 -d tools/clang &lt;../clang-&llvm-version;-enable_default_ssp-1.patch</userinput></screen>
[9e82e4a]315
[218e13c]316
317<!-- LLVM-15 revert: Uncomment this when going back to LLVM-16.
[b30ce9b]318 <para>
319 If you have downloaded <application>compiler-rt</application>,
320 fix a test case broken by default SSP in
321 <application>clang</application>:
322 </para>
323
324<screen><userinput remap="pre">sed 's/clang_dfsan/&amp; -fno-stack-protector/' \
325 -i projects/compiler-rt/test/dfsan/origin_unaligned_memtrans.c</userinput></screen>
[218e13c]326-->
[b30ce9b]327
[abdc2e6]328 <para>
329 Install <application>LLVM</application> by running the following
330 commands:
331 </para>
332
[3349c8e]333<screen><userinput>mkdir -v build &amp;&amp;
[b3b7e36]334cd build &amp;&amp;
335
[8e9b706]336CC=gcc CXX=g++ \
337cmake -DCMAKE_INSTALL_PREFIX=/usr \
338 -DLLVM_ENABLE_FFI=ON \
339 -DCMAKE_BUILD_TYPE=Release \
340 -DLLVM_BUILD_LLVM_DYLIB=ON \
341 -DLLVM_LINK_LLVM_DYLIB=ON \
[b3f053c5]342 -DLLVM_ENABLE_RTTI=ON \
[8e9b706]343 -DLLVM_TARGETS_TO_BUILD="host;AMDGPU;BPF" \
[76bec58]344 -DLLVM_BINUTILS_INCDIR=/usr/include \
[3e208e99]345 -DLLVM_INCLUDE_BENCHMARKS=OFF \
[0472eb0]346 -DCLANG_DEFAULT_PIE_ON_LINUX=ON \
[8e9b706]347 -Wno-dev -G Ninja .. &amp;&amp;
[18a65e61]348ninja</userinput></screen>
[7b74537e]349
[a42c273]350 <para>
[ddf66964]351 If you have installed <xref linkend="recommonmark"/> and its
352 dependencies, you can generate the html documentation and manual
353 pages with the following commands:
[a42c273]354 </para>
355
[bf5fb94]356<screen remap="doc"><userinput>cmake -DLLVM_BUILD_DOCS=ON \
357 -DLLVM_ENABLE_SPHINX=ON \
[a42c273]358 -DSPHINX_WARNINGS_AS_ERRORS=OFF \
359 -Wno-dev -G Ninja .. &amp;&amp;
360ninja docs-llvm-html docs-llvm-man</userinput></screen>
361
362 <para>
[74762a5]363 The clang documentation can be built too:
[a42c273]364 </para>
365
366<screen remap="doc"><userinput>ninja docs-clang-html docs-clang-man</userinput></screen>
367
[abdc2e6]368 <para>
[11b9fb83]369 <!-- EDITORS - if you have more than 4 cores, take some offline to measure
370 the elapsed time for the tests. Also, libstdc++.a and perhaps libstdc++fs.a
371 are used by a couple of the link-static tests. -->
[18a65e61]372 To test the results, issue: <command>ninja check-all</command>. Tests are
[11b9fb83]373 built with all <emphasis>available</emphasis> cores, but run using the number
374 of <emphasis>online</emphasis> processors. (The difference is that available
375 cores can be limited using <command>taskset</command>, but taking them offline
376 requires echoing 0 to <filename
377 class="directory">/sys/devices/system/cpu/cpu&lt;N&gt;/online</filename>
378 by the <systemitem class="username">root</systemitem> user and makes them
379 temporarily unusable by all jobs on the machine.)
[b30ce9b]380 <!-- 16.0.0: https://github.com/llvm/llvm-project/issues/60678 -->
381 Note that two tests out of more than 69,200 are known to fail:
382 <filename>DataFlowSanitizer-x86_64 :: custom.cpp</filename> and
383 <filename>DataFlowSanitizer-x86_64 :: release_shadow_space.c</filename>.
384 <!-- To editors: it seems there is a more thorough test suite named
385 "test-suite-16.0.0.src.tar.xz" on the GitHub release download
386 page. The usage of it is on
387 https://llvm.org/docs/TestSuiteGuide.html. It looks like we've
388 never mentioned it in BLFS. -->
[abdc2e6]389 </para>
[7b74537e]390
[abdc2e6]391 <para>
[109eb9ef]392 Now, as the &root; user:
[abdc2e6]393 </para>
[7b74537e]394
[109eb9ef]395<screen role="root"><userinput>ninja install &amp;&amp;
[e58cf149]396cp bin/FileCheck /usr/bin</userinput></screen>
[3e8c126]397<!-- as of version 13.0.0, the install process seems to install the html
398 documentation and the manual pages. The llvm html documentation
[ddf66964]399 is installed into /usr/share/doc/LLVM/llvm, while the clang html
400 documentation is installed into /usr/share/doc/LLVM/clang. So we have
401 just to move it. -->
[18a65e61]402 <para>
[7975c68a]403 If you have built the llvm documentation, it has been installed
[3e8c126]404 by the above command, but it needs to be moved. As the
405 <systemitem class="username">root</systemitem> user:
[3349c8e]406 </para>
407
[a42c273]408<screen role="root"
[9a599135]409 remap="doc"><userinput>install -v -d -m755 /usr/share/doc/llvm-&llvm-version; &amp;&amp;
410mv -v /usr/share/doc/LLVM/llvm /usr/share/doc/llvm-&llvm-version; &amp;&amp;
411rmdir -v --ignore-fail-on-non-empty /usr/share/doc/LLVM</userinput></screen>
[7b74537e]412
[abdc2e6]413 <para>
[3e8c126]414 If you have built the clang documentation, it has been installed, but
415 needs to be moved too. Again as the
416 <systemitem class="username">root</systemitem> user:
[abdc2e6]417 </para>
418
[a42c273]419<screen role="root"
[9a599135]420 remap="doc"><userinput>install -v -d -m755 /usr/share/doc/llvm-&llvm-version; &amp;&amp;
421mv -v /usr/share/doc/LLVM/clang /usr/share/doc/llvm-&llvm-version; &amp;&amp;
422rmdir -v --ignore-fail-on-non-empty /usr/share/doc/LLVM</userinput></screen>
[7b74537e]423
424 </sect2>
[abdc2e6]425
[5889b252]426 <sect2 role="commands">
427 <title>Command Explanations</title>
428
429 <para>
[599c6d0]430 <parameter>-DLLVM_ENABLE_FFI=ON</parameter>: This switch allows
[5889b252]431 <application>LLVM</application> to use
[ce8983d8]432 <application>libffi</application>.
[5889b252]433 </para>
434
[4e845a4]435 <para>
[599c6d0]436 <parameter>-DLLVM_BUILD_LLVM_DYLIB=ON</parameter>: This switch builds
437 the libraries as static and links all of them into an unique shared one.
438 This is the recommended way of building a shared library.
[4e845a4]439 </para>
440
[5889b252]441 <para>
[3349c8e]442 <parameter>-DCMAKE_BUILD_TYPE=Release</parameter>: This switch enables
443 compiler optimizations in order to speed up the code and reduce its size.
[8558044]444 It also disables some compile checks which are not necessary on a
[11eb3ae5]445 production system.
[5889b252]446 </para>
447
[b3b7e36]448 <para>
[8e9b706]449 <parameter>-DLLVM_TARGETS_TO_BUILD="host;AMDGPU;BPF"</parameter>: This
[3349c8e]450 switch enables building for the same target as the host, and also for
[8e9b706]451 the r600 AMD GPU used by the Mesa r600 and radeonsi drivers. The BPF
[599c6d0]452 target is required to build <xref linkend="v4l-utils"/>. The Default is
453 all of the targets. You can use a semicolon separated list. Valid targets
[8558044]454 are: host, X86, Sparc, PowerPC, ARM, AArch64, Mips, Hexagon, Xcore,
[599c6d0]455 M68K, MSP430, NVPTX, SystemZ, AMDGPU, BPF, CppBackend, or all.
[b3b7e36]456 </para>
457
[5889b252]458 <para>
[bb0652ca]459 <parameter>-DLLVM_LINK_LLVM_DYLIB=ON</parameter>: Used in conjunction with
[4e845a4]460 <parameter>-DLLVM_BUILD_LLVM_DYLIB=ON</parameter>, this switch enables
461 linking the tools against the shared library instead of the static ones.
[9a599135]462 It slightly reduces their size and also ensures that llvm-config
463 will correctly use libLLVM-&llvm-maj-version;.so.
[4e845a4]464 </para>
465
[b3f053c5]466 <para>
[8558044]467 <parameter>-DLLVM_ENABLE_RTTI=ON</parameter>: This switch is used to
468 build LLVM with run-time type information. This is required for building
[b3f053c5]469 <xref linkend="mesa"/>.
470 </para>
471
[76bec58]472 <para>
[599c6d0]473 <parameter>-DLLVM_BINUTILS_INCDIR=/usr/include</parameter>: This switch
[8558044]474 is used to tell the build system the location of binutils headers,
[599c6d0]475 which were installed in LFS. This allows the building of
[76bec58]476 <filename class="libraryfile">LLVMgold.so</filename>, which is needed
477 for building programs with <command>clang</command> and Link Time
478 Optimization (LTO).
479 </para>
480
[3e208e99]481 <para>
[7a9a7b26]482 <parameter>-DLLVM_INCLUDE_BENCHMARKS=OFF</parameter>:
483 is used to disable generation build targets for the LLVM
484 benchmarks. This option requires additional code that
[3e208e99]485 is not currently available.
486 </para>
487
[08c7ccd]488 <para>
489 <parameter>-DCLANG_DEFAULT_PIE_ON_LINUX=ON</parameter>: makes
490 <option>-fpie</option> option the default when compiling programs.
491 Together with the <xref linkend="gASLR"/> feature enabled in the kernel,
492 this defeats some kind of attacks based on known memory layouts.
493 </para>
494
[4e845a4]495 <para>
496 <option>-DBUILD_SHARED_LIBS=ON</option>: if used instead of
[bb0652ca]497 <parameter>-DLLVM_BUILD_LLVM_DYLIB=ON</parameter> and
498 <parameter>-DLLVM_LINK_LLVM_DYLIB=ON</parameter>, builds all the
[4e845a4]499 <application>LLVM</application> libraries (about 60) as shared
500 libraries instead of static.
[3349c8e]501 </para>
502
503 <para>
504 <option>-DLLVM_ENABLE_DOXYGEN</option>: Enables the generation of
505 browsable HTML documentation if you have installed <xref
506 linkend="doxygen"/>. You should run <command>make doxygen-html</command>
507 afterwards, and install the generated documentation manually.
[5889b252]508 </para>
509
510 </sect2>
511
[7b74537e]512 <sect2 role="content">
513 <title>Contents</title>
514
515 <segmentedlist>
516 <segtitle>Installed Programs</segtitle>
517 <segtitle>Installed Libraries</segtitle>
518 <segtitle>Installed Directories</segtitle>
519
520 <seglistitem>
[abdc2e6]521 <seg>
[bb6209fc]522 amdgpu-arch,
[754f4c6d]523 analyze-build, bugpoint, c-index-test, clang, clang++ (symlinks to
[d2a21aa]524 clang-&llvm-maj-version;), clang-&llvm-maj-version;, clang-check, clang-cl,
[bf5fb94]525 clang-cpp (last two symlinks to clang), clang-extdef-mapping, clang-format,
[bb6209fc]526 clang-linker-wrapper,
527 clang-offload-bundler, clang-offload-packager,
[3e8c126]528 clang-refactor, clang-rename, clang-repl, clang-scan-deps,
[109eb9ef]529 diagtool, dsymutil, FileCheck, git-clang-format, hmaptool, intercept-build, llc, lli,
[3e8c126]530 llvm-addr2line (symlink to llvm-symbolizer),
531 llvm-ar, llvm-as, llvm-bcanalyzer,
[8558044]532 llvm-bitcode-strip (symlink to llvm-objcopy), llvm-cat,
533 llvm-cfi-verify, llvm-config, llvm-cov, llvm-c-test, llvm-cvtres,
[bb6209fc]534 llvm-cxxdump, llvm-cxxfilt, llvm-cxxmap, llvm-debuginfo-analyzer,
[9a599135]535 llvm-debuginfod, llvm-debuginfod-find,
536 llvm-diff, llvm-dis, llvm-dlltool (symlink to llvm-ar),
537 llvm-dwarfdump, llvm-dwarfutil,
538 llvm-dwp, llvm-exegesis, llvm-extract, llvm-gsymutil, llvm-ifs,
[11eb3ae5]539 llvm-install-name-tool (symlink to llvm-objcopy), llvm-jitlink,
[8558044]540 llvm-lib (symlink to llvm-ar), llvm-libtool-darwin, llvm-link,
541 llvm-lipo, llvm-lto, llvm-lto2, llvm-mc, llvm-mca, llvm-ml,
[599c6d0]542 llvm-modextract, llvm-mt, llvm-nm, llvm-objcopy, llvm-objdump,
[3e8c126]543 llvm-opt-report, llvm-otool (symlink to llv-objdump),
544 llvm-pdbutil, llvm-profdata, llvm-profgen,
[8558044]545 llvm-ranlib (symlink to llvm-ar), llvm-rc,
546 llvm-readelf (symlink to llvm-readobj), llvm-readobj, llvm-reduce,
[bb6209fc]547 llvm-remark-size-diff, llvm-remarkutil,
[3e8c126]548 llvm-rtdyld, llvm-sim, llvm-size, llvm-split, llvm-stress,
549 llvm-strings, llvm-strip (symlink to llvm-objcopy), llvm-symbolizer,
[754f4c6d]550 llvm-tapi-diff, llvm-tblgen, llvm-tli-checker, llvm-undname, llvm-windres (symlink to
[bb6209fc]551 llvm-rc), llvm-xray, nvptx-arch, opt, sancov, sanstats, scan-build,
[9a599135]552 scan-build-py, scan-view, split-file, and verify-uselistorder
[abdc2e6]553 </seg>
554 <seg>
[8558044]555 libLLVM.so,
[bb6209fc]556 libLLVM*.a (100 libraries),
[8558044]557 libLTO.so,
558 libRemarks.so,
[693c4d1]559 libclang.so,
[599c6d0]560 libclang-cpp.so,
[bb6209fc]561 libclang*.a (42 libraries),
[76bec58]562 and LLVMgold.so
[abdc2e6]563 </seg>
564 <seg>
[a6221fd]565 /usr/include/{clang,clang-c,llvm,llvm-c},
[3e8c126]566 /usr/lib/{clang,cmake/{clang,llvm},libear,libscanbuild},
[b7a300f7]567 /usr/share/{clang,opt-viewer,scan-build,scan-view}, and
[11eb3ae5]568 /usr/share/doc/llvm-&llvm-version;
[abdc2e6]569 </seg>
[7b74537e]570 </seglistitem>
571 </segmentedlist>
[abdc2e6]572
[7b74537e]573 <variablelist>
574 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
575 <?dbfo list-presentation="list"?>
576 <?dbhtml list-presentation="table"?>
577
[bb6209fc]578 <varlistentry id="amdgpu-arch">
579 <term><command>amdgpu-arch</command></term>
580 <listitem>
581 <para>
582 lists AMD GPUs installed; at runtime it needs
583 <filename class='libraryfile'>libhsa-runtime64.so</filename>
584 which is not a part of BLFS
585 </para>
586 <indexterm zone="llvm amdgpu-arch">
587 <primary sortas="b-amdgpu-arch">amdgpu-arch</primary>
588 </indexterm>
589 </listitem>
590 </varlistentry>
591
[754f4c6d]592 <varlistentry id="analyze-build">
593 <term><command>analyze-build</command></term>
594 <listitem>
595 <para>
596 is a static analysis tool
597 </para>
598 <indexterm zone="llvm analyze-build">
599 <primary sortas="b-analyze-build">analyze-build</primary>
600 </indexterm>
601 </listitem>
602 </varlistentry>
603
[abdc2e6]604 <varlistentry id="bugpoint">
605 <term><command>bugpoint</command></term>
606 <listitem>
607 <para>
[4c24eb0a]608 is the automatic test case reduction tool
[abdc2e6]609 </para>
610 <indexterm zone="llvm bugpoint">
611 <primary sortas="b-bugpoint">bugpoint</primary>
612 </indexterm>
613 </listitem>
614 </varlistentry>
615
[b7a300f7]616 <varlistentry id="c-index-test">
617 <term><command>c-index-test</command></term>
618 <listitem>
619 <para>
[4c24eb0a]620 is used to test the libclang API and demonstrate its usage
[b7a300f7]621 </para>
622 <indexterm zone="llvm c-index-test">
623 <primary sortas="b-c-index-test">c-index-test</primary>
624 </indexterm>
625 </listitem>
626 </varlistentry>
627
[abdc2e6]628 <varlistentry id="clang">
629 <term><command>clang</command></term>
[7b74537e]630 <listitem>
[abdc2e6]631 <para>
632 is the <application>Clang</application> C, C++,
[4c24eb0a]633 and Objective-C compiler
[abdc2e6]634 </para>
635 <indexterm zone="llvm clang">
636 <primary sortas="b-clang">clang</primary>
[7b74537e]637 </indexterm>
638 </listitem>
639 </varlistentry>
640
[b7a300f7]641 <varlistentry id="clang-check">
642 <term><command>clang-check</command></term>
643 <listitem>
644 <para>
645 is a tool to perform static code analysis and display Abstract
[4c24eb0a]646 Syntax Trees (AST)
[b7a300f7]647 </para>
648 <indexterm zone="llvm clang-check">
649 <primary sortas="b-clang-check">clang-check</primary>
650 </indexterm>
651 </listitem>
652 </varlistentry>
653
[11eb3ae5]654 <varlistentry id="clang-extdef-mapping">
655 <term><command>clang-extdef-mapping</command></term>
656 <listitem>
657 <para>
658 is a tool to collect the USR name and location of external
[4c24eb0a]659 definitions in a source file
[11eb3ae5]660 </para>
661 <indexterm zone="llvm clang-extdef-mapping">
662 <primary sortas="b-clang-extdef-mapping">clang-extdef-mapping</primary>
663 </indexterm>
664 </listitem>
665 </varlistentry>
666
[3349c8e]667 <varlistentry id="clang-format">
668 <term><command>clang-format</command></term>
669 <listitem>
670 <para>
671 is a tool to format C/C++/Java/JavaScript/Objective-C/Protobuf
[4c24eb0a]672 code
[3349c8e]673 </para>
674 <indexterm zone="llvm clang-format">
675 <primary sortas="b-clang-format">clang-format</primary>
676 </indexterm>
677 </listitem>
678 </varlistentry>
679
[9a599135]680 <varlistentry id="clang-linker-wrapper">
681 <term><command>clang-linker-wrapper</command></term>
[11b9fb83]682 <listitem>
683 <para>
[9a599135]684 is a wrapper utility over the host linker
[11b9fb83]685 </para>
[9a599135]686 <indexterm zone="llvm clang-linker-wrapper">
687 <primary sortas="b-clang-linker-wrapper">clang-linker-wrapper</primary>
[11b9fb83]688 </indexterm>
689 </listitem>
690 </varlistentry>
[9a599135]691
[b7a300f7]692 <varlistentry id="clang-offload-bundler">
693 <term><command>clang-offload-bundler</command></term>
694 <listitem>
695 <para>
[246a7c53]696 is a tool to bundle/unbundle OpenMP offloaded files associated with
[4c24eb0a]697 a common source file
[b7a300f7]698 </para>
699 <indexterm zone="llvm clang-offload-bundler">
700 <primary sortas="b-clang-offload-bundler">clang-offload-bundler</primary>
701 </indexterm>
702 </listitem>
703 </varlistentry>
704
[9a599135]705 <varlistentry id="clang-offload-packager">
706 <term><command>clang-offload-packager</command></term>
707 <listitem>
708 <para>
709 is a tool to bundle several object files into a single binary,
710 which can then be used to create a fatbinary containing offloading
711 code
712 </para>
713 <indexterm zone="llvm clang-offload-packager">
714 <primary sortas="b-clang-offload-packager">clang-offload-packager</primary>
715 </indexterm>
716 </listitem>
717 </varlistentry>
718
[11b9fb83]719 <varlistentry id="clang-refactor">
720 <term><command>clang-refactor</command></term>
721 <listitem>
722 <para>
[4c24eb0a]723 is a Clang-based refactoring tool for C, C++ and Objective-C
[11b9fb83]724 </para>
725 <indexterm zone="llvm clang-refactor">
726 <primary sortas="b-clang-refactor">clang-refactor</primary>
727 </indexterm>
728 </listitem>
729 </varlistentry>
730
[b7a300f7]731 <varlistentry id="clang-rename">
732 <term><command>clang-rename</command></term>
733 <listitem>
734 <para>
[4c24eb0a]735 is a tool to rename symbols in C/C++ programs
[b7a300f7]736 </para>
737 <indexterm zone="llvm clang-rename">
738 <primary sortas="b-clang-rename">clang-rename</primary>
739 </indexterm>
740 </listitem>
741 </varlistentry>
742
[11eb3ae5]743 <varlistentry id="clang-scan-deps">
744 <term><command>clang-scan-deps</command></term>
745 <listitem>
746 <para>
[4c24eb0a]747 is a tool to scan for dependencies in a source file
[11eb3ae5]748 </para>
749 <indexterm zone="llvm clang-scan-deps">
750 <primary sortas="b-clang-scan-deps">clang-scan-deps</primary>
751 </indexterm>
752 </listitem>
753 </varlistentry>
754
[11b9fb83]755 <varlistentry id="diagtool">
756 <term><command>diagtool</command></term>
757 <listitem>
758 <para>
[4c24eb0a]759 is a combination of tools for dealing with diagnostics in clang
[11b9fb83]760 </para>
761 <indexterm zone="llvm diagtool">
762 <primary sortas="b-diagtool">diagtool</primary>
763 </indexterm>
764 </listitem>
765 </varlistentry>
766
[109eb9ef]767 <varlistentry id="FileCheck">
768 <term><command>FileCheck</command></term>
769 <listitem>
770 <para>
[54d58907]771 is a tool that reads two files (one from standard input,
[109eb9ef]772 and one specified on the command line) and uses one to verify the other.
773 </para>
774 <indexterm zone="llvm FileCheck">
775 <primary sortas="b-FileCheck">FileCheck</primary>
776 </indexterm>
777 </listitem>
778 </varlistentry>
779
[11b9fb83]780 <varlistentry id="dsymutil">
781 <term><command>dsymutil</command></term>
782 <listitem>
783 <para>
784 is a tool used to manipulate archived DWARF debug symbol files,
[4c24eb0a]785 compatible with the Darwin command <command>dsymutil</command>
[11b9fb83]786 </para>
787 <indexterm zone="llvm dsymutil">
788 <primary sortas="b-dsymutil">dsymutil</primary>
789 </indexterm>
790 </listitem>
791 </varlistentry>
792
[b7a300f7]793 <varlistentry id="git-clang-format">
794 <term><command>git-clang-format</command></term>
795 <listitem>
796 <para>
797 runs clang-format on git generated patches (requires
798 <xref linkend="git"/>)
799 </para>
800 <indexterm zone="llvm git-clang-format">
801 <primary sortas="b-git-clang-format">git-clang-format</primary>
802 </indexterm>
803 </listitem>
804 </varlistentry>
805
[11b9fb83]806 <varlistentry id="hmaptool">
807 <term><command>hmaptool</command></term>
808 <listitem>
809 <para>
[4c24eb0a]810 is a Python tool to dump and construct header maps
[11b9fb83]811 </para>
812 <indexterm zone="llvm hmaptool">
813 <primary sortas="b-hmaptool">hmaptool</primary>
814 </indexterm>
815 </listitem>
816 </varlistentry>
817
[bb6209fc]818 <varlistentry id="intercept-build">
819 <term><command>intercept-build</command></term>
820 <listitem>
821 <para>
822 generates a database of build commands for a project
823 </para>
824 <indexterm zone="llvm intercept-build">
825 <primary sortas="b-intercept-build">intercept-build</primary>
826 </indexterm>
827 </listitem>
828 </varlistentry>
829
[abdc2e6]830 <varlistentry id="llc">
831 <term><command>llc</command></term>
[7b74537e]832 <listitem>
[abdc2e6]833 <para>
[4c24eb0a]834 is the <application>LLVM</application> static compiler
[abdc2e6]835 </para>
836 <indexterm zone="llvm llc">
837 <primary sortas="b-llc">llc</primary>
838 </indexterm>
839 </listitem>
840 </varlistentry>
841
842 <varlistentry id="lli">
843 <term><command>lli</command></term>
844 <listitem>
845 <para>
846 is used to directly execute programs from
[4c24eb0a]847 <application>LLVM</application> bitcode
[abdc2e6]848 </para>
849 <indexterm zone="llvm lli">
850 <primary sortas="b-lli">lli</primary>
851 </indexterm>
852 </listitem>
853 </varlistentry>
854
[11eb3ae5]855 <varlistentry id="llvm-addr2line">
856 <term><command>llvm-addr2line</command></term>
857 <listitem>
858 <para>
859 is a tool used to convert addresses into file names and line
[4c24eb0a]860 numbers
[11eb3ae5]861 </para>
862 <indexterm zone="llvm llvm-addr2line">
863 <primary sortas="b-llvm-addr2line">llvm-addr2line</primary>
864 </indexterm>
865 </listitem>
866 </varlistentry>
867
[abdc2e6]868 <varlistentry id="llvm-ar">
869 <term><command>llvm-ar</command></term>
870 <listitem>
871 <para>
[4c24eb0a]872 is the <application>LLVM</application> archiver
[abdc2e6]873 </para>
874 <indexterm zone="llvm llvm-ar">
875 <primary sortas="b-llvm-ar">llvm-ar</primary>
876 </indexterm>
877 </listitem>
878 </varlistentry>
879
880 <varlistentry id="llvm-as">
881 <term><command>llvm-as</command></term>
882 <listitem>
883 <para>
[4c24eb0a]884 is the <application>LLVM</application> assembler
[abdc2e6]885 </para>
886 <indexterm zone="llvm llvm-as">
887 <primary sortas="b-llvm-as">llvm-as</primary>
888 </indexterm>
889 </listitem>
890 </varlistentry>
891
892 <varlistentry id="llvm-bcanalyzer">
893 <term><command>llvm-bcanalyzer</command></term>
894 <listitem>
895 <para>
[4c24eb0a]896 is the <application>LLVM</application> bitcode analyzer
[abdc2e6]897 </para>
898 <indexterm zone="llvm llvm-bcanalyzer">
899 <primary sortas="b-llvm-bcanalyzer">llvm-bcanalyzer</primary>
900 </indexterm>
901 </listitem>
902 </varlistentry>
903
[599c6d0]904 <varlistentry id="llvm-bitcode-strip">
905 <term><command>llvm-bitcode-strip</command></term>
906 <listitem>
907 <para>
908 strips LLVM bitcode from an object
909 </para>
910 <indexterm zone="llvm llvm-bitcode-strip">
911 <primary sortas="b-llvm-bitcode-strip">llvm-bitcode-strip</primary>
912 </indexterm>
913 </listitem>
914 </varlistentry>
915
[b7a300f7]916 <varlistentry id="llvm-cat">
917 <term><command>llvm-cat</command></term>
918 <listitem>
919 <para>
[4c24eb0a]920 is a tool to concatenate llvm modules
[b7a300f7]921 </para>
922 <indexterm zone="llvm llvm-cat">
923 <primary sortas="b-llvm-cat">llvm-cat</primary>
924 </indexterm>
925 </listitem>
926 </varlistentry>
927
[11b9fb83]928 <varlistentry id="llvm-cfi-verify">
929 <term><command>llvm-cfi-verify</command></term>
930 <listitem>
931 <para>
932 identifies whether Control Flow Integrity protects all indirect
933 control flow instructions in the provided object file, DSO, or
[4c24eb0a]934 binary
[11b9fb83]935 </para>
936 <indexterm zone="llvm llvm-cfi-verify">
937 <primary sortas="b-llvm-cfi-verify">llvm-cfi-verify</primary>
938 </indexterm>
939 </listitem>
940 </varlistentry>
941
[abdc2e6]942 <varlistentry id="llvm-config">
943 <term><command>llvm-config</command></term>
944 <listitem>
945 <para>
[4c24eb0a]946 Prints <application>LLVM</application> compilation options
[abdc2e6]947 </para>
948 <indexterm zone="llvm llvm-config">
949 <primary sortas="b-llvm-config">llvm-config</primary>
950 </indexterm>
951 </listitem>
952 </varlistentry>
953
954 <varlistentry id="llvm-cov">
955 <term><command>llvm-cov</command></term>
956 <listitem>
957 <para>
[4c24eb0a]958 is used to emit coverage information
[abdc2e6]959 </para>
960 <indexterm zone="llvm llvm-cov">
961 <primary sortas="b-llvm-cov">llvm-cov</primary>
962 </indexterm>
963 </listitem>
964 </varlistentry>
965
[3349c8e]966 <varlistentry id="llvm-c-test">
967 <term><command>llvm-c-test</command></term>
968 <listitem>
969 <para>
[4c24eb0a]970 is a bytecode disassembler
[3349c8e]971 </para>
972 <indexterm zone="llvm llvm-c-test">
973 <primary sortas="b-llvm-c-test">llvm-c-test</primary>
974 </indexterm>
975 </listitem>
976 </varlistentry>
977
[b7a300f7]978 <varlistentry id="llvm-cvtres">
979 <term><command>llvm-cvtres</command></term>
980 <listitem>
981 <para>
[4c24eb0a]982 is a tool to convert Microsoft resource files to COFF
[b7a300f7]983 </para>
984 <indexterm zone="llvm llvm-cvtres">
985 <primary sortas="b-llvm-cvtres">llvm-cvtres</primary>
986 </indexterm>
987 </listitem>
988 </varlistentry>
989
[b3b7e36]990 <varlistentry id="llvm-cxxdump">
991 <term><command>llvm-cxxdump</command></term>
992 <listitem>
993 <para>
[4c24eb0a]994 is used as a C++ ABI Data Dumper
[b3b7e36]995 </para>
996 <indexterm zone="llvm llvm-cxxdump">
997 <primary sortas="b-llvm-cxxdump">llvm-cxxdump</primary>
998 </indexterm>
999 </listitem>
1000 </varlistentry>
1001
[b7a300f7]1002 <varlistentry id="llvm-cxxfilt">
1003 <term><command>llvm-cxxfilt</command></term>
1004 <listitem>
1005 <para>
[4c24eb0a]1006 is used to demangle C++ symbols in llvm code
[b7a300f7]1007 </para>
1008 <indexterm zone="llvm llvm-cxxfilt">
1009 <primary sortas="b-llvm-cxxfilt">llvm-cxxfilt</primary>
1010 </indexterm>
1011 </listitem>
1012 </varlistentry>
1013
[11eb3ae5]1014 <varlistentry id="llvm-cxxmap">
1015 <term><command>llvm-cxxmap</command></term>
1016 <listitem>
1017 <para>
[4c24eb0a]1018 is used to remap C++ mangled symbols
[11eb3ae5]1019 </para>
1020 <indexterm zone="llvm llvm-cxxmap">
1021 <primary sortas="b-llvm-cxxmap">llvm-cxxmap</primary>
1022 </indexterm>
1023 </listitem>
1024 </varlistentry>
1025
[bb6209fc]1026 <varlistentry id="llvm-debuginfo-analyzer">
1027 <term><command>llvm-debuginfo-analyzer</command></term>
1028 <listitem>
1029 <para>
1030 prints a logical representation of low-level debug information
1031 </para>
1032 <indexterm zone="llvm llvm-debuginfo-analyzer">
1033 <primary sortas="b-llvm-debuginfo-analyzer">llvm-debuginfo-analyzer</primary>
1034 </indexterm>
1035 </listitem>
1036 </varlistentry>
1037
[9a599135]1038 <varlistentry id="llvm-debuginfod">
1039 <term><command>llvm-debuginfod</command></term>
1040 <listitem>
1041 <para>
1042 is a service providing debug information over an HTTP API for
1043 analyzing stripped binaries
1044 </para>
1045 <indexterm zone="llvm llvm-debuginfod">
1046 <primary sortas="b-llvm-debuginfod">llvm-debuginfod</primary>
1047 </indexterm>
1048 </listitem>
1049 </varlistentry>
1050
1051 <varlistentry id="llvm-debuginfod-find">
1052 <term><command>llvm-debuginfod-find</command></term>
1053 <listitem>
1054 <para>
1055 is an interface to the <command>llvm-debuginfod</command> daemon
1056 for finding debuginfod artifacts
1057 </para>
1058 <indexterm zone="llvm llvm-debuginfod-find">
1059 <primary sortas="b-llvm-debuginfod-find">llvm-debuginfod-find</primary>
1060 </indexterm>
1061 </listitem>
1062 </varlistentry>
1063
[abdc2e6]1064 <varlistentry id="llvm-diff">
1065 <term><command>llvm-diff</command></term>
1066 <listitem>
1067 <para>
1068 is the <application>LLVM</application> structural
[4c24eb0a]1069 '<command>diff</command>'
[abdc2e6]1070 </para>
1071 <indexterm zone="llvm llvm-diff">
1072 <primary sortas="b-llvm-diff">llvm-diff</primary>
1073 </indexterm>
1074 </listitem>
1075 </varlistentry>
1076
1077 <varlistentry id="llvm-dis">
1078 <term><command>llvm-dis</command></term>
1079 <listitem>
1080 <para>
[4c24eb0a]1081 is the <application>LLVM</application> disassembler
[abdc2e6]1082 </para>
1083 <indexterm zone="llvm llvm-dis">
1084 <primary sortas="b-llvm-dis">llvm-dis</primary>
1085 </indexterm>
1086 </listitem>
1087 </varlistentry>
1088
[3349c8e]1089 <varlistentry id="llvm-dwarfdump">
1090 <term><command>llvm-dwarfdump</command></term>
1091 <listitem>
1092 <para>
[4c24eb0a]1093 prints the content of DWARF sections in object files
[3349c8e]1094 </para>
1095 <indexterm zone="llvm llvm-dwarfdump">
1096 <primary sortas="b-llvm-dwarfdump">llvm-dwarfdump</primary>
1097 </indexterm>
1098 </listitem>
1099 </varlistentry>
1100
[9a599135]1101 <varlistentry id="llvm-dwarfutil">
1102 <term><command>llvm-dwarfutil</command></term>
1103 <listitem>
1104 <para>
1105 is a tool to copy and manipulate debug info
1106 </para>
1107 <indexterm zone="llvm llvm-dwarfutil">
1108 <primary sortas="b-llvm-dwarfutil">llvm-dwarfutil</primary>
1109 </indexterm>
1110 </listitem>
1111 </varlistentry>
1112
[3349c8e]1113 <varlistentry id="llvm-dwp">
1114 <term><command>llvm-dwp</command></term>
1115 <listitem>
1116 <para>
[4c24eb0a]1117 merges split DWARF files
[3349c8e]1118 </para>
1119 <indexterm zone="llvm llvm-dwp">
1120 <primary sortas="b-llvm-dwp">llvm-dwp</primary>
1121 </indexterm>
1122 </listitem>
1123 </varlistentry>
1124
[11eb3ae5]1125 <varlistentry id="llvm-elfabi">
1126 <term><command>llvm-elfabi</command></term>
1127 <listitem>
1128 <para>
[4c24eb0a]1129 is used to read information about an ELF binary's ABI
[11eb3ae5]1130 </para>
1131 <indexterm zone="llvm llvm-elfabi">
1132 <primary sortas="b-llvm-elfabi">llvm-elfabi</primary>
1133 </indexterm>
1134 </listitem>
1135 </varlistentry>
1136
[11b9fb83]1137 <varlistentry id="llvm-exegesis">
1138 <term><command>llvm-exegesis</command></term>
1139 <listitem>
1140 <para>
1141 is a benchmarking tool that uses information available in LLVM to
1142 measure host machine instruction characteristics like latency or
[4c24eb0a]1143 port decomposition
[11b9fb83]1144 </para>
1145 <indexterm zone="llvm llvm-exegesis">
1146 <primary sortas="b-llvm-exegesis">llvm-exegesis</primary>
1147 </indexterm>
1148 </listitem>
1149 </varlistentry>
1150
[abdc2e6]1151 <varlistentry id="llvm-extract">
1152 <term><command>llvm-extract</command></term>
1153 <listitem>
1154 <para>
1155 is used to extract a function from an
[4c24eb0a]1156 <application>LLVM</application> module
[abdc2e6]1157 </para>
1158 <indexterm zone="llvm llvm-extract">
1159 <primary sortas="b-llvm-extract">llvm-extract</primary>
1160 </indexterm>
1161 </listitem>
1162 </varlistentry>
1163
[bf5fb94]1164 <varlistentry id="llvm-gsymutil">
1165 <term><command>llvm-gsymutil</command></term>
1166 <listitem>
1167 <para>
1168 is used to process GSYM Symbolication Format files which
1169 convert memory addresses to function name and source file
[4c24eb0a]1170 line. These files are smaller than DWARF or Breakpad files
[bf5fb94]1171 </para>
1172 <indexterm zone="llvm llvm-gsymutil">
1173 <primary sortas="b-llvm-gsymutil">llvm-gsymutil</primary>
1174 </indexterm>
1175 </listitem>
1176 </varlistentry>
1177
[11eb3ae5]1178 <varlistentry id="llvm-ifs">
1179 <term><command>llvm-ifs</command></term>
1180 <listitem>
1181 <para>
[4c24eb0a]1182 is used to merge interface stubs with object files
[11eb3ae5]1183 </para>
1184 <indexterm zone="llvm llvm-ifs">
1185 <primary sortas="b-llvm-ifs">llvm-ifs</primary>
1186 </indexterm>
1187 </listitem>
1188 </varlistentry>
1189
1190 <varlistentry id="llvm-install-name-tool">
1191 <term><command>llvm-install-name-tool</command></term>
1192 <listitem>
1193 <para>
[4c24eb0a]1194 is used to rewrite load commands into MachO binary format
[11eb3ae5]1195 </para>
1196 <indexterm zone="llvm llvm-install-name-tool">
1197 <primary sortas="b-llvm-install-name-tool">llvm-install-name-tool</primary>
1198 </indexterm>
1199 </listitem>
1200 </varlistentry>
1201
1202 <varlistentry id="llvm-jitlink">
1203 <term><command>llvm-jitlink</command></term>
1204 <listitem>
1205 <para>
1206 is used to parse relocatable object files to make their contents
[4c24eb0a]1207 executable in a target process
[11eb3ae5]1208 </para>
1209 <indexterm zone="llvm llvm-jitlink">
1210 <primary sortas="b-llvm-jitlink">llvm-jitlink</primary>
1211 </indexterm>
1212 </listitem>
1213 </varlistentry>
1214
[599c6d0]1215 <varlistentry id="llvm-libtool-darwin">
1216 <term><command>llvm-libtool-darwin</command></term>
1217 <listitem>
1218 <para>
1219 provides basic libtool functionality on Darwin-based systems.
1220 This is mostly useful if you are generating binaries for macOS
1221 systems
1222 </para>
1223 <indexterm zone="llvm llvm-libtool-darwin">
1224 <primary sortas="b-llvm-libtool-darwin">llvm-libtool-darwin</primary>
1225 </indexterm>
1226 </listitem>
1227 </varlistentry>
1228
[abdc2e6]1229 <varlistentry id="llvm-link">
1230 <term><command>llvm-link</command></term>
1231 <listitem>
1232 <para>
[4c24eb0a]1233 is the <application>LLVM</application> linker
[abdc2e6]1234 </para>
1235 <indexterm zone="llvm llvm-link">
1236 <primary sortas="b-llvm-link">llvm-link</primary>
1237 </indexterm>
1238 </listitem>
1239 </varlistentry>
1240
[11eb3ae5]1241 <varlistentry id="llvm-lipo">
1242 <term><command>llvm-lipo</command></term>
1243 <listitem>
1244 <para>
[4c24eb0a]1245 is used to create universal binaries from MachO files
[11eb3ae5]1246 </para>
1247 <indexterm zone="llvm llvm-lipo">
1248 <primary sortas="b-llvm-lipo">llvm-lipo</primary>
1249 </indexterm>
1250 </listitem>
1251 </varlistentry>
1252
[3349c8e]1253 <varlistentry id="llvm-lto">
1254 <term><command>llvm-lto</command></term>
1255 <listitem>
1256 <para>
1257 is the <application>LLVM</application> LTO (link time optimization)
[4c24eb0a]1258 linker
[3349c8e]1259 </para>
1260 <indexterm zone="llvm llvm-lto">
1261 <primary sortas="b-llvm-lto">llvm-lto</primary>
1262 </indexterm>
1263 </listitem>
1264 </varlistentry>
1265
[b7a300f7]1266 <varlistentry id="llvm-lto2">
1267 <term><command>llvm-lto2</command></term>
1268 <listitem>
1269 <para>
[4c24eb0a]1270 is a test harness for the resolution based LTO interface
[b7a300f7]1271 </para>
1272 <indexterm zone="llvm llvm-lto2">
1273 <primary sortas="b-llvm-lto2">llvm-lto2</primary>
1274 </indexterm>
1275 </listitem>
1276 </varlistentry>
1277
[3349c8e]1278 <varlistentry id="llvm-mc">
1279 <term><command>llvm-mc</command></term>
1280 <listitem>
1281 <para>
[4c24eb0a]1282 is a standalone machine code assembler/disassembler
[3349c8e]1283 </para>
1284 <indexterm zone="llvm llvm-mc">
1285 <primary sortas="b-llvm-mc">llvm-mc</primary>
1286 </indexterm>
1287 </listitem>
1288 </varlistentry>
1289
[11b9fb83]1290 <varlistentry id="llvm-mca">
1291 <term><command>llvm-mca</command></term>
1292 <listitem>
1293 <para>
[c5e3c1c]1294 is a performance analysis tool to statically measure the
[4c24eb0a]1295 performance of machine code
[11b9fb83]1296 </para>
1297 <indexterm zone="llvm llvm-mca">
1298 <primary sortas="b-llvm-mca">llvm-mca</primary>
1299 </indexterm>
1300 </listitem>
1301 </varlistentry>
1302
1303<!-- <varlistentry id="llvm-mcmarkup">
[b7a300f7]1304 <term><command>llvm-mcmarkup</command></term>
1305 <listitem>
1306 <para>
1307 is a parser for machine code markup.
1308 </para>
1309 <indexterm zone="llvm llvm-mcmarkup">
1310 <primary sortas="b-llvm-mcmarkup">llvm-mcmarkup</primary>
1311 </indexterm>
1312 </listitem>
[11b9fb83]1313 </varlistentry>-->
[b7a300f7]1314
[c5e3c1c]1315 <varlistentry id="llvm-ml">
1316 <term><command>llvm-ml</command></term>
1317 <listitem>
1318 <para>
[4c24eb0a]1319 is a playground for machine code provided by LLVM
[c5e3c1c]1320 </para>
1321 <indexterm zone="llvm llvm-ml">
1322 <primary sortas="b-llvm-ml">llvm-ml</primary>
1323 </indexterm>
1324 </listitem>
1325 </varlistentry>
1326
[b7a300f7]1327 <varlistentry id="llvm-modextract">
1328 <term><command>llvm-modextract</command></term>
1329 <listitem>
1330 <para>
[4c24eb0a]1331 is a tool to extract one module from multimodule bitcode files
[b7a300f7]1332 </para>
1333 <indexterm zone="llvm llvm-modextract">
1334 <primary sortas="b-llvm-modextract">llvm-modextract</primary>
1335 </indexterm>
1336 </listitem>
1337 </varlistentry>
1338
1339 <varlistentry id="llvm-mt">
1340 <term><command>llvm-mt</command></term>
1341 <listitem>
1342 <para>
1343 is a tool to generate signed files and catalogs from a
[4c24eb0a]1344 side-by-side assembly manifest (used for Microsoft SDK)
[b7a300f7]1345 </para>
1346 <indexterm zone="llvm llvm-mt">
1347 <primary sortas="b-llvm-mt">llvm-mt</primary>
1348 </indexterm>
1349 </listitem>
1350 </varlistentry>
1351
[abdc2e6]1352 <varlistentry id="llvm-nm">
1353 <term><command>llvm-nm</command></term>
1354 <listitem>
1355 <para>
1356 is used to list <application>LLVM</application> bitcode
[4c24eb0a]1357 and object file's symbol table
[abdc2e6]1358 </para>
1359 <indexterm zone="llvm llvm-nm">
1360 <primary sortas="b-llvm-nm">llvm-nm</primary>
1361 </indexterm>
1362 </listitem>
1363 </varlistentry>
[b3b7e36]1364
[11b9fb83]1365 <varlistentry id="llvm-objcopy">
1366 <term><command>llvm-objcopy</command></term>
1367 <listitem>
1368 <para>
[4c24eb0a]1369 is LLVM's version of an objcopy tool
[11b9fb83]1370 </para>
1371 <indexterm zone="llvm llvm-objcopy">
1372 <primary sortas="b-llvm-objcopy">llvm-objcopy</primary>
1373 </indexterm>
1374 </listitem>
1375 </varlistentry>
1376
[3349c8e]1377 <varlistentry id="llvm-objdump">
1378 <term><command>llvm-objdump</command></term>
1379 <listitem>
1380 <para>
[4c24eb0a]1381 is an <application>LLVM</application> object file dumper
[3349c8e]1382 </para>
1383 <indexterm zone="llvm llvm-objdump">
1384 <primary sortas="b-llvm-objdump">llvm-objdump</primary>
1385 </indexterm>
1386 </listitem>
1387 </varlistentry>
1388
[b7a300f7]1389 <varlistentry id="llvm-opt-report">
1390 <term><command>llvm-opt-report</command></term>
1391 <listitem>
1392 <para>
1393 is a tool to generate an optimization report from YAML optimization
[4c24eb0a]1394 record files
[b7a300f7]1395 </para>
1396 <indexterm zone="llvm llvm-opt-report">
1397 <primary sortas="b-llvm-opt-report">llvm-opt-report</primary>
1398 </indexterm>
1399 </listitem>
1400 </varlistentry>
1401
1402 <varlistentry id="llvm-pdbutil">
1403 <term><command>llvm-pdbutil</command></term>
[b3b7e36]1404 <listitem>
1405 <para>
[4c24eb0a]1406 is a PDB (Program Database) dumper. PDB is a Microsoft format
[b3b7e36]1407 </para>
[b7a300f7]1408 <indexterm zone="llvm llvm-pdbutil">
1409 <primary sortas="b-llvm-pdbutil">llvm-pdbutil</primary>
[b3b7e36]1410 </indexterm>
1411 </listitem>
1412 </varlistentry>
[3349c8e]1413
1414 <varlistentry id="llvm-profdata">
1415 <term><command>llvm-profdata</command></term>
[abdc2e6]1416 <listitem>
1417 <para>
[4c24eb0a]1418 is a small tool to manipulate and print profile data files
[abdc2e6]1419 </para>
[3349c8e]1420 <indexterm zone="llvm llvm-profdata">
1421 <primary sortas="b-llvm-profdata">llvm-profdata</primary>
[abdc2e6]1422 </indexterm>
1423 </listitem>
[3349c8e]1424 </varlistentry>
[abdc2e6]1425
[599c6d0]1426 <varlistentry id="llvm-profgen">
1427 <term><command>llvm-profgen</command></term>
1428 <listitem>
1429 <para>
1430 generates LLVM SPGO profiling information
1431 </para>
1432 <indexterm zone="llvm llvm-profgen">
1433 <primary sortas="b-llvm-profgen">llvm-profgen</primary>
1434 </indexterm>
1435 </listitem>
1436 </varlistentry>
1437
[abdc2e6]1438 <varlistentry id="llvm-ranlib">
1439 <term><command>llvm-ranlib</command></term>
1440 <listitem>
1441 <para>
[3fdc9b0]1442 is used to generate an index for a <application>LLVM</application>
[4c24eb0a]1443 archive
[abdc2e6]1444 </para>
1445 <indexterm zone="llvm llvm-ranlib">
1446 <primary sortas="b-llvm-ranlib">llvm-ranlib</primary>
1447 </indexterm>
1448 </listitem>
1449 </varlistentry>
1450
[11b9fb83]1451 <varlistentry id="llvm-rc">
1452 <term><command>llvm-rc</command></term>
1453 <listitem>
1454 <para>
1455 is a platform-independent tool to compile resource scripts
[4c24eb0a]1456 into binary resource files
[11b9fb83]1457 </para>
1458 <indexterm zone="llvm llvm-rc">
1459 <primary sortas="b-llvm-rc">llvm-rc</primary>
1460 </indexterm>
1461 </listitem>
1462 </varlistentry>
1463
[3349c8e]1464 <varlistentry id="llvm-readobj">
1465 <term><command>llvm-readobj</command></term>
1466 <listitem>
1467 <para>
[4c24eb0a]1468 displays low-level format-specific information about object files
[3349c8e]1469 </para>
1470 <indexterm zone="llvm llvm-readobj">
1471 <primary sortas="b-llvm-readobj">llvm-readobj</primary>
1472 </indexterm>
1473 </listitem>
1474 </varlistentry>
1475
[11eb3ae5]1476 <varlistentry id="llvm-reduce">
1477 <term><command>llvm-reduce</command></term>
1478 <listitem>
1479 <para>
1480 is used to automatically reduce testcases
[4c24eb0a]1481 when running a test suite
[11eb3ae5]1482 </para>
1483 <indexterm zone="llvm llvm-reduce">
1484 <primary sortas="b-llvm-reduce">llvm-reduce</primary>
1485 </indexterm>
1486 </listitem>
1487 </varlistentry>
1488
[9a599135]1489 <varlistentry id="llvm-remark-size-diff">
1490 <term><command>llvm-remark-size-diff</command></term>
1491 <listitem>
1492 <para>
1493 reports the difference in instruction count and stack size
1494 remarks between two remark files
1495 </para>
1496 <indexterm zone="llvm llvm-remark-size-diff">
1497 <primary sortas="b-llvm-remark-size-diff">llvm-remark-size-diff</primary>
1498 </indexterm>
1499 </listitem>
1500 </varlistentry>
1501
[bb6209fc]1502 <varlistentry id="llvm-remarkutil">
1503 <term><command>llvm-remarkutil</command></term>
1504 <listitem>
1505 <para>
1506 converts remark files between bitstream and YAML; or prints
1507 function instruction count information in remark files
1508 </para>
1509 <indexterm zone="llvm llvm-remark-size-diff">
1510 <primary sortas="b-llvm-remark-size-diff">llvm-remark-size-diff</primary>
1511 </indexterm>
1512 </listitem>
1513 </varlistentry>
1514
[3349c8e]1515 <varlistentry id="llvm-rtdyld">
1516 <term><command>llvm-rtdyld</command></term>
1517 <listitem>
1518 <para>
[4c24eb0a]1519 is the <application>LLVM</application> MC-JIT tool
[3349c8e]1520 </para>
1521 <indexterm zone="llvm llvm-rtdyld">
1522 <primary sortas="b-llvm-rtdyld">llvm-rtdyld</primary>
1523 </indexterm>
1524 </listitem>
1525 </varlistentry>
1526
1527 <varlistentry id="llvm-size">
1528 <term><command>llvm-size</command></term>
1529 <listitem>
1530 <para>
[4c24eb0a]1531 is the <application>LLVM</application> object size dumper
[3349c8e]1532 </para>
1533 <indexterm zone="llvm llvm-size">
1534 <primary sortas="b-llvm-size">llvm-size</primary>
1535 </indexterm>
1536 </listitem>
1537 </varlistentry>
1538
1539 <varlistentry id="llvm-split">
1540 <term><command>llvm-split</command></term>
1541 <listitem>
1542 <para>
[4c24eb0a]1543 is the <application>LLVM</application> module splitter
[3349c8e]1544 </para>
1545 <indexterm zone="llvm llvm-split">
1546 <primary sortas="b-llvm-split">llvm-split</primary>
1547 </indexterm>
1548 </listitem>
1549 </varlistentry>
1550
[abdc2e6]1551 <varlistentry id="llvm-stress">
1552 <term><command>llvm-stress</command></term>
1553 <listitem>
1554 <para>
1555 is used to generate random
[4c24eb0a]1556 <filename class="extension">.ll</filename> files
[abdc2e6]1557 </para>
1558 <indexterm zone="llvm llvm-stress">
1559 <primary sortas="b-llvm-stress">llvm-stress</primary>
1560 </indexterm>
1561 </listitem>
1562 </varlistentry>
1563
[b7a300f7]1564 <varlistentry id="llvm-strings">
1565 <term><command>llvm-strings</command></term>
1566 <listitem>
1567 <para>
1568 print strings found in a binary (object file, executable, or
[4c24eb0a]1569 archive library)
[b7a300f7]1570 </para>
1571 <indexterm zone="llvm llvm-strings">
1572 <primary sortas="b-llvm-strings">llvm-strings</primary>
1573 </indexterm>
1574 </listitem>
1575 </varlistentry>
1576
[3349c8e]1577 <varlistentry id="llvm-symbolizer">
1578 <term><command>llvm-symbolizer</command></term>
1579 <listitem>
1580 <para>
[b3443239]1581 converts addresses into source code locations
[3349c8e]1582 </para>
1583 <indexterm zone="llvm llvm-symbolizer">
1584 <primary sortas="b-llvm-symbolizer">llvm-symbolizer</primary>
1585 </indexterm>
1586 </listitem>
1587 </varlistentry>
1588
[abdc2e6]1589 <varlistentry id="llvm-tblgen">
1590 <term><command>llvm-tblgen</command></term>
1591 <listitem>
1592 <para>
1593 is the <application>LLVM</application> Target Description
[4c24eb0a]1594 To C++ Code Generator
[abdc2e6]1595 </para>
1596 <indexterm zone="llvm llvm-tblgen">
1597 <primary sortas="b-llvm-tblgen">llvm-tblgen</primary>
1598 </indexterm>
1599 </listitem>
1600 </varlistentry>
1601
[754f4c6d]1602 <varlistentry id="llvm-tli-checker">
1603 <term><command>llvm-tli-checker</command></term>
1604 <listitem>
1605 <para>
1606 is the <application>LLVM</application> TargetLibraryInfo
1607 versus SDK checker
1608 </para>
1609 <indexterm zone="llvm llvm-tli-checker">
1610 <primary sortas="b-llvm-tli-checker">llvm-tli-checker</primary>
1611 </indexterm>
1612 </listitem>
1613 </varlistentry>
1614
[11b9fb83]1615 <varlistentry id="llvm-undname">
1616 <term><command>llvm-undname</command></term>
1617 <listitem>
1618 <para>
[4c24eb0a]1619 is a tool to demangle names
[11b9fb83]1620 </para>
1621 <indexterm zone="llvm llvm-undname">
1622 <primary sortas="b-llvm-undname">llvm-undname</primary>
1623 </indexterm>
1624 </listitem>
1625 </varlistentry>
1626
[b7a300f7]1627 <varlistentry id="llvm-xray">
1628 <term><command>llvm-xray</command></term>
1629 <listitem>
1630 <para>
[4c24eb0a]1631 is an implementation of Google's XRay function call tracing system
[b7a300f7]1632 </para>
1633 <indexterm zone="llvm llvm-xray">
1634 <primary sortas="b-llvm-xray">llvm-xray</primary>
1635 </indexterm>
1636 </listitem>
1637 </varlistentry>
1638
[bb6209fc]1639 <varlistentry id="nvptx-arch">
1640 <term><command>nvptx-arch</command></term>
[39dd48b]1641 <listitem>
1642 <para>
[bb6209fc]1643 lists NVIDIA GPUs installed; at runtime it needs
1644 <filename class='libraryfile'>libcuda.so</filename>
1645 which is not a part of BLFS
[39dd48b]1646 </para>
[bb6209fc]1647 <indexterm zone="llvm nvptx-arch">
1648 <primary sortas="b-nvptx-arch">nvptx-arch</primary>
[39dd48b]1649 </indexterm>
1650 </listitem>
1651 </varlistentry>
[9a599135]1652
[abdc2e6]1653 <varlistentry id="opt">
1654 <term><command>opt</command></term>
1655 <listitem>
1656 <para>
[4c24eb0a]1657 is the <application>LLVM</application> optimizer
[abdc2e6]1658 </para>
1659 <indexterm zone="llvm opt">
1660 <primary sortas="b-opt">opt</primary>
1661 </indexterm>
1662 </listitem>
1663 </varlistentry>
1664
[3349c8e]1665 <varlistentry id="sancov">
1666 <term><command>sancov</command></term>
1667 <listitem>
1668 <para>
[4c24eb0a]1669 is the sanitizer coverage processing tool
[3349c8e]1670 </para>
1671 <indexterm zone="llvm sancov">
1672 <primary sortas="b-sancov">sancov</primary>
1673 </indexterm>
1674 </listitem>
1675 </varlistentry>
1676
[b4c31a6]1677 <varlistentry id="sanstats">
1678 <term><command>sanstats</command></term>
1679 <listitem>
1680 <para>
[4c24eb0a]1681 is the sanitizer statistics processing tool
[b4c31a6]1682 </para>
1683 <indexterm zone="llvm sanstats">
1684 <primary sortas="b-sanstats">sanstats</primary>
1685 </indexterm>
1686 </listitem>
1687 </varlistentry>
1688
[70251fc]1689 <varlistentry id="scan-build">
1690 <term><command>scan-build</command></term>
1691 <listitem>
1692 <para>
1693 is a <application>Perl</application> script that invokes the
[4c24eb0a]1694 <application>Clang</application> static analyzer
[70251fc]1695 </para>
1696 <indexterm zone="llvm scan-build">
1697 <primary sortas="b-scan-build">scan-build</primary>
[39dd48b]1698 </indexterm>
1699 </listitem>
1700 </varlistentry>
1701
[9a599135]1702 <varlistentry id="scan-build-py">
1703 <term><command>scan-build-py</command></term>
1704 <listitem>
1705 <para>
1706 is a <application>Python</application> script that invokes the
1707 <application>Clang</application> static analyzer
1708 </para>
1709 <indexterm zone="llvm scan-build-py">
1710 <primary sortas="b-scan-build-py">scan-build-py</primary>
1711 </indexterm>
1712 </listitem>
1713 </varlistentry>
1714
[3349c8e]1715 <varlistentry id="scan-view">
1716 <term><command>scan-view</command></term>
1717 <listitem>
1718 <para>
1719 is a viewer for <application>Clang</application> static analyzer
[4c24eb0a]1720 results
[3349c8e]1721 </para>
1722 <indexterm zone="llvm scan-view">
1723 <primary sortas="b-scan-view">scan-view</primary>
1724 </indexterm>
1725 </listitem>
1726 </varlistentry>
1727
[599c6d0]1728 <varlistentry id="split-file">
1729 <term><command>split-file</command></term>
1730 <listitem>
1731 <para>
1732 splits an input file into multiple parts separated by regex
1733 </para>
1734 <indexterm zone="llvm split-file">
1735 <primary sortas="b-split-file">split-file</primary>
1736 </indexterm>
1737 </listitem>
1738 </varlistentry>
1739
[3349c8e]1740 <varlistentry id="verify-uselistorder">
1741 <term><command>verify-uselistorder</command></term>
1742 <listitem>
1743 <para>
1744 is the <application>LLVM</application> tool to verify use-list
[4c24eb0a]1745 order
[3349c8e]1746 </para>
1747 <indexterm zone="llvm verify-uselistorder">
1748 <primary sortas="b-verify-uselistorder">verify-uselistorder</primary>
1749 </indexterm>
1750 </listitem>
1751 </varlistentry>
1752
[599c6d0]1753<!-- Removed in 12.0.0
[39dd48b]1754 <varlistentry id="yaml2obj">
1755 <term><command>yaml2obj</command></term>
1756 <listitem>
1757 <para>
1758 takes a YAML representation of an object file and converts it
[4c24eb0a]1759 to a binary file
[39dd48b]1760 </para>
1761 <indexterm zone="llvm yaml2obj">
1762 <primary sortas="b-yaml2obj">yaml2obj</primary>
[70251fc]1763 </indexterm>
1764 </listitem>
1765 </varlistentry>
[599c6d0]1766-->
[3349c8e]1767<!--
[abdc2e6]1768 <varlistentry id="libllvm">
1769 <term><filename class="libraryfile">libLLVM-&llvm-version;.so</filename></term>
1770 <listitem>
1771 <para>
1772 contains the <application>LLVM</application> API functions.
1773 </para>
1774 <indexterm zone="llvm libllvm">
1775 <primary sortas="c-libllvm">libLLVM-&llvm-version;.so</primary>
1776 </indexterm>
1777 </listitem>
1778 </varlistentry>
[3349c8e]1779
[abdc2e6]1780 <varlistentry id="libprofile_rt">
1781 <term><filename class="libraryfile">libprofile_rt.so</filename></term>
1782 <listitem>
1783 <para>
1784 is the C, C++ and Objective-C runtime library for
1785 <application>Clang</application>.
1786 </para>
1787 <indexterm zone="llvm libprofile_rt">
1788 <primary sortas="c-libprofile_rt">libprofile_rt.so</primary>
[7b74537e]1789 </indexterm>
1790 </listitem>
[0f5ca44]1791 </varlistentry>-->
[7b74537e]1792
1793 </variablelist>
[abdc2e6]1794
[7b74537e]1795 </sect2>
1796
1797</sect1>
Note: See TracBrowser for help on using the repository browser.