source: general/prog/llvm.xml@ 2b8c048

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 2b8c048 was 2b8c048, checked in by Ken Moffat <ken@…>, 3 years ago

Clang requires git.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@24349 af4574ff-66df-0310-9fd7-8a98e5e911e0

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