source: general/prog/llvm.xml@ 9da4cc6f

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 9da4cc6f was 9da4cc6f, checked in by Ken Moffat <ken@…>, 6 years ago

firefox-61.0

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

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