source: general/prog/llvm.xml@ ce8983d8

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt perl-modules 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 ce8983d8 was ce8983d8, checked in by Pierre Labastie <pieere@…>, 6 years ago

Fix command explanations about libffi in llvm

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

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