source: general/prog/llvm.xml@ 11b9fb83

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.4 9.0 9.1 bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt 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 11b9fb83 was 11b9fb83, checked in by Ken Moffat <ken@…>, 6 years ago

llvm-7.0.0

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

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