source: general/prog/llvm.xml@ 5ff8c3a

11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/soup3 xry111/xf86-video-removal
Last change on this file since 5ff8c3a was ecc2386, checked in by Douglas R. Reno <renodr@…>, 20 months ago

libevent: Typo fix
llvm: Document new test failures
Tags

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