Red Hat ENTERPRISE LINUX 3 - USING GCC Using Instructions page 60

Using the gnu compiler collection (gcc)
Hide thumbs Also See for ENTERPRISE LINUX 3 - USING GCC:
Table of Contents

Advertisement

54
-fsched2-use-superblocks
When schedulilng after register allocation, do use superblock scheduling algorithm. Superblock
scheduling allows motion across basic block boundaries resulting on faster schedules. This option
is experimental, as not all machine descriptions used by GCC model the CPU closely enough to
avoid unreliable results from the algorithm.
This only makes sense when scheduling after register allocation, i.e. with
or at
or higher.
-O2
-fsched2-use-traces
Use
-fsched2-use-superblocks
additionally perform code duplication in order to increase the size of superblocks using tracer
pass. See
-ftracer
This mode should produce faster but significantly longer programs. Also without
-fbranch-probabilities
performance. This only makes sense when scheduling after register allocation, i.e. with
-fschedule-insns2
-fcaller-saves
Enable values to be allocated in registers that will be clobbered by function calls, by emitting
extra instructions to save and restore the registers around such calls. Such allocation is done only
when it seems to result in better code than would otherwise be produced.
This option is always enabled by default on certain machines, usually those which have no call-
preserved registers to use instead.
Enabled at levels
-fmove-all-movables
Forces all invariant computations in loops to be moved outside the loop.
-freduce-all-givs
Forces all general-induction variables in loops to be strength-reduced.
Note: When compiling programs written in Fortran,
-freduce-all-givs
These options may generate better or worse code; results are highly dependent on the structure
of loops within the source code.
These two options are intended to be removed someday, once they have helped determine the
efficacy of various approaches to improving loop optimizations.
Please let us (mailto:gcc@@gcc.gnu.org and mailto:fortran@@gnu.org) know how use of these
options affects the performance of your production code. We're very interested in code that runs
slower when these options are enabled.
-fno-peephole
-fno-peephole2
Disable any machine-specific peephole optimizations. The difference between
and
-fno-peephole2
some use the other, a few use both.
is enabled by default.
-fpeephole
for details on trace formation.
the traces constructed may not match the reality and hurt the
or at
or higher.
-O2
,
,
.
-O2
-O3
-Os
are enabled by default when you use the optimizer.
is in how they are implemented in the compiler; some targets use one,
-fpeephole2
Chapter 4. GCC Command Options
algorithm when scheduling after register allocation and
enabled at levels
-fschedule-insns2
-fmove-all-movables
-fno-peephole
,
,
.
-O2
-O3
-Os
and

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the ENTERPRISE LINUX 3 - USING GCC and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

This manual is also suitable for:

Enterprise linux 3

Table of Contents