source: general/prog/llvm.xml@ d239c12

12.1 gimp3 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since d239c12 was 7bfadab, checked in by Xi Ruoyao <xry111@…>, 10 months ago

llvm: Fix SSP patch name

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