source: general/prog/llvm.xml@ 2535d7fd

elogind
Last change on this file since 2535d7fd was 2535d7fd, checked in by DJ Lucas <dj@…>, 5 years ago

Merge to HEAD 21327.

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

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