Chapter 4. GCC Command Options
Similarly to
profile feedback and one for compilation without. The value for compilation with profile
feedback needs to be more conservative (higher) in order to make tracer effective.
max-cse-path-length
Maximum number of basic blocks on path that cse considers.
ggc-min-expand
GCC uses a garbage collector to manage its own memory allocation. This parameter spec-
ifies the minimum percentage by which the garbage collector's heap should be allowed to
expand between collections. Tuning this may improve compilation speed; it has no effect
on code generation.
The default is 30% + 70% * (RAM/1GB) with an upper bound of 100% when RAM
1GB. If
getrlimit
RLIMIT_RSS, RLIMIT_DATA and RLIMIT_AS. If GCC is not able to calculate RAM
on a particular platform, the lower bound of 30% is used. Setting this parameter and
ggc-min-heapsize
extremely slow, but can be useful for debugging.
ggc-min-heapsize
Minimum size of the garbage collector's heap before it begins bothering to collect garbage.
The first collection occurs after the heap expands by
ggc-min-heapsize
effect on code generation.
The default is RAM/8, with a lower bound of 4096 (four megabytes) and an upper bound of
131072 (128 megabytes). If
of actual RAM, RLIMIT_RSS, RLIMIT_DATA and RLIMIT_AS. If GCC is not able to
calculate RAM on a particular platform, the lower bound is used. Setting this parameter very
large effectively disables garbage collection. Setting this parameter and
to zero causes a full collection to occur at every opportunity.
max-reload-search-insns
The maximum number of instruction reload should look backward for equivalent register.
Increasing values mean more aggressive optimization, making the compile time increase
with probably slightly better performance. The default value is 100.
max-cselib-memory-location
The maximum number of memory locations cselib should take into acount. Increasing val-
ues mean more aggressive optimization, making the compile time increase with probably
slightly better performance. The default value is 500.
min-pretend-dynamic-size
Force any automatic object whose size in bytes is equal to or greater than the specified value
to be allocated dynamically, as if their size wasn't known to compile time. This enables their
storage to be released at the end of the block containing them, reducing total stack usage if
multiple functions with heavy stack use are inlined into a single function. It won't have any
effect on objects that are suitable for allocation to registers (i.e., that are sufficiently small
and that don't have their address taken), nor on objects allocated in the outermost block of
a function. The default, zero, causes objects whose sizes are known at compile time to have
storage allocated at function entry.
reorder-blocks-duplicate
tracer-dynamic-coverage
is available, the notion of "RAM" is the smallest of actual RAM,
to zero causes a full collection to occur at every opportunity. This is
. Again, tuning this may improve compilation speed, and has no
getrlimit
two values are present, one for compilation for
ggc-min-expand
is available, the notion of "RAM" is the smallest
71
=
% beyond
ggc-min-expand
Need help?
Do you have a question about the ENTERPRISE LINUX 4 and is the answer not in the manual?