source: general/prog/llvm.xml@ 24b16275

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 xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 24b16275 was 24b16275, checked in by Bruce Dubbs <bdubbs@…>, 2 years ago

Package updates.
Update to tk8.6.12.
Update to mercurial-6.0.2.
Update to llvm-13.0.1.

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