source: general/prog/llvm.xml@ bf5fb94

10.1 11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since bf5fb94 was bf5fb94, checked in by Ken Moffat <ken@…>, 4 years ago

Update to llvm-11.0.0 and rustc-1.47.0.

Patch firefox and thunderbird for this version of rust.
Remeasure all packages which use rust -
I think I used an out of date mozconfig when I updated thunderbird.
In general, builds are slower and slightly larger, but installs are marginally smaller.

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

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