mirror of git://gcc.gnu.org/git/gcc.git
Fix typos in the manual.
gcc/: * doc/extend.texi (Function Attributes, Volatiles): Fix typos. * doc/install.texi (Prerequisites, Specific): Likewise. * doc/invoke.texi (C Dialect Options, Debugging Options) (Optimize Options, MicroBlaze Options) (RS/6000 and PowerPC Options, RX Options, Code Gen Options): Likewise. * doc/objc.texi (Method signatures) (Fast enumeration protocol): Likewise. * doc/tm.texi.in (Run-time Target, Register Arguments) (Scheduling, Macros for Initialization, Misc): Likewise. * doc/tm.texi: Renerate. From-SVN: r168202
This commit is contained in:
parent
939e407566
commit
2b0d357388
|
@ -1,3 +1,17 @@
|
||||||
|
2010-12-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||||
|
|
||||||
|
* doc/extend.texi (Function Attributes, Volatiles): Fix typos.
|
||||||
|
* doc/install.texi (Prerequisites, Specific): Likewise.
|
||||||
|
* doc/invoke.texi (C Dialect Options, Debugging Options)
|
||||||
|
(Optimize Options, MicroBlaze Options)
|
||||||
|
(RS/6000 and PowerPC Options, RX Options, Code Gen Options):
|
||||||
|
Likewise.
|
||||||
|
* doc/objc.texi (Method signatures)
|
||||||
|
(Fast enumeration protocol): Likewise.
|
||||||
|
* doc/tm.texi.in (Run-time Target, Register Arguments)
|
||||||
|
(Scheduling, Macros for Initialization, Misc): Likewise.
|
||||||
|
* doc/tm.texi: Renerate.
|
||||||
|
|
||||||
2010-12-23 Nicola Pero <nicola.pero@meta-innovation.com>
|
2010-12-23 Nicola Pero <nicola.pero@meta-innovation.com>
|
||||||
|
|
||||||
* doc/objc.texi (Modern GNU Objective-C runtime API): Mention that
|
* doc/objc.texi (Modern GNU Objective-C runtime API): Mention that
|
||||||
|
|
|
@ -2692,24 +2692,24 @@ an inlined PLT.
|
||||||
@item leaf
|
@item leaf
|
||||||
@cindex @code{leaf} function attribute
|
@cindex @code{leaf} function attribute
|
||||||
Calls to external functions with this attribute must return to the current
|
Calls to external functions with this attribute must return to the current
|
||||||
compilation unit only by return or by exception handling. In particular, leaf
|
compilation unit only by return or by exception handling. In particular, leaf
|
||||||
functions are not allowed to call callback function passed to it from current
|
functions are not allowed to call callback function passed to it from the current
|
||||||
compilation unit or directly call functions exported by the unit or longjmp
|
compilation unit or directly call functions exported by the unit or longjmp
|
||||||
into the unit. Still leaf function might call functions from other complation
|
into the unit. Leaf function might still call functions from other compilation
|
||||||
units and thus they are not neccesarily leaf in the sense that they contains no
|
units and thus they are not necessarily leaf in the sense that they contain no
|
||||||
function calls at all.
|
function calls at all.
|
||||||
|
|
||||||
The attribute is intended for library functions to improve dataflow analysis.
|
The attribute is intended for library functions to improve dataflow analysis.
|
||||||
Compiler takes the hint that any data not escaping current compilation unit can
|
The compiler takes the hint that any data not escaping the current compilation unit can
|
||||||
not be used or modified by the leaf function. For example, function @code{sin}
|
not be used or modified by the leaf function. For example, the @code{sin} function
|
||||||
is leaf, function @code{qsort} is not.
|
is a leaf function, but @code{qsort} is not.
|
||||||
|
|
||||||
Note that the leaf functions might invoke signals and signal handlers might be
|
Note that leaf functions might invoke signals and signal handlers might be
|
||||||
defined in the current compilation unit and use static variables. Only
|
defined in the current compilation unit and use static variables. The only
|
||||||
compliant way to write such a signal handler is to declare such variables
|
compliant way to write such a signal handler is to declare such variables
|
||||||
@code{volatile}.
|
@code{volatile}.
|
||||||
|
|
||||||
The attribute has no effect on functions defined within current compilation
|
The attribute has no effect on functions defined within the current compilation
|
||||||
unit. This is to allow easy merging of multiple compilation units into one,
|
unit. This is to allow easy merging of multiple compilation units into one,
|
||||||
for example, by using the link time optimization. For this reason the
|
for example, by using the link time optimization. For this reason the
|
||||||
attribute is not allowed on types to annotate indirect calls.
|
attribute is not allowed on types to annotate indirect calls.
|
||||||
|
@ -3589,16 +3589,16 @@ away so that a longer more expensive calling sequence is required.
|
||||||
|
|
||||||
@item cpu=@var{CPU}
|
@item cpu=@var{CPU}
|
||||||
@cindex @code{target("cpu=@var{CPU}")} attribute
|
@cindex @code{target("cpu=@var{CPU}")} attribute
|
||||||
Specify the architecture to generate code for in compiling the
|
Specify the architecture to generate code for when compiling the
|
||||||
function. If you select @code{"target("cpu=power7)"} attribute when
|
function. If you select the @code{"target("cpu=power7)"} attribute when
|
||||||
generating 32-bit code, VSX and Altivec instructions are not generated
|
generating 32-bit code, VSX and Altivec instructions are not generated
|
||||||
unless you use the @option{-mabi=altivec} option on the command line.
|
unless you use the @option{-mabi=altivec} option on the command line.
|
||||||
|
|
||||||
@item tune=@var{TUNE}
|
@item tune=@var{TUNE}
|
||||||
@cindex @code{target("tune=@var{TUNE}")} attribute
|
@cindex @code{target("tune=@var{TUNE}")} attribute
|
||||||
Specify the architecture to tune for in compiling the function. If
|
Specify the architecture to tune for when compiling the function. If
|
||||||
you do not specify the @code{target("tune=@var{TUNE}")} attribute and
|
you do not specify the @code{target("tune=@var{TUNE}")} attribute and
|
||||||
you do specifiy the @code{target("cpu=@var{CPU}")} attribute,
|
you do specify the @code{target("cpu=@var{CPU}")} attribute,
|
||||||
compilation will tune for the @var{CPU} architecture, and not the
|
compilation will tune for the @var{CPU} architecture, and not the
|
||||||
default tuning specified on the command line.
|
default tuning specified on the command line.
|
||||||
@end table
|
@end table
|
||||||
|
@ -5358,14 +5358,14 @@ the single copy in the library.
|
||||||
|
|
||||||
C has the concept of volatile objects. These are normally accessed by
|
C has the concept of volatile objects. These are normally accessed by
|
||||||
pointers and used for accessing hardware or inter-thread
|
pointers and used for accessing hardware or inter-thread
|
||||||
communication. The standard encourage compilers to refrain from
|
communication. The standard encourages compilers to refrain from
|
||||||
optimizations concerning accesses to volatile objects, but leaves it
|
optimizations concerning accesses to volatile objects, but leaves it
|
||||||
implementation defined as to what constitutes a volatile access. The
|
implementation defined as to what constitutes a volatile access. The
|
||||||
minimum requirement is that at a sequence point all previous accesses
|
minimum requirement is that at a sequence point all previous accesses
|
||||||
to volatile objects have stabilized and no subsequent accesses have
|
to volatile objects have stabilized and no subsequent accesses have
|
||||||
occurred. Thus an implementation is free to reorder and combine
|
occurred. Thus an implementation is free to reorder and combine
|
||||||
volatile accesses which occur between sequence points, but cannot do
|
volatile accesses which occur between sequence points, but cannot do
|
||||||
so for accesses across a sequence point. The use of volatiles does
|
so for accesses across a sequence point. The use of volatile does
|
||||||
not allow you to violate the restriction on updating objects multiple
|
not allow you to violate the restriction on updating objects multiple
|
||||||
times between two sequence points.
|
times between two sequence points.
|
||||||
|
|
||||||
|
@ -5394,7 +5394,7 @@ asm volatile ("" : : : "memory");
|
||||||
vobj = 1;
|
vobj = 1;
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
A scalar volatile object is read, when it is accessed in a void context:
|
A scalar volatile object is read when it is accessed in a void context:
|
||||||
|
|
||||||
@smallexample
|
@smallexample
|
||||||
volatile int *src = @var{somevalue};
|
volatile int *src = @var{somevalue};
|
||||||
|
|
|
@ -450,7 +450,7 @@ and not using @option{--disable-symvers}.
|
||||||
Necessary when targetting Solaris 2 with Sun @command{ld}, building
|
Necessary when targetting Solaris 2 with Sun @command{ld}, building
|
||||||
@samp{libstdc++}, and not using @option{--disable-symvers}. A helper
|
@samp{libstdc++}, and not using @option{--disable-symvers}. A helper
|
||||||
scripts needs @samp{Glob.pm}, which is missing from @command{perl} 5.005
|
scripts needs @samp{Glob.pm}, which is missing from @command{perl} 5.005
|
||||||
included in Solaris~8. The bundled @command{perl} in Solaris~9 and up
|
included in Solaris@tie{}8. The bundled @command{perl} in Solaris@tie{}9 and up
|
||||||
works.
|
works.
|
||||||
Used by various scripts to generate some files included in SVN (mainly
|
Used by various scripts to generate some files included in SVN (mainly
|
||||||
Unicode-related and rarely changing) from source tables.
|
Unicode-related and rarely changing) from source tables.
|
||||||
|
@ -3539,10 +3539,10 @@ recommended to use the GNU assembler instead. There is no bundled
|
||||||
version, but the current version, from GNU binutils 2.20.1, is known to
|
version, but the current version, from GNU binutils 2.20.1, is known to
|
||||||
work.
|
work.
|
||||||
|
|
||||||
Solaris~2/x86 doesn't support the execution of SSE/SSE2 instructions
|
Solaris@tie{}2/x86 doesn't support the execution of SSE/SSE2 instructions
|
||||||
before Solaris~9 4/04, even if the CPU supports them. Programs will
|
before Solaris@tie{}9 4/04, even if the CPU supports them. Programs will
|
||||||
receive @code{SIGILL} if they try. The fix is available both in
|
receive @code{SIGILL} if they try. The fix is available both in
|
||||||
Solaris~9 Update~6 and kernel patch 112234-12 or newer. There is no
|
Solaris@tie{}9 Update@tie{}6 and kernel patch 112234-12 or newer. There is no
|
||||||
corresponding patch for Solaris 8. To avoid this problem,
|
corresponding patch for Solaris 8. To avoid this problem,
|
||||||
@option{-march} defaults to @samp{pentiumpro} on Solaris 8 and 9. If
|
@option{-march} defaults to @samp{pentiumpro} on Solaris 8 and 9. If
|
||||||
you have the patch installed, you can configure GCC with an appropriate
|
you have the patch installed, you can configure GCC with an appropriate
|
||||||
|
@ -4228,23 +4228,23 @@ There are patches for Solaris 8 (117350-12 or newer for SPARC,
|
||||||
117351-12 or newer for Intel) and Solaris 9 (117171-11 or newer for
|
117351-12 or newer for Intel) and Solaris 9 (117171-11 or newer for
|
||||||
SPARC, 117172-11 or newer for Intel) that address this problem.
|
SPARC, 117172-11 or newer for Intel) that address this problem.
|
||||||
|
|
||||||
Solaris~8 provides an alternate implementation of the thread libraries,
|
Solaris@tie{}8 provides an alternate implementation of the thread libraries,
|
||||||
@samp{libpthread} and @samp{libthread}. They are required for TLS
|
@samp{libpthread} and @samp{libthread}. They are required for TLS
|
||||||
support and have been made the default in Solaris~9, so they are always
|
support and have been made the default in Solaris@tie{}9, so they are always
|
||||||
used on Solaris~8.
|
used on Solaris@tie{}8.
|
||||||
|
|
||||||
Thread-local storage (TLS) is supported in Solaris~8 and 9, but requires
|
Thread-local storage (TLS) is supported in Solaris@tie{}8 and 9, but requires
|
||||||
some patches. The @samp{libthread} patches provide the
|
some patches. The @samp{libthread} patches provide the
|
||||||
@code{__tls_get_addr} (SPARC, 64-bit x86) resp.@ @code{___tls_get_addr}
|
@code{__tls_get_addr} (SPARC, 64-bit x86) resp.@ @code{___tls_get_addr}
|
||||||
(32-bit x86) functions. On Solaris~8, you need 108993-26 or newer on
|
(32-bit x86) functions. On Solaris@tie{}8, you need 108993-26 or newer on
|
||||||
SPARC, 108994-26 or newer on Intel. On Solaris~9, the necessary support
|
SPARC, 108994-26 or newer on Intel. On Solaris@tie{}9, the necessary support
|
||||||
on SPARC is present since FCS, while 114432-05 or newer is reqired on
|
on SPARC is present since FCS, while 114432-05 or newer is required on
|
||||||
Intel. Additionally, on Solaris~8, patch 109147-14 or newer on SPARC or
|
Intel. Additionally, on Solaris@tie{}8, patch 109147-14 or newer on SPARC or
|
||||||
109148-22 or newer on Intel are required for the Sun @command{ld} and
|
109148-22 or newer on Intel are required for the Sun @command{ld} and
|
||||||
runtime linker (@command{ld.so.1}) support. Again, Solaris~9/SPARC
|
runtime linker (@command{ld.so.1}) support. Again, Solaris@tie{}9/SPARC
|
||||||
works since FCS, while 113986-02 is required on Intel. The linker
|
works since FCS, while 113986-02 is required on Intel. The linker
|
||||||
patches must be installed even if GNU @command{ld} is used. Sun
|
patches must be installed even if GNU @command{ld} is used. Sun
|
||||||
@command{as} in Solaris~8 and 9 doesn't support the necessary
|
@command{as} in Solaris@tie{}8 and 9 doesn't support the necessary
|
||||||
relocations, so GNU @command{as} must be used. The @command{configure}
|
relocations, so GNU @command{as} must be used. The @command{configure}
|
||||||
script checks for those prerequisites and automatically enables TLS
|
script checks for those prerequisites and automatically enables TLS
|
||||||
support if they are met. Although those minimal patch versions should
|
support if they are met. Although those minimal patch versions should
|
||||||
|
|
|
@ -1699,7 +1699,7 @@ have support for @option{-pthread}.
|
||||||
@opindex fms-extensions
|
@opindex fms-extensions
|
||||||
Accept some non-standard constructs used in Microsoft header files.
|
Accept some non-standard constructs used in Microsoft header files.
|
||||||
|
|
||||||
It allows for c++ that member-names in structures can be similiar
|
In C++ code, this allows member names in structures to be similar
|
||||||
to previous types declarations.
|
to previous types declarations.
|
||||||
|
|
||||||
@smallexample
|
@smallexample
|
||||||
|
@ -4844,7 +4844,7 @@ allocation before or after interprocedural optimization.
|
||||||
@opindex fstack-usage
|
@opindex fstack-usage
|
||||||
Makes the compiler output stack usage information for the program, on a
|
Makes the compiler output stack usage information for the program, on a
|
||||||
per-function basis. The filename for the dump is made by appending
|
per-function basis. The filename for the dump is made by appending
|
||||||
@file{.su} to the AUXNAME. AUXNAME is generated from the name of
|
@file{.su} to the @var{auxname}. @var{auxname} is generated from the name of
|
||||||
the output file, if explicitly specified and it is not an executable,
|
the output file, if explicitly specified and it is not an executable,
|
||||||
otherwise it is the basename of the source file. An entry is made up
|
otherwise it is the basename of the source file. An entry is made up
|
||||||
of three fields:
|
of three fields:
|
||||||
|
@ -4952,15 +4952,15 @@ more closely, if you do not optimize.
|
||||||
|
|
||||||
@item -fdbg-cnt-list
|
@item -fdbg-cnt-list
|
||||||
@opindex fdbg-cnt-list
|
@opindex fdbg-cnt-list
|
||||||
Print the name and the counter upperbound for all debug counters.
|
Print the name and the counter upper bound for all debug counters.
|
||||||
|
|
||||||
@item -fdbg-cnt=@var{counter-value-list}
|
@item -fdbg-cnt=@var{counter-value-list}
|
||||||
@opindex fdbg-cnt
|
@opindex fdbg-cnt
|
||||||
Set the internal debug counter upperbound. @var{counter-value-list}
|
Set the internal debug counter upper bound. @var{counter-value-list}
|
||||||
is a comma-separated list of @var{name}:@var{value} pairs
|
is a comma-separated list of @var{name}:@var{value} pairs
|
||||||
which sets the upperbound of each debug counter @var{name} to @var{value}.
|
which sets the upper bound of each debug counter @var{name} to @var{value}.
|
||||||
All debug counters have the initial upperbound of @var{UINT_MAX},
|
All debug counters have the initial upper bound of @var{UINT_MAX},
|
||||||
thus dbg_cnt() returns true always unless the upperbound is set by this option.
|
thus dbg_cnt() returns true always unless the upper bound is set by this option.
|
||||||
e.g. With -fdbg-cnt=dce:10,tail_call:0
|
e.g. With -fdbg-cnt=dce:10,tail_call:0
|
||||||
dbg_cnt(dce) will return true only for first 10 invocations
|
dbg_cnt(dce) will return true only for first 10 invocations
|
||||||
and dbg_cnt(tail_call) will return false always.
|
and dbg_cnt(tail_call) will return false always.
|
||||||
|
@ -7500,7 +7500,7 @@ The only important thing to keep in mind is that to enable link-time
|
||||||
optimizations the @option{-flto} flag needs to be passed to both the
|
optimizations the @option{-flto} flag needs to be passed to both the
|
||||||
compile and the link commands.
|
compile and the link commands.
|
||||||
|
|
||||||
To make whole program optimization effective, it is necesary to make
|
To make whole program optimization effective, it is necessary to make
|
||||||
certain whole program assumptions. The compiler needs to know
|
certain whole program assumptions. The compiler needs to know
|
||||||
what functions and variables can be accessed by libraries and runtime
|
what functions and variables can be accessed by libraries and runtime
|
||||||
outside of the link time optimized unit. When supported by the linker,
|
outside of the link time optimized unit. When supported by the linker,
|
||||||
|
@ -8332,7 +8332,7 @@ late inlining.
|
||||||
@item comdat-sharing-probability
|
@item comdat-sharing-probability
|
||||||
@itemx comdat-sharing-probability
|
@itemx comdat-sharing-probability
|
||||||
Probability (in percent) that C++ inline function with comdat visibility
|
Probability (in percent) that C++ inline function with comdat visibility
|
||||||
will be shared acroess multiple compilation units. The default value is 20.
|
will be shared across multiple compilation units. The default value is 20.
|
||||||
|
|
||||||
@item min-vect-loop-bound
|
@item min-vect-loop-bound
|
||||||
The minimum number of iterations under which a loop will not get vectorized
|
The minimum number of iterations under which a loop will not get vectorized
|
||||||
|
@ -8342,8 +8342,8 @@ to allow vectorization. The default value is 0.
|
||||||
|
|
||||||
@item gcse-cost-distance-ratio
|
@item gcse-cost-distance-ratio
|
||||||
Scaling factor in calculation of maximum distance an expression
|
Scaling factor in calculation of maximum distance an expression
|
||||||
can be moved by GCSE optimizations. This is currently supported only in
|
can be moved by GCSE optimizations. This is currently supported only in the
|
||||||
code hoisting pass. The bigger the ratio, the more agressive code hoisting
|
code hoisting pass. The bigger the ratio, the more aggressive code hoisting
|
||||||
will be with simple expressions, i.e., the expressions which have cost
|
will be with simple expressions, i.e., the expressions which have cost
|
||||||
less than @option{gcse-unrestricted-cost}. Specifying 0 will disable
|
less than @option{gcse-unrestricted-cost}. Specifying 0 will disable
|
||||||
hoisting of simple expressions. The default value is 10.
|
hoisting of simple expressions. The default value is 10.
|
||||||
|
@ -8352,7 +8352,7 @@ hoisting of simple expressions. The default value is 10.
|
||||||
Cost, roughly measured as the cost of a single typical machine
|
Cost, roughly measured as the cost of a single typical machine
|
||||||
instruction, at which GCSE optimizations will not constrain
|
instruction, at which GCSE optimizations will not constrain
|
||||||
the distance an expression can travel. This is currently
|
the distance an expression can travel. This is currently
|
||||||
supported only in code hoisting pass. The lesser the cost,
|
supported only in the code hoisting pass. The lesser the cost,
|
||||||
the more aggressive code hoisting will be. Specifying 0 will
|
the more aggressive code hoisting will be. Specifying 0 will
|
||||||
allow all expressions to travel unrestricted distances.
|
allow all expressions to travel unrestricted distances.
|
||||||
The default value is 3.
|
The default value is 3.
|
||||||
|
@ -8812,12 +8812,12 @@ parameter in order to perform devirtualization.
|
||||||
stores per a single formal parameter of a function.
|
stores per a single formal parameter of a function.
|
||||||
|
|
||||||
@item lto-partitions
|
@item lto-partitions
|
||||||
Specify desired nuber of partitions produced during WHOPR copmilation.
|
Specify desired number of partitions produced during WHOPR compilation.
|
||||||
Number of partitions should exceed number of CPUs used for compilatoin.
|
The number of partitions should exceed the number of CPUs used for compilation.
|
||||||
Default value is 32.
|
The default value is 32.
|
||||||
|
|
||||||
@item lto-minpartition
|
@item lto-minpartition
|
||||||
Size of minimal paritition for WHOPR (in estimated instructions).
|
Size of minimal partition for WHOPR (in estimated instructions).
|
||||||
This prevents expenses of splitting very small programs into too many
|
This prevents expenses of splitting very small programs into too many
|
||||||
partitions.
|
partitions.
|
||||||
|
|
||||||
|
@ -12339,10 +12339,10 @@ the system libraries and startup modules.
|
||||||
@item -mvect8-ret-in-mem
|
@item -mvect8-ret-in-mem
|
||||||
@opindex mvect8-ret-in-mem
|
@opindex mvect8-ret-in-mem
|
||||||
Return 8-byte vectors in memory instead of MMX registers. This is the
|
Return 8-byte vectors in memory instead of MMX registers. This is the
|
||||||
default on Solaris~8 and 9 and VxWorks to match the ABI of the Sun
|
default on Solaris@tie{}8 and 9 and VxWorks to match the ABI of the Sun
|
||||||
Studio compilers until version 12. Later compiler versions (starting
|
Studio compilers until version 12. Later compiler versions (starting
|
||||||
with Studio 12 Update~1) follow the ABI used by other x86 targets, which
|
with Studio 12 Update@tie{}1) follow the ABI used by other x86 targets, which
|
||||||
is the default on Solaris~10 and later. @emph{Only} use this option if
|
is the default on Solaris@tie{}10 and later. @emph{Only} use this option if
|
||||||
you need to remain compatible with existing code produced by those
|
you need to remain compatible with existing code produced by those
|
||||||
previous compiler versions or older versions of GCC.
|
previous compiler versions or older versions of GCC.
|
||||||
|
|
||||||
|
@ -13938,7 +13938,7 @@ This option is deprecated. Use @option{-fno-zero-initialized-in-bss} instead.
|
||||||
Use features of and schedule code for given CPU.
|
Use features of and schedule code for given CPU.
|
||||||
Supported values are in the format @samp{v@var{X}.@var{YY}.@var{Z}},
|
Supported values are in the format @samp{v@var{X}.@var{YY}.@var{Z}},
|
||||||
where @var{X} is a major version, @var{YY} is the minor version, and
|
where @var{X} is a major version, @var{YY} is the minor version, and
|
||||||
@var{Z} is compatiblity code. Example values are @samp{v3.00.a},
|
@var{Z} is compatibility code. Example values are @samp{v3.00.a},
|
||||||
@samp{v4.00.b}, @samp{v5.00.a}, @samp{v5.00.b}, @samp{v5.00.b}, @samp{v6.00.a}.
|
@samp{v4.00.b}, @samp{v5.00.a}, @samp{v5.00.b}, @samp{v5.00.b}, @samp{v6.00.a}.
|
||||||
|
|
||||||
@item -mxl-soft-mul
|
@item -mxl-soft-mul
|
||||||
|
@ -13975,7 +13975,7 @@ Use multiply high instructions for high part of 32x32 multiply.
|
||||||
|
|
||||||
@item -mxl-float-convert
|
@item -mxl-float-convert
|
||||||
@opindex mxl-float-convert
|
@opindex mxl-float-convert
|
||||||
Use hardware floating point converstion instructions.
|
Use hardware floating point conversion instructions.
|
||||||
|
|
||||||
@item -mxl-float-sqrt
|
@item -mxl-float-sqrt
|
||||||
@opindex mxl-float-sqrt
|
@opindex mxl-float-sqrt
|
||||||
|
@ -16066,9 +16066,9 @@ roots.
|
||||||
@opindex mrecip=opt
|
@opindex mrecip=opt
|
||||||
This option allows to control which reciprocal estimate instructions
|
This option allows to control which reciprocal estimate instructions
|
||||||
may be used. @var{opt} is a comma separated list of options, that may
|
may be used. @var{opt} is a comma separated list of options, that may
|
||||||
be preceeded by a @code{!} to invert the option:
|
be preceded by a @code{!} to invert the option:
|
||||||
@code{all}: enable all estimate instructions,
|
@code{all}: enable all estimate instructions,
|
||||||
@code{default}: enable the default instructions, equvalent to @option{-mrecip},
|
@code{default}: enable the default instructions, equivalent to @option{-mrecip},
|
||||||
@code{none}: disable all estimate instructions, equivalent to @option{-mno-recip};
|
@code{none}: disable all estimate instructions, equivalent to @option{-mno-recip};
|
||||||
@code{div}: enable the reciprocal approximation instructions for both single and double precision;
|
@code{div}: enable the reciprocal approximation instructions for both single and double precision;
|
||||||
@code{divf}: enable the single precision reciprocal approximation instructions;
|
@code{divf}: enable the single precision reciprocal approximation instructions;
|
||||||
|
@ -16178,7 +16178,7 @@ selected.
|
||||||
@opindex mbig-endian-data
|
@opindex mbig-endian-data
|
||||||
@opindex mlittle-endian-data
|
@opindex mlittle-endian-data
|
||||||
Store data (but not code) in the big-endian format. The default is
|
Store data (but not code) in the big-endian format. The default is
|
||||||
@option{-mlittle-endian-data}, ie to store data in the little endian
|
@option{-mlittle-endian-data}, i.e.@: to store data in the little endian
|
||||||
format.
|
format.
|
||||||
|
|
||||||
@item -msmall-data-limit=@var{N}
|
@item -msmall-data-limit=@var{N}
|
||||||
|
@ -18123,7 +18123,7 @@ code, provide near-perfect API export and prevent symbol clashes.
|
||||||
It is @strong{strongly} recommended that you use this in any shared objects
|
It is @strong{strongly} recommended that you use this in any shared objects
|
||||||
you distribute.
|
you distribute.
|
||||||
|
|
||||||
Despite the nomenclature, @code{default} always means public ie;
|
Despite the nomenclature, @code{default} always means public; i.e.,
|
||||||
available to be linked against from outside the shared object.
|
available to be linked against from outside the shared object.
|
||||||
@code{protected} and @code{internal} are pretty useless in real-world
|
@code{protected} and @code{internal} are pretty useless in real-world
|
||||||
usage so the only other commonly used option will be @code{hidden}.
|
usage so the only other commonly used option will be @code{hidden}.
|
||||||
|
@ -18151,7 +18151,7 @@ the declarations you wish to set visibility for with (for example)
|
||||||
@samp{#pragma GCC visibility pop}.
|
@samp{#pragma GCC visibility pop}.
|
||||||
Bear in mind that symbol visibility should be viewed @strong{as
|
Bear in mind that symbol visibility should be viewed @strong{as
|
||||||
part of the API interface contract} and thus all new code should
|
part of the API interface contract} and thus all new code should
|
||||||
always specify visibility when it is not the default ie; declarations
|
always specify visibility when it is not the default; i.e., declarations
|
||||||
only for use within the local DSO should @strong{always} be marked explicitly
|
only for use within the local DSO should @strong{always} be marked explicitly
|
||||||
as hidden as so to avoid PLT indirection overheads---making this
|
as hidden as so to avoid PLT indirection overheads---making this
|
||||||
abundantly clear also aids readability and self-documentation of the code.
|
abundantly clear also aids readability and self-documentation of the code.
|
||||||
|
|
|
@ -557,7 +557,7 @@ functions are part of the public ``API'' and are the preferred way to
|
||||||
interact with method signatures from user code.
|
interact with method signatures from user code.
|
||||||
|
|
||||||
But if you need to debug a problem with method signatures and need to
|
But if you need to debug a problem with method signatures and need to
|
||||||
know how they are implemented (ie, the ``ABI''), read on.
|
know how they are implemented (i.e., the ``ABI''), read on.
|
||||||
|
|
||||||
Methods have their ``signature'' encoded and made available to the
|
Methods have their ``signature'' encoded and made available to the
|
||||||
runtime. The ``signature'' encodes all the information required to
|
runtime. The ``signature'' encodes all the information required to
|
||||||
|
@ -1030,13 +1030,13 @@ enumeration, you need to have it implement the method
|
||||||
@smallexample
|
@smallexample
|
||||||
- (unsigned long) countByEnumeratingWithState: (NSFastEnumerationState *)state
|
- (unsigned long) countByEnumeratingWithState: (NSFastEnumerationState *)state
|
||||||
objects: (id *)objects
|
objects: (id *)objects
|
||||||
count: (unsigneld long)len;
|
count: (unsigned long)len;
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
where @code{NSFastEnumerationState} must be defined in your code as follows:
|
where @code{NSFastEnumerationState} must be defined in your code as follows:
|
||||||
|
|
||||||
@smallexample
|
@smallexample
|
||||||
typdef struct
|
typedef struct
|
||||||
@{
|
@{
|
||||||
unsigned long state;
|
unsigned long state;
|
||||||
id *itemsPtr;
|
id *itemsPtr;
|
||||||
|
|
|
@ -748,7 +748,7 @@ options to enable at particular sets of optimization levels. These
|
||||||
options are processed once
|
options are processed once
|
||||||
just after the optimization level is determined and before the remainder
|
just after the optimization level is determined and before the remainder
|
||||||
of the command options have been parsed, so may be overridden by other
|
of the command options have been parsed, so may be overridden by other
|
||||||
options passed explicily.
|
options passed explicitly.
|
||||||
|
|
||||||
This processing is run once at program startup and when the optimization
|
This processing is run once at program startup and when the optimization
|
||||||
options are changed via @code{#pragma GCC optimize} or by using the
|
options are changed via @code{#pragma GCC optimize} or by using the
|
||||||
|
@ -4224,7 +4224,7 @@ required.
|
||||||
@end defmac
|
@end defmac
|
||||||
|
|
||||||
@deftypefn {Target Hook} {unsigned int} TARGET_FUNCTION_ARG_BOUNDARY (enum machine_mode @var{mode}, const_tree @var{type})
|
@deftypefn {Target Hook} {unsigned int} TARGET_FUNCTION_ARG_BOUNDARY (enum machine_mode @var{mode}, const_tree @var{type})
|
||||||
This hook returns the the alignment boundary, in bits, of an argument
|
This hook returns the alignment boundary, in bits, of an argument
|
||||||
with the specified mode and type. The default hook returns
|
with the specified mode and type. The default hook returns
|
||||||
@code{PARM_BOUNDARY} for all arguments.
|
@code{PARM_BOUNDARY} for all arguments.
|
||||||
@end deftypefn
|
@end deftypefn
|
||||||
|
@ -4337,7 +4337,7 @@ SSE registers for floating point operations. On such targets, a good
|
||||||
strategy may be to return nonzero from this hook for @code{INTEGRAL_MODE_P}
|
strategy may be to return nonzero from this hook for @code{INTEGRAL_MODE_P}
|
||||||
machine modes but zero for the SSE register classes.
|
machine modes but zero for the SSE register classes.
|
||||||
|
|
||||||
The default version of this hook retuns false for any mode. It is always
|
The default version of this hook returns false for any mode. It is always
|
||||||
safe to redefine this hook to return with a nonzero value. But if you
|
safe to redefine this hook to return with a nonzero value. But if you
|
||||||
unnecessarily define it, you will reduce the amount of optimizations
|
unnecessarily define it, you will reduce the amount of optimizations
|
||||||
that can be performed in some cases. If you do not define this hook
|
that can be performed in some cases. If you do not define this hook
|
||||||
|
@ -6640,11 +6640,11 @@ round of multipass scheduling.
|
||||||
@end deftypefn
|
@end deftypefn
|
||||||
|
|
||||||
@deftypefn {Target Hook} void TARGET_SCHED_FIRST_CYCLE_MULTIPASS_INIT (void *@var{data})
|
@deftypefn {Target Hook} void TARGET_SCHED_FIRST_CYCLE_MULTIPASS_INIT (void *@var{data})
|
||||||
This hook initilizes target-specific data used in multipass scheduling.
|
This hook initializes target-specific data used in multipass scheduling.
|
||||||
@end deftypefn
|
@end deftypefn
|
||||||
|
|
||||||
@deftypefn {Target Hook} void TARGET_SCHED_FIRST_CYCLE_MULTIPASS_FINI (void *@var{data})
|
@deftypefn {Target Hook} void TARGET_SCHED_FIRST_CYCLE_MULTIPASS_FINI (void *@var{data})
|
||||||
This hook finilizes target-specific data used in multipass scheduling.
|
This hook finalizes target-specific data used in multipass scheduling.
|
||||||
@end deftypefn
|
@end deftypefn
|
||||||
|
|
||||||
@deftypefn {Target Hook} int TARGET_SCHED_DFA_NEW_CYCLE (FILE *@var{dump}, int @var{verbose}, rtx @var{insn}, int @var{last_clock}, int @var{clock}, int *@var{sort_p})
|
@deftypefn {Target Hook} int TARGET_SCHED_DFA_NEW_CYCLE (FILE *@var{dump}, int @var{verbose}, rtx @var{insn}, int @var{last_clock}, int @var{clock}, int *@var{sort_p})
|
||||||
|
@ -8437,7 +8437,7 @@ to execute @command{nm}. The default is to search the path normally for
|
||||||
@command{collect2} calls @command{nm} to scan object files for static
|
@command{collect2} calls @command{nm} to scan object files for static
|
||||||
constructors and destructors and LTO info. By default, @option{-n} is
|
constructors and destructors and LTO info. By default, @option{-n} is
|
||||||
passed. Define @code{NM_FLAGS} to a C string constant if other options
|
passed. Define @code{NM_FLAGS} to a C string constant if other options
|
||||||
are needed to get the same output formut as GNU @command{nm -n}
|
are needed to get the same output format as GNU @command{nm -n}
|
||||||
produces.
|
produces.
|
||||||
@end defmac
|
@end defmac
|
||||||
|
|
||||||
|
@ -10510,7 +10510,7 @@ condition code values with less instructions than the corresponding
|
||||||
machines, define the appropriate patterns. Use the names @code{incscc}
|
machines, define the appropriate patterns. Use the names @code{incscc}
|
||||||
and @code{decscc}, respectively, for the patterns which perform
|
and @code{decscc}, respectively, for the patterns which perform
|
||||||
@code{plus} or @code{minus} operations on condition code values. See
|
@code{plus} or @code{minus} operations on condition code values. See
|
||||||
@file{rs6000.md} for some examples. The GNU Superoptizer can be used to
|
@file{rs6000.md} for some examples. The GNU Superoptimizer can be used to
|
||||||
find such instruction sequences on other machines.
|
find such instruction sequences on other machines.
|
||||||
|
|
||||||
If this macro is not defined, the default value, 1, is used. You need
|
If this macro is not defined, the default value, 1, is used. You need
|
||||||
|
|
|
@ -742,7 +742,7 @@ options to enable at particular sets of optimization levels. These
|
||||||
options are processed once
|
options are processed once
|
||||||
just after the optimization level is determined and before the remainder
|
just after the optimization level is determined and before the remainder
|
||||||
of the command options have been parsed, so may be overridden by other
|
of the command options have been parsed, so may be overridden by other
|
||||||
options passed explicily.
|
options passed explicitly.
|
||||||
|
|
||||||
This processing is run once at program startup and when the optimization
|
This processing is run once at program startup and when the optimization
|
||||||
options are changed via @code{#pragma GCC optimize} or by using the
|
options are changed via @code{#pragma GCC optimize} or by using the
|
||||||
|
@ -4212,7 +4212,7 @@ required.
|
||||||
@end defmac
|
@end defmac
|
||||||
|
|
||||||
@hook TARGET_FUNCTION_ARG_BOUNDARY
|
@hook TARGET_FUNCTION_ARG_BOUNDARY
|
||||||
This hook returns the the alignment boundary, in bits, of an argument
|
This hook returns the alignment boundary, in bits, of an argument
|
||||||
with the specified mode and type. The default hook returns
|
with the specified mode and type. The default hook returns
|
||||||
@code{PARM_BOUNDARY} for all arguments.
|
@code{PARM_BOUNDARY} for all arguments.
|
||||||
@end deftypefn
|
@end deftypefn
|
||||||
|
@ -4325,7 +4325,7 @@ SSE registers for floating point operations. On such targets, a good
|
||||||
strategy may be to return nonzero from this hook for @code{INTEGRAL_MODE_P}
|
strategy may be to return nonzero from this hook for @code{INTEGRAL_MODE_P}
|
||||||
machine modes but zero for the SSE register classes.
|
machine modes but zero for the SSE register classes.
|
||||||
|
|
||||||
The default version of this hook retuns false for any mode. It is always
|
The default version of this hook returns false for any mode. It is always
|
||||||
safe to redefine this hook to return with a nonzero value. But if you
|
safe to redefine this hook to return with a nonzero value. But if you
|
||||||
unnecessarily define it, you will reduce the amount of optimizations
|
unnecessarily define it, you will reduce the amount of optimizations
|
||||||
that can be performed in some cases. If you do not define this hook
|
that can be performed in some cases. If you do not define this hook
|
||||||
|
@ -6622,11 +6622,11 @@ round of multipass scheduling.
|
||||||
@end deftypefn
|
@end deftypefn
|
||||||
|
|
||||||
@hook TARGET_SCHED_FIRST_CYCLE_MULTIPASS_INIT
|
@hook TARGET_SCHED_FIRST_CYCLE_MULTIPASS_INIT
|
||||||
This hook initilizes target-specific data used in multipass scheduling.
|
This hook initializes target-specific data used in multipass scheduling.
|
||||||
@end deftypefn
|
@end deftypefn
|
||||||
|
|
||||||
@hook TARGET_SCHED_FIRST_CYCLE_MULTIPASS_FINI
|
@hook TARGET_SCHED_FIRST_CYCLE_MULTIPASS_FINI
|
||||||
This hook finilizes target-specific data used in multipass scheduling.
|
This hook finalizes target-specific data used in multipass scheduling.
|
||||||
@end deftypefn
|
@end deftypefn
|
||||||
|
|
||||||
@hook TARGET_SCHED_DFA_NEW_CYCLE
|
@hook TARGET_SCHED_DFA_NEW_CYCLE
|
||||||
|
@ -8407,7 +8407,7 @@ to execute @command{nm}. The default is to search the path normally for
|
||||||
@command{collect2} calls @command{nm} to scan object files for static
|
@command{collect2} calls @command{nm} to scan object files for static
|
||||||
constructors and destructors and LTO info. By default, @option{-n} is
|
constructors and destructors and LTO info. By default, @option{-n} is
|
||||||
passed. Define @code{NM_FLAGS} to a C string constant if other options
|
passed. Define @code{NM_FLAGS} to a C string constant if other options
|
||||||
are needed to get the same output formut as GNU @command{nm -n}
|
are needed to get the same output format as GNU @command{nm -n}
|
||||||
produces.
|
produces.
|
||||||
@end defmac
|
@end defmac
|
||||||
|
|
||||||
|
@ -10468,7 +10468,7 @@ condition code values with less instructions than the corresponding
|
||||||
machines, define the appropriate patterns. Use the names @code{incscc}
|
machines, define the appropriate patterns. Use the names @code{incscc}
|
||||||
and @code{decscc}, respectively, for the patterns which perform
|
and @code{decscc}, respectively, for the patterns which perform
|
||||||
@code{plus} or @code{minus} operations on condition code values. See
|
@code{plus} or @code{minus} operations on condition code values. See
|
||||||
@file{rs6000.md} for some examples. The GNU Superoptizer can be used to
|
@file{rs6000.md} for some examples. The GNU Superoptimizer can be used to
|
||||||
find such instruction sequences on other machines.
|
find such instruction sequences on other machines.
|
||||||
|
|
||||||
If this macro is not defined, the default value, 1, is used. You need
|
If this macro is not defined, the default value, 1, is used. You need
|
||||||
|
|
Loading…
Reference in New Issue