llvm.org GIT mirror llvm / 7a8ca27
[docs] Clean up some more llvm-gcc stuff Some references to llvm-gcc were so crusty that I wasn't sure how to proceed and so I've left them intact. I also slipped in a quick peephole fix to use a :doc: link instead of raw HTML link. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201619 91177308-0d34-0410-b5e6-96231b3b80d8 Sean Silva 5 years ago
8 changed file(s) with 14 addition(s) and 18 deletion(s). Raw diff Collapse all Expand all
4444
4545 Generate code at different optimization levels. These correspond to the
4646 ``-O0``, ``-O1``, ``-O2``, and ``-O3`` optimization levels used by
47 :program:`llvm-gcc` and :program:`clang`.
47 :program:`clang`.
4848
4949 .. option:: -mtriple=
5050
6464 .. option:: -std-compile-opts
6565
6666 This is short hand for a standard list of *compile time optimization* passes.
67 This is typically used to optimize the output from the llvm-gcc front end. It
68 might be useful for other front end compilers as well. To discover the full
69 set of options available, use the following command:
67 It might be useful for other front end compilers as well. To discover the
68 full set of options available, use the following command:
7069
7170 .. code-block:: sh
7271
211211 directory. The appropriate sub-directory should be selected (see the
212212 :doc:`Testing Guide ` for details).
213213
214 * Test cases should be written in `LLVM assembly language `_
215 unless the feature or regression being tested requires another language
216 (e.g. the bug being fixed or feature being implemented is in the llvm-gcc C++
217 front-end, in which case it must be written in C++).
214 * Test cases should be written in :doc:`LLVM assembly language `.
218215
219216 * Test cases, especially for regressions, should be reduced as much as possible,
220 by `bugpoint `_ or manually. It is unacceptable to place an
217 by :doc:`bugpoint ` or manually. It is unacceptable to place an
221218 entire failing program into ``llvm/test`` as this creates a *time-to-test*
222219 burden on all developers. Please keep them short.
223220
516513 cannot be moved from the LLVM core to libc++ without the copyright owner's
517514 permission.
518515
519 Note that the LLVM Project does distribute llvm-gcc and dragonegg, **which are
520 GPL.** This means that anything "linked" into llvm-gcc must itself be compatible
516 Note that the LLVM Project does distribute dragonegg, **which is
517 GPL.** This means that anything "linked" into dragonegg must itself be compatible
521518 with the GPL, and must be releasable under the terms of the GPL. This implies
522 that **any code linked into llvm-gcc and distributed to others may be subject to
519 that **any code linked into dragonegg and distributed to others may be subject to
523520 the viral aspects of the GPL** (for example, a proprietary code generator linked
524 into llvm-gcc must be made available under the GPL). This is not a problem for
521 into dragonegg must be made available under the GPL). This is not a problem for
525522 code already distributed under a more liberal license (like the UIUC license),
526523 and GPL-containing subprojects are kept in separate SVN repositories whose
527524 LICENSE.txt files specifically indicate that they contain GPL code.
7676 ...
7777 munge(Array);
7878
79 In this "C" example, the front end compiler (llvm-gcc) will generate three GEP
79 In this "C" example, the front end compiler (Clang) will generate three GEP
8080 instructions for the three indices through "P" in the assignment statement. The
8181 function argument ``P`` will be the first operand of each of these GEP
8282 instructions. The second operand indexes through that pointer. The third
236236 unless there is an extremely good reason not to. Using this technique
237237 is:
238238
239 - Proven and well tested: llvm-gcc and clang both use this technique
239 - Proven and well tested: clang uses this technique
240240 for local mutable variables. As such, the most common clients of LLVM
241241 are using this to handle a bulk of their variables. You can be sure
242242 that bugs are found fast and fixed early.
7171 info <../SourceLevelDebugging.html>`_ which is understood by common
7272 debuggers like GDB. Adding support for debug info is fairly
7373 straightforward. The best way to understand it is to compile some
74 C/C++ code with "``llvm-gcc -g -O0``" and taking a look at what it
74 C/C++ code with "``clang -g -O0``" and taking a look at what it
7575 produces.
7676 - **exception handling support** - LLVM supports generation of `zero
7777 cost exceptions <../ExceptionHandling.html>`_ which interoperate with
236236 unless there is an extremely good reason not to. Using this technique
237237 is:
238238
239 - Proven and well tested: llvm-gcc and clang both use this technique
239 - Proven and well tested: clang uses this technique
240240 for local mutable variables. As such, the most common clients of LLVM
241241 are using this to handle a bulk of their variables. You can be sure
242242 that bugs are found fast and fixed early.
7171 info <../SourceLevelDebugging.html>`_ which is understood by common
7272 debuggers like GDB. Adding support for debug info is fairly
7373 straightforward. The best way to understand it is to compile some
74 C/C++ code with "``llvm-gcc -g -O0``" and taking a look at what it
74 C/C++ code with "``clang -g -O0``" and taking a look at what it
7575 produces.
7676 - **exception handling support** - LLVM supports generation of `zero
7777 cost exceptions <../ExceptionHandling.html>`_ which interoperate with