source: general/prog/llvm.xml@ 7863cf6

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 7863cf6 was 7863cf6, checked in by Bruce Dubbs <bdubbs@…>, 3 years ago

Update to llvm-12.0.1.

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