source: general/prog/llvm.xml@ f66a203

12.1 ken/TL2024 lazarus rahul/power-profiles-daemon trunk xry111/llvm18
Last change on this file since f66a203 was ab4fdfc, checked in by Pierre Labastie <pierre.labastie@…>, 4 months ago

Change all xml decl to encoding=utf-8

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