source: general/prog/llvm.xml@ 16a24a4

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 16a24a4 was 16a24a4, checked in by Pierre Labastie <pierre.labastie@…>, 22 months ago

Fix compiler-rt md5

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