source: general/prog/llvm.xml@ 60ddbaf

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt perl-modules 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 60ddbaf was 60ddbaf, checked in by Bruce Dubbs <bdubbs@…>, 7 years ago

Remove ninja, libffi, and python3 as dependencies
for many packages as they are now a part of LFS.

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

  • Property mode set to 100644
File size: 35.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
[a6221fd]7 <!ENTITY llvm-download-http "http://llvm.org/releases/&llvm-version;/llvm-&llvm-version;.src.tar.xz">
[abdc2e6]8 <!ENTITY llvm-download-ftp " ">
[b7a300f7]9 <!ENTITY llvm-md5sum "5ce9c5ad55243347ea0fdb4c16754be0">
10 <!ENTITY llvm-size "22 MB">
11 <!ENTITY llvm-buildsize "2.9 GB (with Clang, add 8.9 GB for tests)">
12 <!ENTITY llvm-time "25 SBU (with Clang and parallelism=4, add 9 SBU for tests)">
[a6221fd]13
14 <!ENTITY clang-download-http "http://llvm.org/releases/&llvm-version;/cfe-&llvm-version;.src.tar.xz">
[b7a300f7]15 <!ENTITY clang-md5sum "699c448c6d6d0edb693c87beb1cc8c6e">
[47888b9]16 <!ENTITY clang-size "11 MB">
[a6221fd]17
18 <!ENTITY rt-version "&llvm-version;">
19 <!ENTITY compiler-rt-download-http "http://llvm.org/releases/&rt-version;/compiler-rt-&rt-version;.src.tar.xz">
[b7a300f7]20 <!ENTITY compiler-rt-md5sum "da735894133589cbc6052c8ef06b1230">
[47888b9]21 <!ENTITY compiler-rt-size "1.4 MB">
[7b74537e]22]>
23
[abdc2e6]24<sect1 id="llvm" xreflabel="LLVM-&llvm-version;">
[7b74537e]25 <?dbhtml filename="llvm.html" ?>
26
27 <sect1info>
28 <othername>$LastChangedBy$</othername>
29 <date>$Date$</date>
30 </sect1info>
31
32 <title>LLVM-&llvm-version;</title>
33
34 <indexterm zone="llvm">
35 <primary sortas="a-LLVM">LLVM</primary>
36 </indexterm>
37
38 <sect2 role="package">
39 <title>Introduction to LLVM</title>
40
[abdc2e6]41 <para>
[a6221fd]42 The <application>LLVM</application> package contains a collection of
43 modular and reusable compiler and toolchain technologies. The Low Level
44 Virtual Machine (LLVM) Core libraries provide a modern source and
45 target-independent optimizer, along with code generation support for many
46 popular CPUs (as well as some less common ones!). These libraries are
47 built around a well specified code representation known as the LLVM
48 intermediate representation ("LLVM IR").
[abdc2e6]49 </para>
[f36bebcd]50
[abdc2e6]51 <para>
[a6221fd]52 The optional <application>Clang</application> and <application>Compiler
[43d840ed]53 RT</application> packages provide new C, C++, Objective C and Objective
[a6221fd]54 C++ front-ends and runtime libraries for the
55 <application>LLVM</application>.
[abdc2e6]56 </para>
[7b74537e]57
[a6d167b9]58 &lfs81_checked;
[7b74537e]59
60 <bridgehead renderas="sect3">Package Information</bridgehead>
61 <itemizedlist spacing="compact">
62 <listitem>
[abdc2e6]63 <para>
64 Download (HTTP): <ulink url="&llvm-download-http;"/>
65 </para>
[7b74537e]66 </listitem>
67 <listitem>
[abdc2e6]68 <para>
69 Download (FTP): <ulink url="&llvm-download-ftp;"/>
70 </para>
[7b74537e]71 </listitem>
72 <listitem>
[abdc2e6]73 <para>
74 Download MD5 sum: &llvm-md5sum;
75 </para>
[7b74537e]76 </listitem>
77 <listitem>
[abdc2e6]78 <para>
79 Download size: &llvm-size;
80 </para>
[7b74537e]81 </listitem>
82 <listitem>
[abdc2e6]83 <para>
84 Estimated disk space required: &llvm-buildsize;
85 </para>
[7b74537e]86 </listitem>
87 <listitem>
[abdc2e6]88 <para>
89 Estimated build time: &llvm-time;
90 </para>
[7b74537e]91 </listitem>
92 </itemizedlist>
93
[abdc2e6]94 <bridgehead renderas="sect3">Optional Downloads</bridgehead>
[f36bebcd]95
[70251fc]96 <bridgehead renderas="sect4">Clang</bridgehead>
97 <itemizedlist spacing="compact">
98 <listitem>
99 <para>
100 Download: <ulink url="&clang-download-http;"/>
101 </para>
102 </listitem>
103 <listitem>
104 <para>
105 Download MD5 sum: &clang-md5sum;
106 </para>
107 </listitem>
108 <listitem>
109 <para>
110 Download size: &clang-size;
111 </para>
112 </listitem>
113 </itemizedlist>
114
115 <bridgehead renderas="sect4">Compiler RT</bridgehead>
116 <itemizedlist spacing="compact">
117 <listitem>
118 <para>
119 Download: <ulink url="&compiler-rt-download-http;"/>
120 </para>
121 </listitem>
122 <listitem>
123 <para>
124 Download MD5 sum: &compiler-rt-md5sum;
125 </para>
126 </listitem>
127 <listitem>
128 <para>
129 Download size: &compiler-rt-size;
130 </para>
131 </listitem>
132 </itemizedlist>
[1f44775e]133
[b7a300f7]134<!-- <itemizedlist spacing="compact">
[a6d167b9]135 <listitem>
136 <para>
137 Optional patch:
138 <ulink url="&patch-root;/compiler-rt-4.0.1-glibc-2.26-1.patch"/>
139 (required if using compiler-rt)
140 </para>
141 </listitem>
142 </itemizedlist>
[b7a300f7]143-->
[7b74537e]144 <bridgehead renderas="sect3">LLVM Dependencies</bridgehead>
145
[7b3f441]146 <!-- cmake is now required -->
147 <bridgehead renderas="sect4">Required</bridgehead>
148 <para role="required">
149 <xref linkend="cmake"/>
150 </para>
151
152
[f36bebcd]153 <bridgehead renderas="sect4">Recommended</bridgehead>
154 <para role="recommended">
[70251fc]155 <xref linkend="python2"/>
[f36bebcd]156 </para>
157
[7b74537e]158 <bridgehead renderas="sect4">Optional</bridgehead>
159 <para role="optional">
[abdc2e6]160 <xref linkend="doxygen"/>,
161 <xref linkend="graphviz"/>,
162 <xref linkend="libxml2"/>,
[2d98031c]163 <xref linkend="texlive"/> (or <xref linkend="tl-installer"/>),
[a6221fd]164 <xref linkend="valgrind"/>,
[abdc2e6]165 <xref linkend="zip"/>,
[a6221fd]166 <ulink url="http://www.ocaml.org/">OCaml</ulink>, and
[8dfc5c3]167 <ulink url="https://pypi.python.org/pypi/Sphinx">Sphinx</ulink>
[7b74537e]168 </para>
169
170 <para condition="html" role="usernotes">User Notes:
[abdc2e6]171 <ulink url="&blfs-wiki;/llvm"/>
172 </para>
[7b74537e]173 </sect2>
174
175 <sect2 role="installation">
176 <title>Installation of LLVM</title>
177
[abdc2e6]178 <para>
179 If you have downloaded the optional packages, install them into
180 the source tree by running the following commands:
181 </para>
[f36bebcd]182
[097fd436]183<screen><userinput>tar -xf ../cfe-&llvm-version;.src.tar.xz -C tools &amp;&amp;
184tar -xf ../compiler-rt-&rt-version;.src.tar.xz -C projects &amp;&amp;
[f36bebcd]185
[7e16699b]186mv tools/cfe-&llvm-version;.src tools/clang &amp;&amp;
[b7a300f7]187mv projects/compiler-rt-&rt-version;.src projects/compiler-rt</userinput></screen>
188<!--
189patch -Np1 -d projects/compiler-rt &lt; ../compiler-rt-4.0.1-glibc-2.26-1.patch</userinput></screen>-->
[bd4f0143]190
[abdc2e6]191 <para>
192 Install <application>LLVM</application> by running the following
193 commands:
194 </para>
195
[3349c8e]196<screen><userinput>mkdir -v build &amp;&amp;
[b3b7e36]197cd build &amp;&amp;
198
[3349c8e]199CC=gcc CXX=g++ \
200cmake -DCMAKE_INSTALL_PREFIX=/usr \
201 -DLLVM_ENABLE_FFI=ON \
202 -DCMAKE_BUILD_TYPE=Release \
[4e845a4]203 -DLLVM_BUILD_LLVM_DYLIB=ON \
[3349c8e]204 -DLLVM_TARGETS_TO_BUILD="host;AMDGPU" \
205 -Wno-dev .. &amp;&amp;
[7b74537e]206make</userinput></screen>
207
[abdc2e6]208 <para>
209 If you have installed <application>Sphinx</application> and wish
[3349c8e]210 to generate the html documentation and manual pages, issue the
211 following commands:
[abdc2e6]212 </para>
[3349c8e]213<screen><userinput>cmake -DLLVM_ENABLE_SPHINX=ON \
214 -DSPHINX_WARNINGS_AS_ERRORS=OFF \
215 -Wno-dev .. &amp;&amp;
216make docs-llvm-html docs-llvm-man</userinput></screen>
[abdc2e6]217 <para>
[3349c8e]218 If you have downloaded the optional packages, the clang documentation
219 can be built too:
220 </para>
221<screen><userinput>make docs-clang-html docs-clang-man</userinput></screen>
222 <para>
[b4c31a6]223 To test the results, issue: <command>make check-all</command>. Tests are
224 run using the maximum number of processors/threads available.
[b7a300f7]225 Note that the Address Sanitizer tests are known to fail.
226<!-- Still true for v 5.0.0 -->
[abdc2e6]227 </para>
[7b74537e]228
[abdc2e6]229 <para>
230 Now, as the <systemitem class="username">root</systemitem> user:
231 </para>
[7b74537e]232
[3349c8e]233<screen role="root"><userinput>make install</userinput></screen>
[70251fc]234
[3349c8e]235 <para>
236 If you have built the documentation, install it by running the
237 following command as the <systemitem class="username">root</systemitem>
238 user:
239 </para>
240
241<screen role="root"><userinput>install -v -m644 docs/man/* /usr/share/man/man1 &amp;&amp;
242install -v -d -m755 /usr/share/doc/llvm-&llvm-version;/llvm-html &amp;&amp;
243cp -Rv docs/html/* /usr/share/doc/llvm-&llvm-version;/llvm-html</userinput></screen>
[7b74537e]244
[abdc2e6]245 <para>
[6c322a4]246 The clang documentation can be installed in the same way (again as the
[3349c8e]247 <systemitem class="username">root</systemitem> user):
[abdc2e6]248 </para>
249
[3349c8e]250<screen role="root"><userinput>install -v -m644 tools/clang/docs/man/* /usr/share/man/man1 &amp;&amp;
251install -v -d -m755 /usr/share/doc/llvm-&llvm-version;/clang-html &amp;&amp;
252cp -Rv tools/clang/docs/html/* /usr/share/doc/llvm-&llvm-version;/clang-html</userinput></screen>
[7b74537e]253
254 </sect2>
[abdc2e6]255
[5889b252]256 <sect2 role="commands">
257 <title>Command Explanations</title>
258
259 <para>
[f1d7196]260 <parameter>-DLLVM_ENABLE_FFI=ON</parameter>: This switch enables
[5889b252]261 <application>LLVM</application> to use
262 <application>libffi</application>. Remove if you did not
263 install <application>libffi</application>.
264 </para>
265
[4e845a4]266 <para>
267 <parameter>-DLLVM_BUILD_LLVM_DYLIB=ON</parameter>: builds libraries as
268 static and links all of them into an unique shared one. This is the
269 recommended way of building a shared library.
270 </para>
271
[5889b252]272 <para>
[3349c8e]273 <parameter>-DCMAKE_BUILD_TYPE=Release</parameter>: This switch enables
274 compiler optimizations in order to speed up the code and reduce its size.
275 It also disables some compile checks, not necessary on a production
276 system.
[5889b252]277 </para>
278
[b3b7e36]279 <para>
[3349c8e]280 <parameter>-DLLVM_TARGETS_TO_BUILD="host;AMDGPU"</parameter>: This
281 switch enables building for the same target as the host, and also for
282 the r600 AMD GPU used by the Mesa r600 and radeonsi drivers. Default is
283 all. You can use a semicolon separated list. Valid targets are: host,
284 X86, Sparc, PowerPC, ARM, AArch64, Mips, Hexagon, Xcore, MSP430, NVPTX,
285 SystemZ, AMDGPU, BPF, CppBackend, or all.
[b3b7e36]286 </para>
287
[5889b252]288 <para>
[4e845a4]289 <option>-DLLVM_LINK_LLVM_DYLIB=ON</option>: Used in conjunction with
290 <parameter>-DLLVM_BUILD_LLVM_DYLIB=ON</parameter>, this switch enables
291 linking the tools against the shared library instead of the static ones.
292 </para>
293
294 <para>
295 <option>-DBUILD_SHARED_LIBS=ON</option>: if used instead of
296 <parameter>-DLLVM_BUILD_LLVM_DYLIB=ON</parameter>, builds all the
297 <application>LLVM</application> libraries (about 60) as shared
298 libraries instead of static.
[3349c8e]299 </para>
300
301 <para>
302 <option>-DLLVM_ENABLE_DOXYGEN</option>: Enables the generation of
303 browsable HTML documentation if you have installed <xref
304 linkend="doxygen"/>. You should run <command>make doxygen-html</command>
305 afterwards, and install the generated documentation manually.
[5889b252]306 </para>
307
308 </sect2>
309
[7b74537e]310 <sect2 role="content">
311 <title>Contents</title>
312
313 <segmentedlist>
314 <segtitle>Installed Programs</segtitle>
315 <segtitle>Installed Libraries</segtitle>
316 <segtitle>Installed Directories</segtitle>
317
318 <seglistitem>
[abdc2e6]319 <seg>
[3349c8e]320 bugpoint, c-index-test, clang, clang++ (symlinks to
[3fdc9b0]321 clang-&lt;version&gt;), clang-&lt;version&gt;, clang-check, clang-cl,
[b7a300f7]322 clang-cppi (last two symlinks to clang), clang-format,
323 clang-import-test, clang-offload-bundler, clang-rename,
324 git-clang-format, llc, lli, llvm-ar, llvm-as, llvm-bcanalyzer,
325 llvm-cat, llvm-config, llvm-cov, llvm-c-test, llvm-cvtres,
326 llvm-cxxdump, llvm-cxxfilt, llvm-diff, llvm-dis, llvm-dlltool
327 (symlink to llvm-ar), llvm-dsymutil, llvm-dwarfdump, llvm-dwp,
328 llvm-extract, llvm-lib (symlink to llvm-ar), llvm-link, llvm-lto,
329 llvm-lto2, llvm-mc, llvm-mcmarkup, llvm-modextract, llvm-mt, llvm-nm,
330 llvm-objdump, llvm-opt-report, llvm-pdbutil, llvm-profdata,
331 llvm-ranlib (symlink to llvm-ar), llvm-readelf (symlink to
332 llvm-readobj), llvm-readobj, llvm-rtdyld, llvm-size, llvm-split,
333 llvm-stress, llvm-strings, llvm-symbolizer, llvm-tblgen, llvm-xray,
334 obj2yaml, opt, sancov, sanstats, scan-build, scan-view,
335 verify-uselistorder, and yaml2obj
[abdc2e6]336 </seg>
337 <seg>
[b7a300f7]338 BugpointPasses.so, LLVMHello.so, libLLVM.so, libLLVM*.a (63
339 libraries), libLTO.so, libclang.so and libclang*.a (25 libraries)
[abdc2e6]340 </seg>
341 <seg>
[a6221fd]342 /usr/include/{clang,clang-c,llvm,llvm-c},
[b7a300f7]343 /usr/lib/{clang,cmake/{clang,llvm}},
344 /usr/share/{clang,opt-viewer,scan-build,scan-view}, and
345 /usr/share/doc/llvm-&llvm-version;}
[abdc2e6]346 </seg>
[7b74537e]347 </seglistitem>
348 </segmentedlist>
[abdc2e6]349
[7b74537e]350 <variablelist>
351 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
352 <?dbfo list-presentation="list"?>
353 <?dbhtml list-presentation="table"?>
354
[abdc2e6]355 <varlistentry id="bugpoint">
356 <term><command>bugpoint</command></term>
357 <listitem>
358 <para>
359 is the automatic test case reduction tool.
360 </para>
361 <indexterm zone="llvm bugpoint">
362 <primary sortas="b-bugpoint">bugpoint</primary>
363 </indexterm>
364 </listitem>
365 </varlistentry>
366
[b7a300f7]367 <varlistentry id="c-index-test">
368 <term><command>c-index-test</command></term>
369 <listitem>
370 <para>
371 is used to test the libclang API and demonstrate its usage.
372 </para>
373 <indexterm zone="llvm c-index-test">
374 <primary sortas="b-c-index-test">c-index-test</primary>
375 </indexterm>
376 </listitem>
377 </varlistentry>
378
[abdc2e6]379 <varlistentry id="clang">
380 <term><command>clang</command></term>
[7b74537e]381 <listitem>
[abdc2e6]382 <para>
383 is the <application>Clang</application> C, C++,
384 and Objective-C compiler.
385 </para>
386 <indexterm zone="llvm clang">
387 <primary sortas="b-clang">clang</primary>
[7b74537e]388 </indexterm>
389 </listitem>
390 </varlistentry>
391
[b7a300f7]392 <varlistentry id="clang-check">
393 <term><command>clang-check</command></term>
394 <listitem>
395 <para>
396 is a tool to perform static code analysis and display Abstract
397 Syntax Trees (AST).
398 </para>
399 <indexterm zone="llvm clang-check">
400 <primary sortas="b-clang-check">clang-check</primary>
401 </indexterm>
402 </listitem>
403 </varlistentry>
404
[3349c8e]405 <varlistentry id="clang-format">
406 <term><command>clang-format</command></term>
407 <listitem>
408 <para>
409 is a tool to format C/C++/Java/JavaScript/Objective-C/Protobuf
410 code.
411 </para>
412 <indexterm zone="llvm clang-format">
413 <primary sortas="b-clang-format">clang-format</primary>
414 </indexterm>
415 </listitem>
416 </varlistentry>
417
[b7a300f7]418 <varlistentry id="clang-offload-bundler">
419 <term><command>clang-offload-bundler</command></term>
420 <listitem>
421 <para>
422 is a tool to bundle/unbundle openMP offloaded files associated with
423 a common source file.
424 </para>
425 <indexterm zone="llvm clang-offload-bundler">
426 <primary sortas="b-clang-offload-bundler">clang-offload-bundler</primary>
427 </indexterm>
428 </listitem>
429 </varlistentry>
430
431 <varlistentry id="clang-rename">
432 <term><command>clang-rename</command></term>
433 <listitem>
434 <para>
435 is a tool to rename symbols in C/C++ programs.
436 </para>
437 <indexterm zone="llvm clang-rename">
438 <primary sortas="b-clang-rename">clang-rename</primary>
439 </indexterm>
440 </listitem>
441 </varlistentry>
442
443 <varlistentry id="git-clang-format">
444 <term><command>git-clang-format</command></term>
445 <listitem>
446 <para>
447 runs clang-format on git generated patches (requires
448 <xref linkend="git"/>)
449 </para>
450 <indexterm zone="llvm git-clang-format">
451 <primary sortas="b-git-clang-format">git-clang-format</primary>
452 </indexterm>
453 </listitem>
454 </varlistentry>
455
[abdc2e6]456 <varlistentry id="llc">
457 <term><command>llc</command></term>
[7b74537e]458 <listitem>
[abdc2e6]459 <para>
460 is the <application>LLVM</application> static compiler.
461 </para>
462 <indexterm zone="llvm llc">
463 <primary sortas="b-llc">llc</primary>
464 </indexterm>
465 </listitem>
466 </varlistentry>
467
468 <varlistentry id="lli">
469 <term><command>lli</command></term>
470 <listitem>
471 <para>
472 is used to directly execute programs from
473 <application>LLVM</application> bitcode.
474 </para>
475 <indexterm zone="llvm lli">
476 <primary sortas="b-lli">lli</primary>
477 </indexterm>
478 </listitem>
479 </varlistentry>
480
481 <varlistentry id="llvm-ar">
482 <term><command>llvm-ar</command></term>
483 <listitem>
484 <para>
485 is the <application>LLVM</application> archiver.
486 </para>
487 <indexterm zone="llvm llvm-ar">
488 <primary sortas="b-llvm-ar">llvm-ar</primary>
489 </indexterm>
490 </listitem>
491 </varlistentry>
492
493 <varlistentry id="llvm-as">
494 <term><command>llvm-as</command></term>
495 <listitem>
496 <para>
497 is the <application>LLVM</application> assembler.
498 </para>
499 <indexterm zone="llvm llvm-as">
500 <primary sortas="b-llvm-as">llvm-as</primary>
501 </indexterm>
502 </listitem>
503 </varlistentry>
504
505 <varlistentry id="llvm-bcanalyzer">
506 <term><command>llvm-bcanalyzer</command></term>
507 <listitem>
508 <para>
509 is the <application>LLVM</application> bitcode analyzer.
510 </para>
511 <indexterm zone="llvm llvm-bcanalyzer">
512 <primary sortas="b-llvm-bcanalyzer">llvm-bcanalyzer</primary>
513 </indexterm>
514 </listitem>
515 </varlistentry>
516
[b7a300f7]517 <varlistentry id="llvm-cat">
518 <term><command>llvm-cat</command></term>
519 <listitem>
520 <para>
521 is a tool to concatenate llvm modules.
522 </para>
523 <indexterm zone="llvm llvm-cat">
524 <primary sortas="b-llvm-cat">llvm-cat</primary>
525 </indexterm>
526 </listitem>
527 </varlistentry>
528
[abdc2e6]529 <varlistentry id="llvm-config">
530 <term><command>llvm-config</command></term>
531 <listitem>
532 <para>
533 Prints <application>LLVM</application> compilation options.
534 </para>
535 <indexterm zone="llvm llvm-config">
536 <primary sortas="b-llvm-config">llvm-config</primary>
537 </indexterm>
538 </listitem>
539 </varlistentry>
540
541 <varlistentry id="llvm-cov">
542 <term><command>llvm-cov</command></term>
543 <listitem>
544 <para>
545 is used to emit coverage information.
546 </para>
547 <indexterm zone="llvm llvm-cov">
548 <primary sortas="b-llvm-cov">llvm-cov</primary>
549 </indexterm>
550 </listitem>
551 </varlistentry>
552
[3349c8e]553 <varlistentry id="llvm-c-test">
554 <term><command>llvm-c-test</command></term>
555 <listitem>
556 <para>
557 is a bytecode disassembler.
558 </para>
559 <indexterm zone="llvm llvm-c-test">
560 <primary sortas="b-llvm-c-test">llvm-c-test</primary>
561 </indexterm>
562 </listitem>
563 </varlistentry>
564
[b7a300f7]565 <varlistentry id="llvm-cvtres">
566 <term><command>llvm-cvtres</command></term>
567 <listitem>
568 <para>
569 is a tool to convert Microsoft resource files to COFF.
570 </para>
571 <indexterm zone="llvm llvm-cvtres">
572 <primary sortas="b-llvm-cvtres">llvm-cvtres</primary>
573 </indexterm>
574 </listitem>
575 </varlistentry>
576
[b3b7e36]577 <varlistentry id="llvm-cxxdump">
578 <term><command>llvm-cxxdump</command></term>
579 <listitem>
580 <para>
[3fdc9b0]581 is used as a C++ ABI Data Dumper.
[b3b7e36]582 </para>
583 <indexterm zone="llvm llvm-cxxdump">
584 <primary sortas="b-llvm-cxxdump">llvm-cxxdump</primary>
585 </indexterm>
586 </listitem>
587 </varlistentry>
588
[b7a300f7]589 <varlistentry id="llvm-cxxfilt">
590 <term><command>llvm-cxxfilt</command></term>
591 <listitem>
592 <para>
593 is used to demangle C++ symbols in llvm code.
594 </para>
595 <indexterm zone="llvm llvm-cxxfilt">
596 <primary sortas="b-llvm-cxxfilt">llvm-cxxfilt</primary>
597 </indexterm>
598 </listitem>
599 </varlistentry>
600
[abdc2e6]601 <varlistentry id="llvm-diff">
602 <term><command>llvm-diff</command></term>
603 <listitem>
604 <para>
605 is the <application>LLVM</application> structural
606 '<command>diff</command>'.
607 </para>
608 <indexterm zone="llvm llvm-diff">
609 <primary sortas="b-llvm-diff">llvm-diff</primary>
610 </indexterm>
611 </listitem>
612 </varlistentry>
613
614 <varlistentry id="llvm-dis">
615 <term><command>llvm-dis</command></term>
616 <listitem>
617 <para>
618 is the <application>LLVM</application> disassembler.
619 </para>
620 <indexterm zone="llvm llvm-dis">
621 <primary sortas="b-llvm-dis">llvm-dis</primary>
622 </indexterm>
623 </listitem>
624 </varlistentry>
625
[3a9d001]626 <varlistentry id="llvm-dsymutil">
627 <term><command>llvm-dsymutil</command></term>
628 <listitem>
629 <para>
[3fdc9b0]630 is a tool used to manipulate archived DWARF debug symbol files,
[3a9d001]631 compatible with the Darwin command <command>dsymutil</command>.
632 </para>
633 <indexterm zone="llvm llvm-dsymutil">
634 <primary sortas="b-llvm-dsymutil">llvm-dsymutil</primary>
635 </indexterm>
636 </listitem>
637 </varlistentry>
638
[3349c8e]639 <varlistentry id="llvm-dwarfdump">
640 <term><command>llvm-dwarfdump</command></term>
641 <listitem>
642 <para>
643 prints the content of DWARF sections in object files.
644 </para>
645 <indexterm zone="llvm llvm-dwarfdump">
646 <primary sortas="b-llvm-dwarfdump">llvm-dwarfdump</primary>
647 </indexterm>
648 </listitem>
649 </varlistentry>
650
651 <varlistentry id="llvm-dwp">
652 <term><command>llvm-dwp</command></term>
653 <listitem>
654 <para>
[3fdc9b0]655 merges split DWARF files.
[3349c8e]656 </para>
657 <indexterm zone="llvm llvm-dwp">
658 <primary sortas="b-llvm-dwp">llvm-dwp</primary>
659 </indexterm>
660 </listitem>
661 </varlistentry>
662
[abdc2e6]663 <varlistentry id="llvm-extract">
664 <term><command>llvm-extract</command></term>
665 <listitem>
666 <para>
667 is used to extract a function from an
668 <application>LLVM</application> module.
669 </para>
670 <indexterm zone="llvm llvm-extract">
671 <primary sortas="b-llvm-extract">llvm-extract</primary>
672 </indexterm>
673 </listitem>
674 </varlistentry>
675
676 <varlistentry id="llvm-link">
677 <term><command>llvm-link</command></term>
678 <listitem>
679 <para>
680 is the <application>LLVM</application> linker.
681 </para>
682 <indexterm zone="llvm llvm-link">
683 <primary sortas="b-llvm-link">llvm-link</primary>
684 </indexterm>
685 </listitem>
686 </varlistentry>
687
[3349c8e]688 <varlistentry id="llvm-lto">
689 <term><command>llvm-lto</command></term>
690 <listitem>
691 <para>
692 is the <application>LLVM</application> LTO (link time optimization)
693 linker.
694 </para>
695 <indexterm zone="llvm llvm-lto">
696 <primary sortas="b-llvm-lto">llvm-lto</primary>
697 </indexterm>
698 </listitem>
699 </varlistentry>
700
[b7a300f7]701 <varlistentry id="llvm-lto2">
702 <term><command>llvm-lto2</command></term>
703 <listitem>
704 <para>
705 is a test harness for the resolution based LTO interface.
706 </para>
707 <indexterm zone="llvm llvm-lto2">
708 <primary sortas="b-llvm-lto2">llvm-lto2</primary>
709 </indexterm>
710 </listitem>
711 </varlistentry>
712
[3349c8e]713 <varlistentry id="llvm-mc">
714 <term><command>llvm-mc</command></term>
715 <listitem>
716 <para>
717 is a standalone machine code assembler/disassembler.
718 </para>
719 <indexterm zone="llvm llvm-mc">
720 <primary sortas="b-llvm-mc">llvm-mc</primary>
721 </indexterm>
722 </listitem>
723 </varlistentry>
724
[b7a300f7]725 <varlistentry id="llvm-mcmarkup">
726 <term><command>llvm-mcmarkup</command></term>
727 <listitem>
728 <para>
729 is a parser for machine code markup.
730 </para>
731 <indexterm zone="llvm llvm-mcmarkup">
732 <primary sortas="b-llvm-mcmarkup">llvm-mcmarkup</primary>
733 </indexterm>
734 </listitem>
735 </varlistentry>
736
737 <varlistentry id="llvm-modextract">
738 <term><command>llvm-modextract</command></term>
739 <listitem>
740 <para>
741 is a tool to extract one module from multimodule bitcode files.
742 </para>
743 <indexterm zone="llvm llvm-modextract">
744 <primary sortas="b-llvm-modextract">llvm-modextract</primary>
745 </indexterm>
746 </listitem>
747 </varlistentry>
748
749 <varlistentry id="llvm-mt">
750 <term><command>llvm-mt</command></term>
751 <listitem>
752 <para>
753 is a tool to generate signed files and catalogs from a
754 side-by-side assembly manifest (used for Microsoft SDK).
755 </para>
756 <indexterm zone="llvm llvm-mt">
757 <primary sortas="b-llvm-mt">llvm-mt</primary>
758 </indexterm>
759 </listitem>
760 </varlistentry>
761
[abdc2e6]762 <varlistentry id="llvm-nm">
763 <term><command>llvm-nm</command></term>
764 <listitem>
765 <para>
766 is used to list <application>LLVM</application> bitcode
767 and object file's symbol table.
768 </para>
769 <indexterm zone="llvm llvm-nm">
770 <primary sortas="b-llvm-nm">llvm-nm</primary>
771 </indexterm>
772 </listitem>
773 </varlistentry>
[b3b7e36]774
[3349c8e]775 <varlistentry id="llvm-objdump">
776 <term><command>llvm-objdump</command></term>
777 <listitem>
778 <para>
779 is an <application>LLVM</application> object file dumper.
780 </para>
781 <indexterm zone="llvm llvm-objdump">
782 <primary sortas="b-llvm-objdump">llvm-objdump</primary>
783 </indexterm>
784 </listitem>
785 </varlistentry>
786
[b7a300f7]787 <varlistentry id="llvm-opt-report">
788 <term><command>llvm-opt-report</command></term>
789 <listitem>
790 <para>
791 is a tool to generate an optimization report from YAML optimization
792 record files.
793 </para>
794 <indexterm zone="llvm llvm-opt-report">
795 <primary sortas="b-llvm-opt-report">llvm-opt-report</primary>
796 </indexterm>
797 </listitem>
798 </varlistentry>
799
800 <varlistentry id="llvm-pdbutil">
801 <term><command>llvm-pdbutil</command></term>
[b3b7e36]802 <listitem>
803 <para>
[b7a300f7]804 is a PDB (Program Database) dumper. PDB is a Microsoft format.
[b3b7e36]805 </para>
[b7a300f7]806 <indexterm zone="llvm llvm-pdbutil">
807 <primary sortas="b-llvm-pdbutil">llvm-pdbutil</primary>
[b3b7e36]808 </indexterm>
809 </listitem>
810 </varlistentry>
[3349c8e]811
812 <varlistentry id="llvm-profdata">
813 <term><command>llvm-profdata</command></term>
[abdc2e6]814 <listitem>
815 <para>
[3349c8e]816 is a small tool to manipulate and print profile data files.
[abdc2e6]817 </para>
[3349c8e]818 <indexterm zone="llvm llvm-profdata">
819 <primary sortas="b-llvm-profdata">llvm-profdata</primary>
[abdc2e6]820 </indexterm>
821 </listitem>
[3349c8e]822 </varlistentry>
[abdc2e6]823
824 <varlistentry id="llvm-ranlib">
825 <term><command>llvm-ranlib</command></term>
826 <listitem>
827 <para>
[3fdc9b0]828 is used to generate an index for a <application>LLVM</application>
[abdc2e6]829 archive.
830 </para>
831 <indexterm zone="llvm llvm-ranlib">
832 <primary sortas="b-llvm-ranlib">llvm-ranlib</primary>
833 </indexterm>
834 </listitem>
835 </varlistentry>
836
[3349c8e]837 <varlistentry id="llvm-readobj">
838 <term><command>llvm-readobj</command></term>
839 <listitem>
840 <para>
841 displays low-level format-specific information about object files.
842 </para>
843 <indexterm zone="llvm llvm-readobj">
844 <primary sortas="b-llvm-readobj">llvm-readobj</primary>
845 </indexterm>
846 </listitem>
847 </varlistentry>
848
849 <varlistentry id="llvm-rtdyld">
850 <term><command>llvm-rtdyld</command></term>
851 <listitem>
852 <para>
[3fdc9b0]853 is the <application>LLVM</application> MC-JIT tool.
[3349c8e]854 </para>
855 <indexterm zone="llvm llvm-rtdyld">
856 <primary sortas="b-llvm-rtdyld">llvm-rtdyld</primary>
857 </indexterm>
858 </listitem>
859 </varlistentry>
860
861 <varlistentry id="llvm-size">
862 <term><command>llvm-size</command></term>
863 <listitem>
864 <para>
[3fdc9b0]865 is the <application>LLVM</application> object size dumper.
[3349c8e]866 </para>
867 <indexterm zone="llvm llvm-size">
868 <primary sortas="b-llvm-size">llvm-size</primary>
869 </indexterm>
870 </listitem>
871 </varlistentry>
872
873 <varlistentry id="llvm-split">
874 <term><command>llvm-split</command></term>
875 <listitem>
876 <para>
[3fdc9b0]877 is the <application>LLVM</application> module splitter.
[3349c8e]878 </para>
879 <indexterm zone="llvm llvm-split">
880 <primary sortas="b-llvm-split">llvm-split</primary>
881 </indexterm>
882 </listitem>
883 </varlistentry>
884
[abdc2e6]885 <varlistentry id="llvm-stress">
886 <term><command>llvm-stress</command></term>
887 <listitem>
888 <para>
889 is used to generate random
890 <filename class="extension">.ll</filename> files.
891 </para>
892 <indexterm zone="llvm llvm-stress">
893 <primary sortas="b-llvm-stress">llvm-stress</primary>
894 </indexterm>
895 </listitem>
896 </varlistentry>
897
[b7a300f7]898 <varlistentry id="llvm-strings">
899 <term><command>llvm-strings</command></term>
900 <listitem>
901 <para>
902 print strings found in a binary (object file, executable, or
903 archive library).
904 </para>
905 <indexterm zone="llvm llvm-strings">
906 <primary sortas="b-llvm-strings">llvm-strings</primary>
907 </indexterm>
908 </listitem>
909 </varlistentry>
910
[3349c8e]911 <varlistentry id="llvm-symbolizer">
912 <term><command>llvm-symbolizer</command></term>
913 <listitem>
914 <para>
915 converts adresses into source code locations.
916 </para>
917 <indexterm zone="llvm llvm-symbolizer">
918 <primary sortas="b-llvm-symbolizer">llvm-symbolizer</primary>
919 </indexterm>
920 </listitem>
921 </varlistentry>
922
[abdc2e6]923 <varlistentry id="llvm-tblgen">
924 <term><command>llvm-tblgen</command></term>
925 <listitem>
926 <para>
927 is the <application>LLVM</application> Target Description
928 To C++ Code Generator.
929 </para>
930 <indexterm zone="llvm llvm-tblgen">
931 <primary sortas="b-llvm-tblgen">llvm-tblgen</primary>
932 </indexterm>
933 </listitem>
934 </varlistentry>
935
[b7a300f7]936 <varlistentry id="llvm-xray">
937 <term><command>llvm-xray</command></term>
938 <listitem>
939 <para>
940 is an implementation of Google's XRay function call tracing system.
941 </para>
942 <indexterm zone="llvm llvm-xray">
943 <primary sortas="b-llvm-xray">llvm-xray</primary>
944 </indexterm>
945 </listitem>
946 </varlistentry>
947
[39dd48b]948 <varlistentry id="obj2yaml">
949 <term><command>obj2yaml</command></term>
950 <listitem>
951 <para>
[b7a300f7]952 takes an object file, and produces a YAML representation of the
[39dd48b]953 file.
954 </para>
955 <indexterm zone="llvm obj2yaml">
956 <primary sortas="b-obj2yaml">obj2yaml</primary>
957 </indexterm>
958 </listitem>
959 </varlistentry>
960
[abdc2e6]961 <varlistentry id="opt">
962 <term><command>opt</command></term>
963 <listitem>
964 <para>
965 is the <application>LLVM</application> optimizer.
966 </para>
967 <indexterm zone="llvm opt">
968 <primary sortas="b-opt">opt</primary>
969 </indexterm>
970 </listitem>
971 </varlistentry>
972
[3349c8e]973 <varlistentry id="sancov">
974 <term><command>sancov</command></term>
975 <listitem>
976 <para>
[3fdc9b0]977 is the sanitizer coverage processing tool.
[3349c8e]978 </para>
979 <indexterm zone="llvm sancov">
980 <primary sortas="b-sancov">sancov</primary>
981 </indexterm>
982 </listitem>
983 </varlistentry>
984
[b4c31a6]985 <varlistentry id="sanstats">
986 <term><command>sanstats</command></term>
987 <listitem>
988 <para>
989 is the sanitizer statistics processing tool.
990 </para>
991 <indexterm zone="llvm sanstats">
992 <primary sortas="b-sanstats">sanstats</primary>
993 </indexterm>
994 </listitem>
995 </varlistentry>
996
[70251fc]997 <varlistentry id="scan-build">
998 <term><command>scan-build</command></term>
999 <listitem>
1000 <para>
1001 is a <application>Perl</application> script that invokes the
1002 <application>Clang</application> static analyzer.
1003 </para>
1004 <indexterm zone="llvm scan-build">
1005 <primary sortas="b-scan-build">scan-build</primary>
[39dd48b]1006 </indexterm>
1007 </listitem>
1008 </varlistentry>
1009
[3349c8e]1010 <varlistentry id="scan-view">
1011 <term><command>scan-view</command></term>
1012 <listitem>
1013 <para>
1014 is a viewer for <application>Clang</application> static analyzer
1015 results.
1016 </para>
1017 <indexterm zone="llvm scan-view">
1018 <primary sortas="b-scan-view">scan-view</primary>
1019 </indexterm>
1020 </listitem>
1021 </varlistentry>
1022
1023 <varlistentry id="verify-uselistorder">
1024 <term><command>verify-uselistorder</command></term>
1025 <listitem>
1026 <para>
1027 is the <application>LLVM</application> tool to verify use-list
1028 order.
1029 </para>
1030 <indexterm zone="llvm verify-uselistorder">
1031 <primary sortas="b-verify-uselistorder">verify-uselistorder</primary>
1032 </indexterm>
1033 </listitem>
1034 </varlistentry>
1035
[39dd48b]1036 <varlistentry id="yaml2obj">
1037 <term><command>yaml2obj</command></term>
1038 <listitem>
1039 <para>
1040 takes a YAML representation of an object file and converts it
[17b685f1]1041 to a binary file.
[39dd48b]1042 </para>
1043 <indexterm zone="llvm yaml2obj">
1044 <primary sortas="b-yaml2obj">yaml2obj</primary>
[70251fc]1045 </indexterm>
1046 </listitem>
1047 </varlistentry>
[3349c8e]1048<!--
[abdc2e6]1049 <varlistentry id="libllvm">
1050 <term><filename class="libraryfile">libLLVM-&llvm-version;.so</filename></term>
1051 <listitem>
1052 <para>
1053 contains the <application>LLVM</application> API functions.
1054 </para>
1055 <indexterm zone="llvm libllvm">
1056 <primary sortas="c-libllvm">libLLVM-&llvm-version;.so</primary>
1057 </indexterm>
1058 </listitem>
1059 </varlistentry>
[3349c8e]1060
[abdc2e6]1061 <varlistentry id="libprofile_rt">
1062 <term><filename class="libraryfile">libprofile_rt.so</filename></term>
1063 <listitem>
1064 <para>
1065 is the C, C++ and Objective-C runtime library for
1066 <application>Clang</application>.
1067 </para>
1068 <indexterm zone="llvm libprofile_rt">
1069 <primary sortas="c-libprofile_rt">libprofile_rt.so</primary>
[7b74537e]1070 </indexterm>
1071 </listitem>
[0f5ca44]1072 </varlistentry>-->
[7b74537e]1073
1074 </variablelist>
[abdc2e6]1075
[7b74537e]1076 </sect2>
1077
1078</sect1>
Note: See TracBrowser for help on using the repository browser.