llvm.org GIT mirror llvm / 110647a
[docs] [NFC] Removed excess spacing Summary: Removed excess new lines from documentations. As far as I can tell, it seems as though restructured text is agnostic to new lines, the use of new lines was inconsistent and had no effect on how the files were being displayed. Reviewers: jhenderson, rupprecht, JDevlieghere Reviewed By: jhenderson Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63971 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365105 91177308-0d34-0410-b5e6-96231b3b80d8 Alex Brachet a month ago
17 changed file(s) with 0 addition(s) and 189 deletion(s). Raw diff Collapse all Expand all
108108 line options to enable various optimizations. To see the new complete list of
109109 optimizations, use the **-help** and **--load** options together; for example:
110110
111
112111 .. code-block:: bash
113112
114113 bugpoint --load myNewPass.so -help
3535
3636 Produce a flat dSYM file. A ``.dwarf`` extension will be appended to the
3737 executable name unless the output file is specified using the -o option.
38
3938
4039 .. option:: -z, --minimize
4140
55 SYNOPSIS
66 --------
77
8
98 **llvm-ar** [-]{dmpqrtx}[Rabfikou] [relpos] [count] [files...]
10
119
1210 DESCRIPTION
1311 -----------
14
1512
1613 The **llvm-ar** command is similar to the common Unix utility, ``ar``. It
1714 archives several files together into a single file. The intent for this is
2825
2926 Here's where **llvm-ar** departs from previous ``ar`` implementations:
3027
31
3228 *Symbol Table*
3329
3430 Since **llvm-ar** supports bitcode files. The symbol table it creates
3531 is in GNU format and includes both native and bitcode files.
3632
37
3833 *Long Paths*
3934
4035 Currently **llvm-ar** can read GNU and BSD long file names, but only writes
4136 archives with the GNU format.
4237
43
44
4538 OPTIONS
4639 -------
47
4840
4941 The options to **llvm-ar** are compatible with other ``ar`` implementations.
5042 However, there are a few modifiers (*R*) that are not found in other ``ar``
6355 Operations
6456 ~~~~~~~~~~
6557
66
67
6858 d
6959
7060 Delete files from the archive. No modifiers are applicable to this operation.
7161 The *files* options specify which members should be removed from the
7262 archive. It is not an error if a specified file does not appear in the archive.
7363 If no *files* are specified, the archive is not modified.
74
75
7664
7765 m[abi]
7866
8270 will be moved to the end of the archive. If no *files* are specified, the
8371 archive is not modified.
8472
85
86
8773 p
8874
8975 Print files to the standard output. This operation simply prints the
9278 ill-advised as they might confuse your terminal settings. The *p*
9379 operation never modifies the archive.
9480
95
96
9781 q
9882
9983 Quickly append files to the end of the archive. This operation quickly adds the
10286 Because of the way that **llvm-ar** constructs the archive file, its dubious
10387 whether the *q* operation is any faster than the *r* operation.
10488
105
106
10789 r[abu]
10890
10991 Replace or insert file members. The *a*, *b*, and *u*
11092 modifiers apply to this operation. This operation will replace existing
11193 *files* or insert them at the end of the archive if they do not exist. If no
11294 *files* are specified, the archive is not modified.
113
114
11595
11696 t[v]
11797
123103 those files. If no *files* are specified, the table of contents for the
124104 whole archive is printed.
125105
126
127
128106 x[oP]
129107
130108 Extract archive members back to files. The *o* modifier applies to this
132110 and writes them back to the operating system's file system. If no
133111 *files* are specified, the entire archive is extract.
134112
135
136
137
138113 Modifiers (operation specific)
139114 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
140115
141
142116 The modifiers below are specific to certain operations. See the Operations
143117 section (above) to determine which modifiers are applicable to which operations.
144
145118
146119 [a]
147120
148121 When inserting or moving member files, this option specifies the destination of
149122 the new files as being after the *relpos* member. If *relpos* is not found,
150123 the files are placed at the end of the archive.
151
152
153124
154125 [b]
155126
158129 found, the files are placed at the end of the archive. This modifier is
159130 identical to the *i* modifier.
160131
161
162
163132 [i]
164133
165134 A synonym for the *b* option.
166
167
168135
169136 [o]
170137
171138 When extracting files, this option will cause **llvm-ar** to preserve the
172139 original modification times of the files it writes.
173140
174
175
176141 [u]
177142
178143 When replacing existing files in the archive, only replace those files that have
179144 a time stamp than the time stamp of the member in the archive.
180145
181
182
183
184146 Modifiers (generic)
185147 ~~~~~~~~~~~~~~~~~~~
186148
187
188149 The modifiers below may be applied to any operation.
189
190150
191151 [c]
192152
193153 For all operations, **llvm-ar** will always create the archive if it doesn't
194154 exist. Normally, **llvm-ar** will print a warning message indicating that the
195155 archive is being created. Using this modifier turns off that warning.
196
197156
198157
199158 [s]
203162 all the externally visible functions and global variables defined by all the
204163 bitcode files in the archive.
205164
206
207
208165 [S]
209166
210167 This modifier is the opposite of the *s* modifier. It instructs **llvm-ar** to
211168 not build the symbol table. If both *s* and *S* are used, the last modifier to
212169 occur in the options will prevail.
213170
214
215
216171 [v]
217172
218173 This modifier instructs **llvm-ar** to be verbose about what it is doing. Each
219174 editing operation taken against the archive will produce a line of output saying
220175 what is being done.
221176
222
223
224
225
226177 STANDARDS
227178 ---------
228
229179
230180 The **llvm-ar** utility is intended to provide a superset of the IEEE Std 1003.2
231181 (POSIX.2) functionality for ``ar``. **llvm-ar** can read both SVR4 and BSD4.4 (or
235185 immediately after the header and indicated using the "#1/ddd" notation for the
236186 name in the header.
237187
238
239188 FILE FORMAT
240189 -----------
241
242190
243191 The file format for LLVM Archive files is similar to that of BSD 4.4 or macOS
244192 archive files. In fact, except for the symbol table, the ``ar`` commands on those
257205 header contain only ASCII characters, are left justified and are right padded
258206 with space characters.
259207
260
261208 name - char[16]
262209
263210 This field of the header provides the name of the archive member. If the name is
267214 bytes immediately following the header. If the name is 15 characters or less, it
268215 is contained directly in this field and terminated with a slash (/) character.
269216
270
271
272217 date - char[12]
273218
274219 This field provides the date of modification of the file in the form of a
275220 decimal encoded number that provides the number of seconds since the epoch
276221 (since 00:00:00 Jan 1, 1970) per Posix specifications.
277
278
279222
280223 uid - char[6]
281224
284227 same value as the st_uid field of the stat structure returned by the stat(2)
285228 operating system call.
286229
287
288
289230 gid - char[6]
290231
291232 This field provides the group id of the file encoded as a decimal ASCII string.
293234 same value as the st_gid field of the stat structure returned by the stat(2)
294235 operating system call.
295236
296
297
298237 mode - char[8]
299238
300239 This field provides the access mode of the file encoded as an octal ASCII
302241 is the same value as the st_mode field of the stat structure returned by the
303242 stat(2) operating system call.
304243
305
306
307244 size - char[10]
308245
309246 This field provides the size of the file, in bytes, encoded as a decimal ASCII
310247 string.
311
312
313248
314249 fmag - char[2]
315250
316251 This field is the archive file member magic number. Its content is always the
317252 two characters back tick (0x60) and newline (0x0A). This provides some measure
318253 utility in identifying archive files that have been corrupted.
319
320254
321255 offset - vbr encoded 32-bit integer
322256
330264 if there are more bytes to follow. The remaining 7 bits in each byte carry bits
331265 from the value. The final byte does not have the high bit set.
332266
333
334
335267 length - vbr encoded 32-bit integer
336268
337269 The length item provides the length of the symbol that follows. Like this
338270 *offset* item, the length is variable bit rate encoded.
339
340
341271
342272 symbol - character array
343273
347277 characters (even 0x00) in the symbol. This allows for multiple encodings of
348278 symbol names.
349279
350
351
352
353280 EXIT STATUS
354281 -----------
355
356282
357283 If **llvm-ar** succeeds, it will exit with 0. A usage error, results
358284 in an exit code of 1. A hard (file system typically) error results in an
359285 exit code of 2. Miscellaneous or unknown errors result in an
360286 exit code of 3.
361287
362
363288 SEE ALSO
364289 --------
365290
366
367291 ar(1)
303303 --------
304304
305305 :doc:`/CommandGuide/llvm-dis`, :doc:`/BitCodeFormat`
306
55 SYNOPSIS
66 --------
77
8
98 **llvm-build** [*options*]
10
119
1210 DESCRIPTION
1311 -----------
14
1512
1613 **llvm-build** is a tool for working with LLVM projects that use the LLVMBuild
1714 system for describing their components.
2118 implementing build systems and tools which need access to the project structure
2219 information.
2320
24
2521 OPTIONS
2622 -------
27
28
2923
3024 **-h**, **--help**
3125
3226 Print the builtin program help.
33
34
3527
3628 **--source-root**\ =\ *PATH*
3729
3931 given, the location of the project sources will be inferred from the location of
4032 the **llvm-build** script itself.
4133
42
43
4434 **--print-tree**
4535
4636 Print the component tree for the project.
47
48
4937
5038 **--write-library-table**
5139
5341 required libraries. This C++ fragment is built into llvm-config|llvm-config
5442 in order to provide clients with the list of required libraries for arbitrary
5543 component combinations.
56
57
5844
5945 **--write-llvmbuild**
6046
6450 source file, although at this time it only preserves block comments that precede
6551 the section names in the *LLVMBuild* files.
6652
67
68
6953 **--write-cmake-fragment**
7054
7155 Write out the LLVMBuild in the form of a CMake fragment, so it can easily be
7256 consumed by the CMake based build system. The exact contents and format of this
7357 file are closely tied to how LLVMBuild is integrated with CMake, see LLVM's
7458 top-level CMakeLists.txt.
75
76
7759
7860 **--write-make-fragment**
7961
8264 file are closely tied to how LLVMBuild is integrated with the Makefiles, see
8365 LLVM's Makefile.rules.
8466
85
86
8767 **--llvmbuild-source-root**\ =\ *PATH*
8868
8969 If given, expect the *LLVMBuild* files for the project to be rooted at the
9171 designed for use in conjunction with **--write-llvmbuild** to test changes to
9272 *LLVMBuild* schema.
9373
94
95
96
9774 EXIT STATUS
9875 -----------
9976
100
10177 **llvm-build** exits with 0 if operation was successful. Otherwise, it will exist
10278 with a non-zero value.
55 SYNOPSIS
66 --------
77
8
98 **llvm-config** *option* [*components*...]
10
119
1210 DESCRIPTION
1311 -----------
14
1512
1613 **llvm-config** makes it easier to build applications that use LLVM. It can
1714 print the compiler flags, linker flags and object libraries needed to link
1815 against LLVM.
1916
20
2117 EXAMPLES
2218 --------
2319
24
2520 To link against the JIT:
26
2721
2822 .. code-block:: sh
2923
3125 g++ `llvm-config --ldflags` -o HowToUseJIT HowToUseJIT.o \
3226 `llvm-config --libs engine bcreader scalaropts`
3327
34
35
3628 OPTIONS
3729 -------
38
39
4030
4131 **--version**
4232
4333 Print the version number of LLVM.
4434
45
46
4735 **-help**
4836
4937 Print a summary of **llvm-config** arguments.
50
51
5238
5339 **--prefix**
5440
5541 Print the installation prefix for LLVM.
5642
57
58
5943 **--src-root**
6044
6145 Print the source root from which LLVM was built.
62
63
6446
6547 **--obj-root**
6648
6749 Print the object root used to build LLVM.
6850
69
70
7151 **--bindir**
7252
7353 Print the installation directory for LLVM binaries.
74
75
7654
7755 **--includedir**
7856
7957 Print the installation directory for LLVM headers.
8058
81
82
8359 **--libdir**
8460
8561 Print the installation directory for LLVM libraries.
86
87
8862
8963 **--cxxflags**
9064
9165 Print the C++ compiler flags needed to use LLVM headers.
9266
93
94
9567 **--ldflags**
9668
9769 Print the flags needed to link against LLVM libraries.
98
99
10070
10171 **--libs**
10272
10373 Print all the libraries needed to link against the specified LLVM
10474 *components*, including any dependencies.
105
106
10775
10876 **--libnames**
10977
11179 without **-l** or pathnames. Useful for linking against a not-yet-installed
11280 copy of LLVM.
11381
114
115
11682 **--libfiles**
11783
11884 Similar to **--libs**, but print the full path to each library file. This is
11985 useful when creating makefile dependencies, to ensure that a tool is relinked if
12086 any library it uses changes.
12187
122
123
12488 **--components**
12589
12690 Print all valid component names.
12791
128
129
13092 **--targets-built**
13193
13294 Print the component names for all targets supported by this copy of LLVM.
133
134
13595
13696 **--build-mode**
13797
13898 Print the build mode used when LLVM was built (e.g. Debug or Release)
13999
140100
141
142
143101 COMPONENTS
144102 ----------
145
146103
147104 To print a list of all available components, run **llvm-config
148105 --components**. In most cases, components correspond directly to LLVM
149106 libraries. Useful "virtual" components include:
150107
151
152108 **all**
153109
154110 Includes all LLVM libraries. The default if no components are specified.
155111
156
157
158112 **backend**
159113
160114 Includes either a native backend or the C backend.
161
162
163115
164116 **engine**
165117
166118 Includes either a native JIT or the bitcode interpreter.
167119
168120
169
170
171121 EXIT STATUS
172122 -----------
173123
174
175124 If **llvm-config** succeeds, it will exit with 0. Otherwise, if an error
176125 occurs, it will exit with a non-zero value.
162162 :program:`llvm-cov gcov` returns 1 if it cannot read input files. Otherwise,
163163 it exits with zero.
164164
165
166165 .. program:: llvm-cov show
167166
168167 .. _llvm-cov-show:
55 SYNOPSIS
66 --------
77
8
98 **llvm-diff** [*options*] *module 1* *module 2* [*global name ...*]
10
119
1210 DESCRIPTION
1311 -----------
14
1512
1613 **llvm-diff** compares the structure of two LLVM modules, primarily
1714 focusing on differences in function definitions. Insignificant
3532 **llvm-diff** is intended as a debugging tool for writers of LLVM
3633 passes and frontends. It does not have a stable output format.
3734
38
3935 EXIT STATUS
4036 -----------
41
4237
4338 If **llvm-diff** finds no differences between the modules, it will exit
4439 with 0 and produce no output. Otherwise it will exit with a non-zero
4540 value.
4641
47
4842 BUGS
4943 ----
50
5144
5245 Many important differences, like changes in linkage or function
5346 attributes, are not diagnosed.
55 SYNOPSIS
66 --------
77
8
98 **llvm-dis** [*options*] [*filename*]
10
119
1210 DESCRIPTION
1311 -----------
14
1512
1613 The **llvm-dis** command is the LLVM disassembler. It takes an LLVM
1714 bitcode file and converts it into human-readable LLVM assembly language.
2623 removed). You can override the choice of output file using the
2724 **-o** option.
2825
29
3026 OPTIONS
3127 -------
32
33
3428
3529 **-f**
3630
3832 write raw bitcode output if the output stream is a terminal. With this option,
3933 **llvm-dis** will write raw bitcode regardless of the output device.
4034
41
42
4335 **-help**
4436
4537 Print a summary of command line options.
46
47
4838
4939 **-o** *filename*
5040
5141 Specify the output file name. If *filename* is -, then the output is sent
5242 to standard output.
5343
54
55
56
5744 EXIT STATUS
5845 -----------
59
6046
6147 If **llvm-dis** succeeds, it will exit with 0. Otherwise, if an error
6248 occurs, it will exit with a non-zero value.
6349
64
6550 SEE ALSO
6651 --------
6752
68
6953 llvm-as|llvm-as
165165 :program:`llvm-exegesis` is compiled in debug mode, else only the class id will
166166 be shown. This does not invalidate any of the analysis results though.
167167
168
169168 OPTIONS
170169 -------
171170
55 SYNOPSIS
66 --------
77
8
98 **llvm-lib** [/libpath:] [/out:] [/llvmlibthin]
109 [/ignore] [/machine] [/nologo] [files...]
1110
12
1311 DESCRIPTION
1412 -----------
15
1613
1714 The **llvm-lib** command is intended to be a ``lib.exe`` compatible
1815 tool. See https://msdn.microsoft.com/en-us/library/7ykb2k5f for the
5353
5454 If :program:`llvm-link` succeeds, it will exit with 0. Otherwise, if an error
5555 occurs, it will exit with a non-zero value.
56
57
272272 Here is an example, if *base profile file* has counts of {400, 600}, and
273273 *test profile file* has matched counts of {60000, 40000}. The *overlap* is 80%.
274274
275
276275 OPTIONS
277276 ^^^^^^^
278277
3232 -----------
3333
3434 :program:`llvm-stress` returns 0.
35
121121
122122 If :program:`opt` succeeds, it will exit with 0. Otherwise, if an error
123123 occurs, it will exit with a non-zero value.
124