source: general/prog/llvm.xml@ 45ab6c7

11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 45ab6c7 was 45ab6c7, checked in by Xi Ruoyao <xry111@…>, 3 years ago

more SVN prop clean up

Remove "$LastChanged$" everywhere, and also some unused $Date$

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