Mercurial > hg > CbC > CbC_gcc
annotate gcc/doc/gccint.texi @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 1830386684a0 |
children |
rev | line source |
---|---|
0 | 1 \input texinfo @c -*-texinfo-*- |
2 @c %**start of header | |
3 @setfilename gccint.info | |
4 @c INTERNALS is used by md.texi to determine whether to include the | |
5 @c whole of that file, in the internals manual, or only the part | |
6 @c dealing with constraints, in the user manual. | |
7 @set INTERNALS | |
8 | |
9 @c See miscellaneous notes in gcc.texi on checks/things to do. | |
10 | |
11 @include gcc-common.texi | |
12 | |
13 @settitle GNU Compiler Collection (GCC) Internals | |
14 | |
15 @c Create a separate index for command line options. | |
16 @defcodeindex op | |
17 @c Merge the standard indexes into a single one. | |
18 @syncodeindex fn cp | |
19 @syncodeindex vr cp | |
20 @syncodeindex ky cp | |
21 @syncodeindex pg cp | |
22 @syncodeindex tp cp | |
23 | |
24 @paragraphindent 1 | |
25 | |
26 @c %**end of header | |
27 | |
28 @copying | |
145 | 29 Copyright @copyright{} 1988-2020 Free Software Foundation, Inc. |
0 | 30 |
31 Permission is granted to copy, distribute and/or modify this document | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
32 under the terms of the GNU Free Documentation License, Version 1.3 or |
0 | 33 any later version published by the Free Software Foundation; with the |
34 Invariant Sections being ``Funding Free Software'', the Front-Cover | |
35 Texts being (a) (see below), and with the Back-Cover Texts being (b) | |
36 (see below). A copy of the license is included in the section entitled | |
37 ``GNU Free Documentation License''. | |
38 | |
39 (a) The FSF's Front-Cover Text is: | |
40 | |
41 A GNU Manual | |
42 | |
43 (b) The FSF's Back-Cover Text is: | |
44 | |
45 You have freedom to copy and modify this GNU Manual, like GNU | |
46 software. Copies published by the Free Software Foundation raise | |
47 funds for GNU development. | |
48 @end copying | |
49 @ifnottex | |
50 @dircategory Software development | |
51 @direntry | |
52 * gccint: (gccint). Internals of the GNU Compiler Collection. | |
53 @end direntry | |
54 This file documents the internals of the GNU compilers. | |
55 @sp 1 | |
56 @insertcopying | |
57 @sp 1 | |
58 @end ifnottex | |
59 | |
60 @setchapternewpage odd | |
61 @titlepage | |
62 @title GNU Compiler Collection Internals | |
63 @versionsubtitle | |
64 @author Richard M. Stallman and the @sc{GCC} Developer Community | |
65 @page | |
66 @vskip 0pt plus 1filll | |
67 @insertcopying | |
68 @end titlepage | |
69 @summarycontents | |
70 @contents | |
71 @page | |
72 | |
111 | 73 @node Top, Contributing |
0 | 74 @top Introduction |
75 @cindex introduction | |
76 | |
77 This manual documents the internals of the GNU compilers, including | |
78 how to port them to new targets and some information about how to | |
79 write front ends for new languages. It corresponds to the compilers | |
80 @ifset VERSION_PACKAGE | |
81 @value{VERSION_PACKAGE} | |
82 @end ifset | |
83 version @value{version-GCC}. The use of the GNU compilers is documented in a | |
84 separate manual. @xref{Top,, Introduction, gcc, Using the GNU | |
85 Compiler Collection (GCC)}. | |
86 | |
87 This manual is mainly a reference manual rather than a tutorial. It | |
88 discusses how to contribute to GCC (@pxref{Contributing}), the | |
89 characteristics of the machines supported by GCC as hosts and targets | |
90 (@pxref{Portability}), how GCC relates to the ABIs on such systems | |
91 (@pxref{Interface}), and the characteristics of the languages for | |
92 which GCC front ends are written (@pxref{Languages}). It then | |
93 describes the GCC source tree structure and build system, some of the | |
94 interfaces to GCC front ends, and how support for a target system is | |
95 implemented in GCC@. | |
96 | |
97 Additional tutorial information is linked to from | |
98 @uref{http://gcc.gnu.org/readings.html}. | |
99 | |
100 @menu | |
101 * Contributing:: How to contribute to testing and developing GCC. | |
102 * Portability:: Goals of GCC's portability features. | |
103 * Interface:: Function-call interface of GCC output. | |
104 * Libgcc:: Low-level runtime library used by GCC. | |
105 * Languages:: Languages for which GCC front ends are written. | |
106 * Source Tree:: GCC source tree structure and build system. | |
63
b7f97abdc517
update gcc from gcc-4.5.0 to gcc-4.6
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
55
diff
changeset
|
107 * Testsuites:: GCC testsuites. |
0 | 108 * Options:: Option specification files. |
109 * Passes:: Order of passes, what they do, and what each file is for. | |
131 | 110 * poly_int:: Representation of runtime sizes and offsets. |
0 | 111 * GENERIC:: Language-independent representation generated by Front Ends |
112 * GIMPLE:: Tuple representation used by Tree SSA optimizers | |
113 * Tree SSA:: Analysis and optimization of GIMPLE | |
19
58ad6c70ea60
update gcc from 4.4.0 to 4.4.1.
kent@firefly.cr.ie.u-ryukyu.ac.jp
parents:
0
diff
changeset
|
114 * RTL:: Machine-dependent low-level intermediate representation. |
0 | 115 * Control Flow:: Maintaining and manipulating the control flow graph. |
116 * Loop Analysis and Representation:: Analysis and representation of loops | |
117 * Machine Desc:: How to write machine description instruction patterns. | |
118 * Target Macros:: How to write the machine description C macros and functions. | |
119 * Host Config:: Writing the @file{xm-@var{machine}.h} file. | |
120 * Fragments:: Writing the @file{t-@var{target}} and @file{x-@var{host}} files. | |
121 * Collect2:: How @code{collect2} works; how it finds @code{ld}. | |
122 * Header Dirs:: Understanding the standard header file directories. | |
123 * Type Information:: GCC's memory management; generating type information. | |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
124 * Plugins:: Extending the compiler with plugins. |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
125 * LTO:: Using Link-Time Optimization. |
0 | 126 |
111 | 127 * Match and Simplify:: How to write expression simplification patterns for GIMPLE and GENERIC |
145 | 128 * Static Analyzer:: Working with the static analyzer. |
131 | 129 * User Experience Guidelines:: Guidelines for implementing diagnostics and options. |
0 | 130 * Funding:: How to help assure funding for free software. |
131 * GNU Project:: The GNU Project and GNU/Linux. | |
132 | |
133 * Copying:: GNU General Public License says | |
134 how you can copy and share GCC. | |
135 * GNU Free Documentation License:: How you can copy and share this manual. | |
136 * Contributors:: People who have contributed to GCC. | |
137 | |
138 * Option Index:: Index to command line options. | |
139 * Concept Index:: Index of concepts and symbol names. | |
140 @end menu | |
141 | |
142 @include contribute.texi | |
143 @include portability.texi | |
144 @include interface.texi | |
145 @include libgcc.texi | |
146 @include languages.texi | |
147 @include sourcebuild.texi | |
148 @include options.texi | |
149 @include passes.texi | |
131 | 150 @include poly-int.texi |
0 | 151 @include generic.texi |
152 @include gimple.texi | |
153 @include tree-ssa.texi | |
111 | 154 @include rtl.texi |
155 @include cfg.texi | |
0 | 156 @include loop.texi |
157 @include md.texi | |
158 @include tm.texi | |
159 @include hostconfig.texi | |
160 @include fragments.texi | |
161 @include collect2.texi | |
162 @include headerdirs.texi | |
163 @include gty.texi | |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
164 @include plugins.texi |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
165 @include lto.texi |
111 | 166 @include match-and-simplify.texi |
145 | 167 @include analyzer.texi |
131 | 168 @include ux.texi |
0 | 169 |
170 @include funding.texi | |
171 @include gnu.texi | |
172 @include gpl_v3.texi | |
173 | |
174 @c --------------------------------------------------------------------- | |
175 @c GFDL | |
176 @c --------------------------------------------------------------------- | |
177 | |
178 @include fdl.texi | |
179 | |
180 @include contrib.texi | |
181 | |
182 @c --------------------------------------------------------------------- | |
183 @c Indexes | |
184 @c --------------------------------------------------------------------- | |
185 | |
186 @node Option Index | |
187 @unnumbered Option Index | |
188 | |
189 GCC's command line options are indexed here without any initial @samp{-} | |
190 or @samp{--}. Where an option has both positive and negative forms | |
191 (such as @option{-f@var{option}} and @option{-fno-@var{option}}), | |
192 relevant entries in the manual are indexed under the most appropriate | |
193 form; it may sometimes be useful to look up both forms. | |
194 | |
195 @printindex op | |
196 | |
197 @node Concept Index | |
198 @unnumbered Concept Index | |
199 | |
200 @printindex cp | |
201 | |
202 @c --------------------------------------------------------------------- | |
203 @c Epilogue | |
204 @c --------------------------------------------------------------------- | |
205 | |
206 @bye |