source: general/prog/llvm.xml@ 6ccde29

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 xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 6ccde29 was 7975c68a, checked in by Pierre Labastie <pierre.labastie@…>, 3 years ago

A few typos/formatting fix

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