source: general/prog/llvm.xml@ fbcb384

10.0 10.1 11.0 11.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind lazarus perl-modules qt5new trunk upgradedb xry111/intltool xry111/test-20220226
Last change on this file since fbcb384 was fbcb384, checked in by Bruce Dubbs <bdubbs@…>, 4 years ago

Update to webkitgtk-2.18.5.
Update to rpcsvc-proto-1.3.1.
Update to node.js-9.4.0.
Update to libseccomp-2.3.3.
Move note from llvm to lvm2
Tweak lightdm instructions.

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

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