source: general/prog/llvm.xml@ b359074a

12.2 gimp3 lazarus trunk xry111/for-12.3 xry111/spidermonkey128
Last change on this file since b359074a was b359074a, checked in by Bruce Dubbs <bdubbs@…>, 3 months ago

Update to llvm-18.1.7.

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