source: general/prog/llvm.xml@ 005af62c

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 005af62c was 005af62c, checked in by Pierre Labastie <pieere@…>, 4 years ago

Fix clang source rename in llvm

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

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