source: general/prog/llvm.xml@ 3ffc0fc

11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 3ffc0fc was 08c7ccd, checked in by Pierre Labastie <pierre.labastie@…>, 20 months ago

Fix alphabetical order in glossary

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