source: general/prog/llvm.xml@ 3e208e99

11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/soup3 xry111/xf86-video-removal
Last change on this file since 3e208e99 was 3e208e99, checked in by Bruce Dubbs <bdubbs@…>, 2 years ago

Update to llvm-14.0.0.

  • Property mode set to 100644
File size: 50.7 KB
Line 
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
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">
10 <!ENTITY llvm-download-ftp " ">
11 <!ENTITY llvm-md5sum "91ad90cc054593ce95230f4b2118c9d1">
12 <!ENTITY llvm-size "47 MB">
13 <!ENTITY llvm-buildsize "3.1 GB (824 MB installed, with documentation, add 20 GB for tests)">
14 <!ENTITY llvm-time "33 SBU (on 4 CPU cores, with documentation, add 18 SBU for tests)">
15
16 <!ENTITY clang-download-http "&llvm-url;/clang-&llvm-version;.src.tar.xz">
17 <!ENTITY clang-md5sum "350c7e559d1521dba27262d4360d9a53">
18 <!ENTITY clang-size "18 MB">
19
20 <!ENTITY compiler-rt-download-http "&llvm-url;/compiler-rt-&llvm-version;.src.tar.xz">
21 <!ENTITY compiler-rt-md5sum "052cee8030876a5c781bd79524e062b9">
22 <!ENTITY compiler-rt-size "2.3 MB">
23]>
24
25<sect1 id="llvm" xreflabel="LLVM-&llvm-version;">
26 <?dbhtml filename="llvm.html" ?>
27
28 <sect1info>
29 <date>$Date$</date>
30 </sect1info>
31
32 <title>LLVM-&llvm-version;</title>
33
34 <indexterm zone="llvm">
35 <primary sortas="a-LLVM">LLVM</primary>
36 </indexterm>
37
38 <sect2 role="package">
39 <title>Introduction to LLVM</title>
40
41 <para>
42 The <application>LLVM</application> package contains a collection of
43 modular and reusable compiler and toolchain technologies. The Low Level
44 Virtual Machine (LLVM) Core libraries provide a modern source and
45 target-independent optimizer, along with code generation support for many
46 popular CPUs (as well as some less common ones!). These libraries are
47 built around a well specified code representation known as the LLVM
48 intermediate representation ("LLVM IR").
49 </para>
50
51 <para>
52 <application>Clang</application> provides new C, C++, Objective C
53 and Objective C++ front-ends for <application>LLVM</application> and is
54 required by some desktop packages such as <application>firefox</application>
55 and for <application>rust</application> if that is built using the system
56 <application>LLVM</application>.
57 </para>
58
59 <para>
60 The <application>Compiler RT</application> package provides
61 runtime sanitizer and profiling libraries for developers who use
62 <application>Clang</application> and <application>LLVM</application>.
63 </para>
64
65 &lfs111_checked;
66
67 <bridgehead renderas="sect3">Package Information</bridgehead>
68 <itemizedlist spacing="compact">
69 <listitem>
70 <para>
71 Download (HTTP): <ulink url="&llvm-download-http;"/>
72 </para>
73 </listitem>
74 <listitem>
75 <para>
76 Download (FTP): <ulink url="&llvm-download-ftp;"/>
77 </para>
78 </listitem>
79 <listitem>
80 <para>
81 Download MD5 sum: &llvm-md5sum;
82 </para>
83 </listitem>
84 <listitem>
85 <para>
86 Download size: &llvm-size;
87 </para>
88 </listitem>
89 <listitem>
90 <para>
91 Estimated disk space required: &llvm-buildsize;
92 </para>
93 </listitem>
94 <listitem>
95 <para>
96 Estimated build time: &llvm-time;
97 </para>
98 </listitem>
99 </itemizedlist>
100
101 <bridgehead renderas="sect3">Recommended Download</bridgehead>
102 <bridgehead role="recommended" renderas="sect4">Clang</bridgehead>
103 <itemizedlist spacing="compact">
104 <listitem>
105 <para>
106 Download: <ulink url="&clang-download-http;"/>
107 </para>
108 </listitem>
109 <listitem>
110 <para>
111 Download MD5 sum: &clang-md5sum;
112 </para>
113 </listitem>
114 <listitem>
115 <para>
116 Download size: &clang-size;
117 </para>
118 </listitem>
119 </itemizedlist>
120
121 <bridgehead renderas="sect3">Optional Download</bridgehead>
122 <bridgehead role="optional" renderas="sect4">Compiler RT</bridgehead>
123 <itemizedlist spacing="compact">
124 <listitem>
125 <para>
126 Download: <ulink url="&compiler-rt-download-http;"/>
127 </para>
128 </listitem>
129 <listitem>
130 <para>
131 Download MD5 sum: &compiler-rt-md5sum;
132 </para>
133 </listitem>
134 <listitem>
135 <para>
136 Download size: &compiler-rt-size;
137 </para>
138 </listitem>
139 </itemizedlist>
140<!--
141 <itemizedlist spacing="compact">
142 <listitem>
143 <para>
144 Optional patch:
145 <ulink url="&patch-root;/llvm-&llvm-version;-compiler_rt_buildfix-1.patch"/>
146 (required if using compiler-rt)
147 </para>
148 </listitem>
149 </itemizedlist>
150-->
151 <bridgehead renderas="sect3">LLVM Dependencies</bridgehead>
152
153 <bridgehead renderas="sect4">Required</bridgehead>
154 <para role="required">
155 <xref linkend="cmake"/>
156 </para>
157
158 <bridgehead renderas="sect4">Optional</bridgehead>
159 <para role="optional">
160 <xref linkend="doxygen"/>,
161 <xref linkend="git"/>,
162 <xref linkend="graphviz"/>,
163 <xref linkend="libxml2"/>,
164 <xref linkend="pygments"/>,
165 <xref linkend="rsync"/> (for tests),
166 <xref linkend="texlive"/> (or <xref linkend="tl-installer"/>),
167 <xref linkend="valgrind"/>,
168 <xref linkend="PyYAML"/>, <!-- for yaml2obj -->
169 <xref linkend="zip"/>,
170 <ulink url="https://ocaml.org/">OCaml</ulink>,
171 <ulink url="https://pypi.org/project/psutil/">psutil</ulink>,
172 <ulink url="https://pypi.python.org/pypi/recommonmark">recommonmark</ulink>,
173 <ulink url="https://pypi.python.org/pypi/Sphinx">Sphinx</ulink>, and
174 <ulink url="https://github.com/Z3Prover/z3">Z3</ulink>
175 </para>
176
177 <para condition="html" role="usernotes">User Notes:
178 <ulink url="&blfs-wiki;/llvm"/>
179 </para>
180 </sect2>
181
182 <sect2 role="installation">
183 <title>Installation of LLVM</title>
184
185 <para>
186 Install <application>clang</application> into
187 the source tree by running the following commands:
188 </para>
189
190<screen><userinput>tar -xf ../clang-&llvm-version;.src.tar.xz -C tools &amp;&amp;
191mv tools/clang-&llvm-version;.src tools/clang</userinput></screen>
192
193 <para>
194 If you have downloaded <application>compiler-rt</application>,
195 install it into the source tree by running the following commands:
196 </para>
197
198<screen><userinput>tar -xf ../compiler-rt-&llvm-version;.src.tar.xz -C projects &amp;&amp;
199mv projects/compiler-rt-&llvm-version;.src projects/compiler-rt</userinput></screen>
200
201 <para>
202 There are many Python scripts in this package which use
203 <command>/usr/bin/env python</command> to access the system Python
204 which on LFS is <xref linkend="python3"/>. Use the following command
205 to fix these scripts:
206 </para>
207
208<screen><userinput>grep -rl '#!.*python' | xargs sed -i '1s/python$/python3/'</userinput></screen>
209<!--
210 <para>
211 If you have downloaded <application>compiler-rt</application>,
212 fix building it with Linux-5.13.0 by using the following command:
213 </para>
214
215<screen><userinput remap="pre">patch -Np1 -i ../llvm-&llvm-version;-compiler_rt_buildfix-1.patch</userinput></screen>
216-->
217 <para>
218 Install <application>LLVM</application> by running the following
219 commands:
220 </para>
221
222<screen><userinput>mkdir -v build &amp;&amp;
223cd build &amp;&amp;
224
225CC=gcc CXX=g++ \
226cmake -DCMAKE_INSTALL_PREFIX=/usr \
227 -DLLVM_ENABLE_FFI=ON \
228 -DCMAKE_BUILD_TYPE=Release \
229 -DLLVM_BUILD_LLVM_DYLIB=ON \
230 -DLLVM_LINK_LLVM_DYLIB=ON \
231 -DLLVM_ENABLE_RTTI=ON \
232 -DLLVM_TARGETS_TO_BUILD="host;AMDGPU;BPF" \
233 -DLLVM_BINUTILS_INCDIR=/usr/include \
234 -DLLVM_INCLUDE_BENCHMARKS=OFF \
235 -Wno-dev -G Ninja .. &amp;&amp;
236ninja</userinput></screen>
237
238 <para>
239 If you have installed <application>Sphinx</application> and
240 <application>recommonmark</application> and wish
241 to generate the html documentation and manual pages, issue the following
242 commands:
243 </para>
244
245<screen remap="doc"><userinput>cmake -DLLVM_BUILD_DOCS=ON \
246 -DLLVM_ENABLE_SPHINX=ON \
247 -DSPHINX_WARNINGS_AS_ERRORS=OFF \
248 -Wno-dev -G Ninja .. &amp;&amp;
249ninja docs-llvm-html docs-llvm-man</userinput></screen>
250
251 <para>
252 The clang documentation can be built too:
253 </para>
254
255<screen remap="doc"><userinput>ninja docs-clang-html docs-clang-man</userinput></screen>
256
257 <para>
258 <!-- EDITORS - if you have more than 4 cores, take some offline to measure
259 the elapsed time for the tests. Also, libstdc++.a and perhaps libstdc++fs.a
260 are used by a couple of the link-static tests. -->
261 To test the results, issue: <command>ninja check-all</command>. Tests are
262 built with all <emphasis>available</emphasis> cores, but run using the number
263 of <emphasis>online</emphasis> processors. (The difference is that available
264 cores can be limited using <command>taskset</command>, but taking them offline
265 requires echoing 0 to <filename
266 class="directory">/sys/devices/system/cpu/cpu&lt;N&gt;/online</filename>
267 by the <systemitem class="username">root</systemitem> user and makes them
268 temporarily unusable by all jobs on the machine.)
269 Note that 2 of more than 62090 tests (llvm-libtool-darwin/L-and-l.test
270 and ThreadSanitizer-x86_64) are known to fail.
271 </para>
272
273 <para>
274 Now, as the <systemitem class="username">root</systemitem> user:
275 </para>
276
277<screen role="root"><userinput>ninja install</userinput></screen>
278<!-- as of version 13.0.0, the install process seems to install the html
279 documentation and the manual pages. The llvm html documentation
280 is installed into /usr/share/doc/llvm, while the clang html documentation
281 is installed into /usr/doc/clang. So we have just to move it. -->
282 <para>
283 If you have built the llvm documentation, it has been installed
284 by the above command, but it needs to be moved. As the
285 <systemitem class="username">root</systemitem> user:
286 </para>
287
288<screen role="root"
289 remap="doc"><userinput>install -v -d -m755 /usr/share/doc/llvm-&llvm-version; &amp;&amp;
290mv -v /usr/share/doc/llvm/html /usr/share/doc/llvm-&llvm-version;/llvm-html &amp;&amp;
291rmdir -v /usr/share/doc/llvm</userinput></screen>
292
293 <para>
294 If you have built the clang documentation, it has been installed, but
295 needs to be moved too. Again as the
296 <systemitem class="username">root</systemitem> user:
297 </para>
298
299<screen role="root"
300 remap="doc"><userinput>install -v -d -m755 /usr/share/doc/llvm-&llvm-version; &amp;&amp;
301mv -v /usr/share/doc/clang/html /usr/share/doc/llvm-&llvm-version;/clang-html &amp;&amp;
302rmdir -v /usr/share/doc/clang</userinput></screen>
303
304 </sect2>
305
306 <sect2 role="commands">
307 <title>Command Explanations</title>
308
309 <para>
310 <parameter>-DLLVM_ENABLE_FFI=ON</parameter>: This switch allows
311 <application>LLVM</application> to use
312 <application>libffi</application>.
313 </para>
314
315 <para>
316 <parameter>-DLLVM_BUILD_LLVM_DYLIB=ON</parameter>: This switch builds
317 the libraries as static and links all of them into an unique shared one.
318 This is the recommended way of building a shared library.
319 </para>
320
321 <para>
322 <parameter>-DCMAKE_BUILD_TYPE=Release</parameter>: This switch enables
323 compiler optimizations in order to speed up the code and reduce its size.
324 It also disables some compile checks which are not necessary on a
325 production system.
326 </para>
327
328 <para>
329 <parameter>-DLLVM_TARGETS_TO_BUILD="host;AMDGPU;BPF"</parameter>: This
330 switch enables building for the same target as the host, and also for
331 the r600 AMD GPU used by the Mesa r600 and radeonsi drivers. The BPF
332 target is required to build <xref linkend="v4l-utils"/>. The Default is
333 all of the targets. You can use a semicolon separated list. Valid targets
334 are: host, X86, Sparc, PowerPC, ARM, AArch64, Mips, Hexagon, Xcore,
335 M68K, MSP430, NVPTX, SystemZ, AMDGPU, BPF, CppBackend, or all.
336 </para>
337
338 <para>
339 <parameter>-DLLVM_LINK_LLVM_DYLIB=ON</parameter>: Used in conjunction with
340 <parameter>-DLLVM_BUILD_LLVM_DYLIB=ON</parameter>, this switch enables
341 linking the tools against the shared library instead of the static ones.
342 It also slightly reduces their size and also ensures that llvm-config
343 will correctly use libLLVM-&llvm-majmin-version;.so.
344 </para>
345
346 <para>
347 <parameter>-DLLVM_ENABLE_RTTI=ON</parameter>: This switch is used to
348 build LLVM with run-time type information. This is required for building
349 <xref linkend="mesa"/>.
350 </para>
351
352 <para>
353 <parameter>-DLLVM_BINUTILS_INCDIR=/usr/include</parameter>: This switch
354 is used to tell the build system the location of binutils headers,
355 which were installed in LFS. This allows the building of
356 <filename class="libraryfile">LLVMgold.so</filename>, which is needed
357 for building programs with <command>clang</command> and Link Time
358 Optimization (LTO).
359 </para>
360
361 <para>
362 <parameter>-DLLVM_INCLUDE_BENCHMARKS=OFF</parameter>:
363 is used to disable generation build targets for the LLVM
364 benchmarks. This option requires additional code that
365 is not currently available.
366 </para>
367
368 <para>
369 <option>-DBUILD_SHARED_LIBS=ON</option>: if used instead of
370 <parameter>-DLLVM_BUILD_LLVM_DYLIB=ON</parameter> and
371 <parameter>-DLLVM_LINK_LLVM_DYLIB=ON</parameter>, builds all the
372 <application>LLVM</application> libraries (about 60) as shared
373 libraries instead of static.
374 </para>
375
376 <para>
377 <option>-DLLVM_ENABLE_DOXYGEN</option>: Enables the generation of
378 browsable HTML documentation if you have installed <xref
379 linkend="doxygen"/>. You should run <command>make doxygen-html</command>
380 afterwards, and install the generated documentation manually.
381 </para>
382
383 </sect2>
384
385 <sect2 role="content">
386 <title>Contents</title>
387
388 <segmentedlist>
389 <segtitle>Installed Programs</segtitle>
390 <segtitle>Installed Libraries</segtitle>
391 <segtitle>Installed Directories</segtitle>
392
393 <seglistitem>
394 <seg>
395 bugpoint, c-index-test, clang, clang++ (symlinks to
396 clang-&lt;version&gt;), clang-&lt;version&gt;, clang-check, clang-cl,
397 clang-cpp (last two symlinks to clang), clang-extdef-mapping, clang-format,
398 clang-offload-bundler, clang-offload-wrapper,
399 clang-refactor, clang-rename, clang-repl, clang-scan-deps,
400 diagtool, dsymutil, git-clang-format, hmaptool, llc, lli,
401 llvm-addr2line (symlink to llvm-symbolizer),
402 llvm-ar, llvm-as, llvm-bcanalyzer,
403 llvm-bitcode-strip (symlink to llvm-objcopy), llvm-cat,
404 llvm-cfi-verify, llvm-config, llvm-cov, llvm-c-test, llvm-cvtres,
405 llvm-cxxdump, llvm-cxxfilt, llvm-cxxmap,
406 llvm-diff, llvm-dis, llvm-dlltool (symlink to llvm-ar), llvm-dwarfdump,
407 llvm-dwp, llvm-exegenesis, llvm-extract, llvm-gsymutil, llvm-ifs,
408 llvm-install-name-tool (symlink to llvm-objcopy), llvm-jitlink,
409 llvm-lib (symlink to llvm-ar), llvm-libtool-darwin, llvm-link,
410 llvm-lipo, llvm-lto, llvm-lto2, llvm-mc, llvm-mca, llvm-ml,
411 llvm-modextract, llvm-mt, llvm-nm, llvm-objcopy, llvm-objdump,
412 llvm-opt-report, llvm-otool (symlink to llv-objdump),
413 llvm-pdbutil, llvm-profdata, llvm-profgen,
414 llvm-ranlib (symlink to llvm-ar), llvm-rc,
415 llvm-readelf (symlink to llvm-readobj), llvm-readobj, llvm-reduce,
416 llvm-rtdyld, llvm-sim, llvm-size, llvm-split, llvm-stress,
417 llvm-strings, llvm-strip (symlink to llvm-objcopy), llvm-symbolizer,
418 llvm-tapi-diff, llvm-tblgen, llvm-undname, llvm-windres (symlink to
419 llvm-rc, llvm-xray, opt, sancov, sanstats, scan-build,
420 scan-view, split-file, and verify-uselistorder
421 </seg>
422 <seg>
423 libLLVM.so,
424 libLLVM*.a (89 libraries),
425 libLTO.so,
426 libRemarks.so,
427 libclang.so,
428 libclang-cpp.so,
429 libclang*.a (38 libraries),
430 and LLVMgold.so
431 </seg>
432 <seg>
433 /usr/include/{clang,clang-c,llvm,llvm-c},
434 /usr/lib/{clang,cmake/{clang,llvm},libear,libscanbuild},
435 /usr/share/{clang,opt-viewer,scan-build,scan-view}, and
436 /usr/share/doc/llvm-&llvm-version;
437 </seg>
438 </seglistitem>
439 </segmentedlist>
440
441 <variablelist>
442 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
443 <?dbfo list-presentation="list"?>
444 <?dbhtml list-presentation="table"?>
445
446 <varlistentry id="bugpoint">
447 <term><command>bugpoint</command></term>
448 <listitem>
449 <para>
450 is the automatic test case reduction tool
451 </para>
452 <indexterm zone="llvm bugpoint">
453 <primary sortas="b-bugpoint">bugpoint</primary>
454 </indexterm>
455 </listitem>
456 </varlistentry>
457
458 <varlistentry id="c-index-test">
459 <term><command>c-index-test</command></term>
460 <listitem>
461 <para>
462 is used to test the libclang API and demonstrate its usage
463 </para>
464 <indexterm zone="llvm c-index-test">
465 <primary sortas="b-c-index-test">c-index-test</primary>
466 </indexterm>
467 </listitem>
468 </varlistentry>
469
470 <varlistentry id="clang">
471 <term><command>clang</command></term>
472 <listitem>
473 <para>
474 is the <application>Clang</application> C, C++,
475 and Objective-C compiler
476 </para>
477 <indexterm zone="llvm clang">
478 <primary sortas="b-clang">clang</primary>
479 </indexterm>
480 </listitem>
481 </varlistentry>
482
483 <varlistentry id="clang-check">
484 <term><command>clang-check</command></term>
485 <listitem>
486 <para>
487 is a tool to perform static code analysis and display Abstract
488 Syntax Trees (AST)
489 </para>
490 <indexterm zone="llvm clang-check">
491 <primary sortas="b-clang-check">clang-check</primary>
492 </indexterm>
493 </listitem>
494 </varlistentry>
495
496 <varlistentry id="clang-extdef-mapping">
497 <term><command>clang-extdef-mapping</command></term>
498 <listitem>
499 <para>
500 is a tool to collect the USR name and location of external
501 definitions in a source file
502 </para>
503 <indexterm zone="llvm clang-extdef-mapping">
504 <primary sortas="b-clang-extdef-mapping">clang-extdef-mapping</primary>
505 </indexterm>
506 </listitem>
507 </varlistentry>
508
509 <varlistentry id="clang-format">
510 <term><command>clang-format</command></term>
511 <listitem>
512 <para>
513 is a tool to format C/C++/Java/JavaScript/Objective-C/Protobuf
514 code
515 </para>
516 <indexterm zone="llvm clang-format">
517 <primary sortas="b-clang-format">clang-format</primary>
518 </indexterm>
519 </listitem>
520 </varlistentry>
521
522 <!--
523 <varlistentry id="clang-func-mapping">
524 <term><command>clang-func-mapping</command></term>
525 <listitem>
526 <para>
527 collects the name and location of all function definitions in the
528 source files.
529 </para>
530 <indexterm zone="llvm clang-func-mapping">
531 <primary sortas="b-clang-func-mapping">clang-func-mapping</primary>
532 </indexterm>
533 </listitem>
534 </varlistentry>
535-->
536 <varlistentry id="clang-offload-bundler">
537 <term><command>clang-offload-bundler</command></term>
538 <listitem>
539 <para>
540 is a tool to bundle/unbundle OpenMP offloaded files associated with
541 a common source file
542 </para>
543 <indexterm zone="llvm clang-offload-bundler">
544 <primary sortas="b-clang-offload-bundler">clang-offload-bundler</primary>
545 </indexterm>
546 </listitem>
547 </varlistentry>
548
549 <varlistentry id="clang-offload-wrapper">
550 <term><command>clang-offload-wrapper</command></term>
551 <listitem>
552 <para>
553 is a tool to create wrapper bitcode for offload target binaries
554 </para>
555 <indexterm zone="llvm clang-offload-wrapper">
556 <primary sortas="b-clang-offload-wrapper">clang-offload-wrapper</primary>
557 </indexterm>
558 </listitem>
559 </varlistentry>
560
561 <varlistentry id="clang-refactor">
562 <term><command>clang-refactor</command></term>
563 <listitem>
564 <para>
565 is a Clang-based refactoring tool for C, C++ and Objective-C
566 </para>
567 <indexterm zone="llvm clang-refactor">
568 <primary sortas="b-clang-refactor">clang-refactor</primary>
569 </indexterm>
570 </listitem>
571 </varlistentry>
572
573 <varlistentry id="clang-rename">
574 <term><command>clang-rename</command></term>
575 <listitem>
576 <para>
577 is a tool to rename symbols in C/C++ programs
578 </para>
579 <indexterm zone="llvm clang-rename">
580 <primary sortas="b-clang-rename">clang-rename</primary>
581 </indexterm>
582 </listitem>
583 </varlistentry>
584
585 <varlistentry id="clang-scan-deps">
586 <term><command>clang-scan-deps</command></term>
587 <listitem>
588 <para>
589 is a tool to scan for dependencies in a source file
590 </para>
591 <indexterm zone="llvm clang-scan-deps">
592 <primary sortas="b-clang-scan-deps">clang-scan-deps</primary>
593 </indexterm>
594 </listitem>
595 </varlistentry>
596
597 <varlistentry id="diagtool">
598 <term><command>diagtool</command></term>
599 <listitem>
600 <para>
601 is a combination of tools for dealing with diagnostics in clang
602 </para>
603 <indexterm zone="llvm diagtool">
604 <primary sortas="b-diagtool">diagtool</primary>
605 </indexterm>
606 </listitem>
607 </varlistentry>
608
609 <varlistentry id="dsymutil">
610 <term><command>dsymutil</command></term>
611 <listitem>
612 <para>
613 is a tool used to manipulate archived DWARF debug symbol files,
614 compatible with the Darwin command <command>dsymutil</command>
615 </para>
616 <indexterm zone="llvm dsymutil">
617 <primary sortas="b-dsymutil">dsymutil</primary>
618 </indexterm>
619 </listitem>
620 </varlistentry>
621
622 <varlistentry id="git-clang-format">
623 <term><command>git-clang-format</command></term>
624 <listitem>
625 <para>
626 runs clang-format on git generated patches (requires
627 <xref linkend="git"/>)
628 </para>
629 <indexterm zone="llvm git-clang-format">
630 <primary sortas="b-git-clang-format">git-clang-format</primary>
631 </indexterm>
632 </listitem>
633 </varlistentry>
634
635 <varlistentry id="hmaptool">
636 <term><command>hmaptool</command></term>
637 <listitem>
638 <para>
639 is a Python tool to dump and construct header maps
640 </para>
641 <indexterm zone="llvm hmaptool">
642 <primary sortas="b-hmaptool">hmaptool</primary>
643 </indexterm>
644 </listitem>
645 </varlistentry>
646
647 <varlistentry id="llc">
648 <term><command>llc</command></term>
649 <listitem>
650 <para>
651 is the <application>LLVM</application> static compiler
652 </para>
653 <indexterm zone="llvm llc">
654 <primary sortas="b-llc">llc</primary>
655 </indexterm>
656 </listitem>
657 </varlistentry>
658
659 <varlistentry id="lli">
660 <term><command>lli</command></term>
661 <listitem>
662 <para>
663 is used to directly execute programs from
664 <application>LLVM</application> bitcode
665 </para>
666 <indexterm zone="llvm lli">
667 <primary sortas="b-lli">lli</primary>
668 </indexterm>
669 </listitem>
670 </varlistentry>
671
672 <varlistentry id="llvm-addr2line">
673 <term><command>llvm-addr2line</command></term>
674 <listitem>
675 <para>
676 is a tool used to convert addresses into file names and line
677 numbers
678 </para>
679 <indexterm zone="llvm llvm-addr2line">
680 <primary sortas="b-llvm-addr2line">llvm-addr2line</primary>
681 </indexterm>
682 </listitem>
683 </varlistentry>
684
685 <varlistentry id="llvm-ar">
686 <term><command>llvm-ar</command></term>
687 <listitem>
688 <para>
689 is the <application>LLVM</application> archiver
690 </para>
691 <indexterm zone="llvm llvm-ar">
692 <primary sortas="b-llvm-ar">llvm-ar</primary>
693 </indexterm>
694 </listitem>
695 </varlistentry>
696
697 <varlistentry id="llvm-as">
698 <term><command>llvm-as</command></term>
699 <listitem>
700 <para>
701 is the <application>LLVM</application> assembler
702 </para>
703 <indexterm zone="llvm llvm-as">
704 <primary sortas="b-llvm-as">llvm-as</primary>
705 </indexterm>
706 </listitem>
707 </varlistentry>
708
709 <varlistentry id="llvm-bcanalyzer">
710 <term><command>llvm-bcanalyzer</command></term>
711 <listitem>
712 <para>
713 is the <application>LLVM</application> bitcode analyzer
714 </para>
715 <indexterm zone="llvm llvm-bcanalyzer">
716 <primary sortas="b-llvm-bcanalyzer">llvm-bcanalyzer</primary>
717 </indexterm>
718 </listitem>
719 </varlistentry>
720
721 <varlistentry id="llvm-bitcode-strip">
722 <term><command>llvm-bitcode-strip</command></term>
723 <listitem>
724 <para>
725 strips LLVM bitcode from an object
726 </para>
727 <indexterm zone="llvm llvm-bitcode-strip">
728 <primary sortas="b-llvm-bitcode-strip">llvm-bitcode-strip</primary>
729 </indexterm>
730 </listitem>
731 </varlistentry>
732
733 <varlistentry id="llvm-cat">
734 <term><command>llvm-cat</command></term>
735 <listitem>
736 <para>
737 is a tool to concatenate llvm modules
738 </para>
739 <indexterm zone="llvm llvm-cat">
740 <primary sortas="b-llvm-cat">llvm-cat</primary>
741 </indexterm>
742 </listitem>
743 </varlistentry>
744
745 <varlistentry id="llvm-cfi-verify">
746 <term><command>llvm-cfi-verify</command></term>
747 <listitem>
748 <para>
749 identifies whether Control Flow Integrity protects all indirect
750 control flow instructions in the provided object file, DSO, or
751 binary
752 </para>
753 <indexterm zone="llvm llvm-cfi-verify">
754 <primary sortas="b-llvm-cfi-verify">llvm-cfi-verify</primary>
755 </indexterm>
756 </listitem>
757 </varlistentry>
758
759 <varlistentry id="llvm-config">
760 <term><command>llvm-config</command></term>
761 <listitem>
762 <para>
763 Prints <application>LLVM</application> compilation options
764 </para>
765 <indexterm zone="llvm llvm-config">
766 <primary sortas="b-llvm-config">llvm-config</primary>
767 </indexterm>
768 </listitem>
769 </varlistentry>
770
771 <varlistentry id="llvm-cov">
772 <term><command>llvm-cov</command></term>
773 <listitem>
774 <para>
775 is used to emit coverage information
776 </para>
777 <indexterm zone="llvm llvm-cov">
778 <primary sortas="b-llvm-cov">llvm-cov</primary>
779 </indexterm>
780 </listitem>
781 </varlistentry>
782
783 <varlistentry id="llvm-c-test">
784 <term><command>llvm-c-test</command></term>
785 <listitem>
786 <para>
787 is a bytecode disassembler
788 </para>
789 <indexterm zone="llvm llvm-c-test">
790 <primary sortas="b-llvm-c-test">llvm-c-test</primary>
791 </indexterm>
792 </listitem>
793 </varlistentry>
794
795 <varlistentry id="llvm-cvtres">
796 <term><command>llvm-cvtres</command></term>
797 <listitem>
798 <para>
799 is a tool to convert Microsoft resource files to COFF
800 </para>
801 <indexterm zone="llvm llvm-cvtres">
802 <primary sortas="b-llvm-cvtres">llvm-cvtres</primary>
803 </indexterm>
804 </listitem>
805 </varlistentry>
806
807 <varlistentry id="llvm-cxxdump">
808 <term><command>llvm-cxxdump</command></term>
809 <listitem>
810 <para>
811 is used as a C++ ABI Data Dumper
812 </para>
813 <indexterm zone="llvm llvm-cxxdump">
814 <primary sortas="b-llvm-cxxdump">llvm-cxxdump</primary>
815 </indexterm>
816 </listitem>
817 </varlistentry>
818
819 <varlistentry id="llvm-cxxfilt">
820 <term><command>llvm-cxxfilt</command></term>
821 <listitem>
822 <para>
823 is used to demangle C++ symbols in llvm code
824 </para>
825 <indexterm zone="llvm llvm-cxxfilt">
826 <primary sortas="b-llvm-cxxfilt">llvm-cxxfilt</primary>
827 </indexterm>
828 </listitem>
829 </varlistentry>
830
831 <varlistentry id="llvm-cxxmap">
832 <term><command>llvm-cxxmap</command></term>
833 <listitem>
834 <para>
835 is used to remap C++ mangled symbols
836 </para>
837 <indexterm zone="llvm llvm-cxxmap">
838 <primary sortas="b-llvm-cxxmap">llvm-cxxmap</primary>
839 </indexterm>
840 </listitem>
841 </varlistentry>
842
843 <varlistentry id="llvm-diff">
844 <term><command>llvm-diff</command></term>
845 <listitem>
846 <para>
847 is the <application>LLVM</application> structural
848 '<command>diff</command>'
849 </para>
850 <indexterm zone="llvm llvm-diff">
851 <primary sortas="b-llvm-diff">llvm-diff</primary>
852 </indexterm>
853 </listitem>
854 </varlistentry>
855
856 <varlistentry id="llvm-dis">
857 <term><command>llvm-dis</command></term>
858 <listitem>
859 <para>
860 is the <application>LLVM</application> disassembler
861 </para>
862 <indexterm zone="llvm llvm-dis">
863 <primary sortas="b-llvm-dis">llvm-dis</primary>
864 </indexterm>
865 </listitem>
866 </varlistentry>
867
868 <varlistentry id="llvm-dwarfdump">
869 <term><command>llvm-dwarfdump</command></term>
870 <listitem>
871 <para>
872 prints the content of DWARF sections in object files
873 </para>
874 <indexterm zone="llvm llvm-dwarfdump">
875 <primary sortas="b-llvm-dwarfdump">llvm-dwarfdump</primary>
876 </indexterm>
877 </listitem>
878 </varlistentry>
879
880 <varlistentry id="llvm-dwp">
881 <term><command>llvm-dwp</command></term>
882 <listitem>
883 <para>
884 merges split DWARF files
885 </para>
886 <indexterm zone="llvm llvm-dwp">
887 <primary sortas="b-llvm-dwp">llvm-dwp</primary>
888 </indexterm>
889 </listitem>
890 </varlistentry>
891
892 <varlistentry id="llvm-elfabi">
893 <term><command>llvm-elfabi</command></term>
894 <listitem>
895 <para>
896 is used to read information about an ELF binary's ABI
897 </para>
898 <indexterm zone="llvm llvm-elfabi">
899 <primary sortas="b-llvm-elfabi">llvm-elfabi</primary>
900 </indexterm>
901 </listitem>
902 </varlistentry>
903
904 <varlistentry id="llvm-exegesis">
905 <term><command>llvm-exegesis</command></term>
906 <listitem>
907 <para>
908 is a benchmarking tool that uses information available in LLVM to
909 measure host machine instruction characteristics like latency or
910 port decomposition
911 </para>
912 <indexterm zone="llvm llvm-exegesis">
913 <primary sortas="b-llvm-exegesis">llvm-exegesis</primary>
914 </indexterm>
915 </listitem>
916 </varlistentry>
917
918 <varlistentry id="llvm-extract">
919 <term><command>llvm-extract</command></term>
920 <listitem>
921 <para>
922 is used to extract a function from an
923 <application>LLVM</application> module
924 </para>
925 <indexterm zone="llvm llvm-extract">
926 <primary sortas="b-llvm-extract">llvm-extract</primary>
927 </indexterm>
928 </listitem>
929 </varlistentry>
930
931 <varlistentry id="llvm-gsymutil">
932 <term><command>llvm-gsymutil</command></term>
933 <listitem>
934 <para>
935 is used to process GSYM Symbolication Format files which
936 convert memory addresses to function name and source file
937 line. These files are smaller than DWARF or Breakpad files
938 </para>
939 <indexterm zone="llvm llvm-gsymutil">
940 <primary sortas="b-llvm-gsymutil">llvm-gsymutil</primary>
941 </indexterm>
942 </listitem>
943 </varlistentry>
944
945 <varlistentry id="llvm-ifs">
946 <term><command>llvm-ifs</command></term>
947 <listitem>
948 <para>
949 is used to merge interface stubs with object files
950 </para>
951 <indexterm zone="llvm llvm-ifs">
952 <primary sortas="b-llvm-ifs">llvm-ifs</primary>
953 </indexterm>
954 </listitem>
955 </varlistentry>
956
957 <varlistentry id="llvm-install-name-tool">
958 <term><command>llvm-install-name-tool</command></term>
959 <listitem>
960 <para>
961 is used to rewrite load commands into MachO binary format
962 </para>
963 <indexterm zone="llvm llvm-install-name-tool">
964 <primary sortas="b-llvm-install-name-tool">llvm-install-name-tool</primary>
965 </indexterm>
966 </listitem>
967 </varlistentry>
968
969 <varlistentry id="llvm-jitlink">
970 <term><command>llvm-jitlink</command></term>
971 <listitem>
972 <para>
973 is used to parse relocatable object files to make their contents
974 executable in a target process
975 </para>
976 <indexterm zone="llvm llvm-jitlink">
977 <primary sortas="b-llvm-jitlink">llvm-jitlink</primary>
978 </indexterm>
979 </listitem>
980 </varlistentry>
981
982 <varlistentry id="llvm-libtool-darwin">
983 <term><command>llvm-libtool-darwin</command></term>
984 <listitem>
985 <para>
986 provides basic libtool functionality on Darwin-based systems.
987 This is mostly useful if you are generating binaries for macOS
988 systems
989 </para>
990 <indexterm zone="llvm llvm-libtool-darwin">
991 <primary sortas="b-llvm-libtool-darwin">llvm-libtool-darwin</primary>
992 </indexterm>
993 </listitem>
994 </varlistentry>
995
996 <varlistentry id="llvm-link">
997 <term><command>llvm-link</command></term>
998 <listitem>
999 <para>
1000 is the <application>LLVM</application> linker
1001 </para>
1002 <indexterm zone="llvm llvm-link">
1003 <primary sortas="b-llvm-link">llvm-link</primary>
1004 </indexterm>
1005 </listitem>
1006 </varlistentry>
1007
1008 <varlistentry id="llvm-lipo">
1009 <term><command>llvm-lipo</command></term>
1010 <listitem>
1011 <para>
1012 is used to create universal binaries from MachO files
1013 </para>
1014 <indexterm zone="llvm llvm-lipo">
1015 <primary sortas="b-llvm-lipo">llvm-lipo</primary>
1016 </indexterm>
1017 </listitem>
1018 </varlistentry>
1019
1020 <varlistentry id="llvm-lto">
1021 <term><command>llvm-lto</command></term>
1022 <listitem>
1023 <para>
1024 is the <application>LLVM</application> LTO (link time optimization)
1025 linker
1026 </para>
1027 <indexterm zone="llvm llvm-lto">
1028 <primary sortas="b-llvm-lto">llvm-lto</primary>
1029 </indexterm>
1030 </listitem>
1031 </varlistentry>
1032
1033 <varlistentry id="llvm-lto2">
1034 <term><command>llvm-lto2</command></term>
1035 <listitem>
1036 <para>
1037 is a test harness for the resolution based LTO interface
1038 </para>
1039 <indexterm zone="llvm llvm-lto2">
1040 <primary sortas="b-llvm-lto2">llvm-lto2</primary>
1041 </indexterm>
1042 </listitem>
1043 </varlistentry>
1044
1045 <varlistentry id="llvm-mc">
1046 <term><command>llvm-mc</command></term>
1047 <listitem>
1048 <para>
1049 is a standalone machine code assembler/disassembler
1050 </para>
1051 <indexterm zone="llvm llvm-mc">
1052 <primary sortas="b-llvm-mc">llvm-mc</primary>
1053 </indexterm>
1054 </listitem>
1055 </varlistentry>
1056
1057 <varlistentry id="llvm-mca">
1058 <term><command>llvm-mca</command></term>
1059 <listitem>
1060 <para>
1061 is a performance analysis tool to statically measure the
1062 performance of machine code
1063 </para>
1064 <indexterm zone="llvm llvm-mca">
1065 <primary sortas="b-llvm-mca">llvm-mca</primary>
1066 </indexterm>
1067 </listitem>
1068 </varlistentry>
1069
1070<!-- <varlistentry id="llvm-mcmarkup">
1071 <term><command>llvm-mcmarkup</command></term>
1072 <listitem>
1073 <para>
1074 is a parser for machine code markup.
1075 </para>
1076 <indexterm zone="llvm llvm-mcmarkup">
1077 <primary sortas="b-llvm-mcmarkup">llvm-mcmarkup</primary>
1078 </indexterm>
1079 </listitem>
1080 </varlistentry>-->
1081
1082 <varlistentry id="llvm-ml">
1083 <term><command>llvm-ml</command></term>
1084 <listitem>
1085 <para>
1086 is a playground for machine code provided by LLVM
1087 </para>
1088 <indexterm zone="llvm llvm-ml">
1089 <primary sortas="b-llvm-ml">llvm-ml</primary>
1090 </indexterm>
1091 </listitem>
1092 </varlistentry>
1093
1094 <varlistentry id="llvm-modextract">
1095 <term><command>llvm-modextract</command></term>
1096 <listitem>
1097 <para>
1098 is a tool to extract one module from multimodule bitcode files
1099 </para>
1100 <indexterm zone="llvm llvm-modextract">
1101 <primary sortas="b-llvm-modextract">llvm-modextract</primary>
1102 </indexterm>
1103 </listitem>
1104 </varlistentry>
1105
1106 <varlistentry id="llvm-mt">
1107 <term><command>llvm-mt</command></term>
1108 <listitem>
1109 <para>
1110 is a tool to generate signed files and catalogs from a
1111 side-by-side assembly manifest (used for Microsoft SDK)
1112 </para>
1113 <indexterm zone="llvm llvm-mt">
1114 <primary sortas="b-llvm-mt">llvm-mt</primary>
1115 </indexterm>
1116 </listitem>
1117 </varlistentry>
1118
1119 <varlistentry id="llvm-nm">
1120 <term><command>llvm-nm</command></term>
1121 <listitem>
1122 <para>
1123 is used to list <application>LLVM</application> bitcode
1124 and object file's symbol table
1125 </para>
1126 <indexterm zone="llvm llvm-nm">
1127 <primary sortas="b-llvm-nm">llvm-nm</primary>
1128 </indexterm>
1129 </listitem>
1130 </varlistentry>
1131
1132 <varlistentry id="llvm-objcopy">
1133 <term><command>llvm-objcopy</command></term>
1134 <listitem>
1135 <para>
1136 is LLVM's version of an objcopy tool
1137 </para>
1138 <indexterm zone="llvm llvm-objcopy">
1139 <primary sortas="b-llvm-objcopy">llvm-objcopy</primary>
1140 </indexterm>
1141 </listitem>
1142 </varlistentry>
1143
1144 <varlistentry id="llvm-objdump">
1145 <term><command>llvm-objdump</command></term>
1146 <listitem>
1147 <para>
1148 is an <application>LLVM</application> object file dumper
1149 </para>
1150 <indexterm zone="llvm llvm-objdump">
1151 <primary sortas="b-llvm-objdump">llvm-objdump</primary>
1152 </indexterm>
1153 </listitem>
1154 </varlistentry>
1155
1156 <varlistentry id="llvm-opt-report">
1157 <term><command>llvm-opt-report</command></term>
1158 <listitem>
1159 <para>
1160 is a tool to generate an optimization report from YAML optimization
1161 record files
1162 </para>
1163 <indexterm zone="llvm llvm-opt-report">
1164 <primary sortas="b-llvm-opt-report">llvm-opt-report</primary>
1165 </indexterm>
1166 </listitem>
1167 </varlistentry>
1168
1169 <varlistentry id="llvm-pdbutil">
1170 <term><command>llvm-pdbutil</command></term>
1171 <listitem>
1172 <para>
1173 is a PDB (Program Database) dumper. PDB is a Microsoft format
1174 </para>
1175 <indexterm zone="llvm llvm-pdbutil">
1176 <primary sortas="b-llvm-pdbutil">llvm-pdbutil</primary>
1177 </indexterm>
1178 </listitem>
1179 </varlistentry>
1180
1181 <varlistentry id="llvm-profdata">
1182 <term><command>llvm-profdata</command></term>
1183 <listitem>
1184 <para>
1185 is a small tool to manipulate and print profile data files
1186 </para>
1187 <indexterm zone="llvm llvm-profdata">
1188 <primary sortas="b-llvm-profdata">llvm-profdata</primary>
1189 </indexterm>
1190 </listitem>
1191 </varlistentry>
1192
1193 <varlistentry id="llvm-profgen">
1194 <term><command>llvm-profgen</command></term>
1195 <listitem>
1196 <para>
1197 generates LLVM SPGO profiling information
1198 </para>
1199 <indexterm zone="llvm llvm-profgen">
1200 <primary sortas="b-llvm-profgen">llvm-profgen</primary>
1201 </indexterm>
1202 </listitem>
1203 </varlistentry>
1204
1205 <varlistentry id="llvm-ranlib">
1206 <term><command>llvm-ranlib</command></term>
1207 <listitem>
1208 <para>
1209 is used to generate an index for a <application>LLVM</application>
1210 archive
1211 </para>
1212 <indexterm zone="llvm llvm-ranlib">
1213 <primary sortas="b-llvm-ranlib">llvm-ranlib</primary>
1214 </indexterm>
1215 </listitem>
1216 </varlistentry>
1217
1218 <varlistentry id="llvm-rc">
1219 <term><command>llvm-rc</command></term>
1220 <listitem>
1221 <para>
1222 is a platform-independent tool to compile resource scripts
1223 into binary resource files
1224 </para>
1225 <indexterm zone="llvm llvm-rc">
1226 <primary sortas="b-llvm-rc">llvm-rc</primary>
1227 </indexterm>
1228 </listitem>
1229 </varlistentry>
1230
1231 <varlistentry id="llvm-readobj">
1232 <term><command>llvm-readobj</command></term>
1233 <listitem>
1234 <para>
1235 displays low-level format-specific information about object files
1236 </para>
1237 <indexterm zone="llvm llvm-readobj">
1238 <primary sortas="b-llvm-readobj">llvm-readobj</primary>
1239 </indexterm>
1240 </listitem>
1241 </varlistentry>
1242
1243 <varlistentry id="llvm-reduce">
1244 <term><command>llvm-reduce</command></term>
1245 <listitem>
1246 <para>
1247 is used to automatically reduce testcases
1248 when running a test suite
1249 </para>
1250 <indexterm zone="llvm llvm-reduce">
1251 <primary sortas="b-llvm-reduce">llvm-reduce</primary>
1252 </indexterm>
1253 </listitem>
1254 </varlistentry>
1255
1256 <varlistentry id="llvm-rtdyld">
1257 <term><command>llvm-rtdyld</command></term>
1258 <listitem>
1259 <para>
1260 is the <application>LLVM</application> MC-JIT tool
1261 </para>
1262 <indexterm zone="llvm llvm-rtdyld">
1263 <primary sortas="b-llvm-rtdyld">llvm-rtdyld</primary>
1264 </indexterm>
1265 </listitem>
1266 </varlistentry>
1267
1268 <varlistentry id="llvm-size">
1269 <term><command>llvm-size</command></term>
1270 <listitem>
1271 <para>
1272 is the <application>LLVM</application> object size dumper
1273 </para>
1274 <indexterm zone="llvm llvm-size">
1275 <primary sortas="b-llvm-size">llvm-size</primary>
1276 </indexterm>
1277 </listitem>
1278 </varlistentry>
1279
1280 <varlistentry id="llvm-split">
1281 <term><command>llvm-split</command></term>
1282 <listitem>
1283 <para>
1284 is the <application>LLVM</application> module splitter
1285 </para>
1286 <indexterm zone="llvm llvm-split">
1287 <primary sortas="b-llvm-split">llvm-split</primary>
1288 </indexterm>
1289 </listitem>
1290 </varlistentry>
1291
1292 <varlistentry id="llvm-stress">
1293 <term><command>llvm-stress</command></term>
1294 <listitem>
1295 <para>
1296 is used to generate random
1297 <filename class="extension">.ll</filename> files
1298 </para>
1299 <indexterm zone="llvm llvm-stress">
1300 <primary sortas="b-llvm-stress">llvm-stress</primary>
1301 </indexterm>
1302 </listitem>
1303 </varlistentry>
1304
1305 <varlistentry id="llvm-strings">
1306 <term><command>llvm-strings</command></term>
1307 <listitem>
1308 <para>
1309 print strings found in a binary (object file, executable, or
1310 archive library)
1311 </para>
1312 <indexterm zone="llvm llvm-strings">
1313 <primary sortas="b-llvm-strings">llvm-strings</primary>
1314 </indexterm>
1315 </listitem>
1316 </varlistentry>
1317
1318 <varlistentry id="llvm-symbolizer">
1319 <term><command>llvm-symbolizer</command></term>
1320 <listitem>
1321 <para>
1322 converts adresses into source code locations
1323 </para>
1324 <indexterm zone="llvm llvm-symbolizer">
1325 <primary sortas="b-llvm-symbolizer">llvm-symbolizer</primary>
1326 </indexterm>
1327 </listitem>
1328 </varlistentry>
1329
1330 <varlistentry id="llvm-tblgen">
1331 <term><command>llvm-tblgen</command></term>
1332 <listitem>
1333 <para>
1334 is the <application>LLVM</application> Target Description
1335 To C++ Code Generator
1336 </para>
1337 <indexterm zone="llvm llvm-tblgen">
1338 <primary sortas="b-llvm-tblgen">llvm-tblgen</primary>
1339 </indexterm>
1340 </listitem>
1341 </varlistentry>
1342
1343 <varlistentry id="llvm-undname">
1344 <term><command>llvm-undname</command></term>
1345 <listitem>
1346 <para>
1347 is a tool to demangle names
1348 </para>
1349 <indexterm zone="llvm llvm-undname">
1350 <primary sortas="b-llvm-undname">llvm-undname</primary>
1351 </indexterm>
1352 </listitem>
1353 </varlistentry>
1354
1355 <varlistentry id="llvm-xray">
1356 <term><command>llvm-xray</command></term>
1357 <listitem>
1358 <para>
1359 is an implementation of Google's XRay function call tracing system
1360 </para>
1361 <indexterm zone="llvm llvm-xray">
1362 <primary sortas="b-llvm-xray">llvm-xray</primary>
1363 </indexterm>
1364 </listitem>
1365 </varlistentry>
1366
1367<!--
1368 <varlistentry id="obj2yaml">
1369 <term><command>obj2yaml</command></term>
1370 <listitem>
1371 <para>
1372 takes an object file, and produces a YAML representation of the
1373 file
1374 </para>
1375 <indexterm zone="llvm obj2yaml">
1376 <primary sortas="b-obj2yaml">obj2yaml</primary>
1377 </indexterm>
1378 </listitem>
1379 </varlistentry>
1380-->
1381
1382 <varlistentry id="opt">
1383 <term><command>opt</command></term>
1384 <listitem>
1385 <para>
1386 is the <application>LLVM</application> optimizer
1387 </para>
1388 <indexterm zone="llvm opt">
1389 <primary sortas="b-opt">opt</primary>
1390 </indexterm>
1391 </listitem>
1392 </varlistentry>
1393
1394 <varlistentry id="sancov">
1395 <term><command>sancov</command></term>
1396 <listitem>
1397 <para>
1398 is the sanitizer coverage processing tool
1399 </para>
1400 <indexterm zone="llvm sancov">
1401 <primary sortas="b-sancov">sancov</primary>
1402 </indexterm>
1403 </listitem>
1404 </varlistentry>
1405
1406 <varlistentry id="sanstats">
1407 <term><command>sanstats</command></term>
1408 <listitem>
1409 <para>
1410 is the sanitizer statistics processing tool
1411 </para>
1412 <indexterm zone="llvm sanstats">
1413 <primary sortas="b-sanstats">sanstats</primary>
1414 </indexterm>
1415 </listitem>
1416 </varlistentry>
1417
1418 <varlistentry id="scan-build">
1419 <term><command>scan-build</command></term>
1420 <listitem>
1421 <para>
1422 is a <application>Perl</application> script that invokes the
1423 <application>Clang</application> static analyzer
1424 </para>
1425 <indexterm zone="llvm scan-build">
1426 <primary sortas="b-scan-build">scan-build</primary>
1427 </indexterm>
1428 </listitem>
1429 </varlistentry>
1430
1431 <varlistentry id="scan-view">
1432 <term><command>scan-view</command></term>
1433 <listitem>
1434 <para>
1435 is a viewer for <application>Clang</application> static analyzer
1436 results
1437 </para>
1438 <indexterm zone="llvm scan-view">
1439 <primary sortas="b-scan-view">scan-view</primary>
1440 </indexterm>
1441 </listitem>
1442 </varlistentry>
1443
1444 <varlistentry id="split-file">
1445 <term><command>split-file</command></term>
1446 <listitem>
1447 <para>
1448 splits an input file into multiple parts separated by regex
1449 </para>
1450 <indexterm zone="llvm split-file">
1451 <primary sortas="b-split-file">split-file</primary>
1452 </indexterm>
1453 </listitem>
1454 </varlistentry>
1455
1456 <varlistentry id="verify-uselistorder">
1457 <term><command>verify-uselistorder</command></term>
1458 <listitem>
1459 <para>
1460 is the <application>LLVM</application> tool to verify use-list
1461 order
1462 </para>
1463 <indexterm zone="llvm verify-uselistorder">
1464 <primary sortas="b-verify-uselistorder">verify-uselistorder</primary>
1465 </indexterm>
1466 </listitem>
1467 </varlistentry>
1468
1469<!-- Removed in 12.0.0
1470 <varlistentry id="yaml2obj">
1471 <term><command>yaml2obj</command></term>
1472 <listitem>
1473 <para>
1474 takes a YAML representation of an object file and converts it
1475 to a binary file
1476 </para>
1477 <indexterm zone="llvm yaml2obj">
1478 <primary sortas="b-yaml2obj">yaml2obj</primary>
1479 </indexterm>
1480 </listitem>
1481 </varlistentry>
1482-->
1483<!--
1484 <varlistentry id="libllvm">
1485 <term><filename class="libraryfile">libLLVM-&llvm-version;.so</filename></term>
1486 <listitem>
1487 <para>
1488 contains the <application>LLVM</application> API functions.
1489 </para>
1490 <indexterm zone="llvm libllvm">
1491 <primary sortas="c-libllvm">libLLVM-&llvm-version;.so</primary>
1492 </indexterm>
1493 </listitem>
1494 </varlistentry>
1495
1496 <varlistentry id="libprofile_rt">
1497 <term><filename class="libraryfile">libprofile_rt.so</filename></term>
1498 <listitem>
1499 <para>
1500 is the C, C++ and Objective-C runtime library for
1501 <application>Clang</application>.
1502 </para>
1503 <indexterm zone="llvm libprofile_rt">
1504 <primary sortas="c-libprofile_rt">libprofile_rt.so</primary>
1505 </indexterm>
1506 </listitem>
1507 </varlistentry>-->
1508
1509 </variablelist>
1510
1511 </sect2>
1512
1513</sect1>
Note: See TracBrowser for help on using the repository browser.