source: general/prog/llvm.xml@ 18a65e61

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 18a65e61 was 18a65e61, checked in by Thomas Trepl <thomas@…>, 6 years ago

Upgrade to cmake-3.12.1, llvm-6.0.1

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

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