source: general/prog/llvm.xml@ c3d04c0

11.0 11.1 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 upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since c3d04c0 was 599c6d0, checked in by Douglas R. Reno <renodr@…>, 3 years ago

Update to llvm-12.0.0

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