source: general/prog/llvm.xml@ 9e2a8bab

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.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 9e2a8bab was 9e2a8bab, checked in by Douglas R. Reno <renodr@…>, 4 years ago

Update to libcap-2.38
Update to dbus-1.12.20

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

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