source: general/prog/llvm.xml@ eb524c0

10.1 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 eb524c0 was eb524c0, checked in by Pierre Labastie <pieere@…>, 3 years ago

Fix llvm md5

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