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

11.1 lazarus qt5new trunk upgradedb xry111/intltool xry111/test-20220226
Last change on this file since 3e8c126 was 3e8c126, checked in by Pierre Labastie <pierre.labastie@…>, 8 months ago

Updates and a fix:

Update to LLVM-13.0.0
Update to rustc-1.56.0
Fix Seamonkey to build with the new version of rust

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