source: general/prog/llvm.xml@ 8c415ea

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 8c415ea was 8c415ea, checked in by Douglas R. Reno <renodr@…>, 2 years ago

Tags

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