source: general/prog/llvm.xml@ 09cf41d5

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 xry111/llvm18 xry111/soup3 xry111/xf86-video-removal
Last change on this file since 09cf41d5 was f520db9, checked in by Bruce Dubbs <bdubbs@…>, 2 years ago

Update to llvm-14.0.1.

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