source: general/prog/llvm.xml@ 636e16f7

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 636e16f7 was bb0652ca, checked in by Ken Moffat <ken@…>, 6 years ago

Attempt to make rustc build agaisnt system llvm for everyone.

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

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