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

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 3e8c126 was 3e8c126, checked in by Pierre Labastie <pierre.labastie@…>, 2 years ago

Updates and a fix:

Update to LLVM-13.0.0
Update to rustc-1.56.0
Fix Seamonkey to build with the new version of rust

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