source: general/prog/llvm.xml@ 49ae403f

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.4 9.0 9.1 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 49ae403f was 38489aa0, checked in by Pierre Labastie <pieere@…>, 5 years ago

Tags

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

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