gcdm Decision Maker Option
6-3
6
describe substitution and substitution suppression. Detailed information
on controlling optimizations is presented in the discussion of
option-
list
in the next subsection.
Substitution Specifications
subst={
module-set
}{
option-list
}
In the linked program, gcdm,subst={
module-set
}{
option-list
}
causes substitution of modules optimized according to the
option-list
for all of the modules in
module-set
. Note that no space is allowed
between
module-set
and
option-list
.
A
module-set
specification is a string supplied by the user that names the
modules to be affected by the
gcdm option. For a description of how to
specify a
module-set
, see the Module-set Specification section at the end
of this chapter.
An
option-list
can consist of one or more of the substitution options
discussed in three categories below. Note that the first two categories are
mutually exclusive; you can use substitution options from the third
category with those from either of the first two categories. (For example,
the
+O5 control is incompatible in a substitution with the +fprof control.)
An option list can also consists of a single
+, specifying no substitution.
Whole-program Optimization Option (Category 1)
+O5
This option selects program-wide optimizations, including global function
inlining, superblock formation, and global alias analysis. This option is
not allowed in an
option-list
with module-local (Category 2) options.
Module-local Optimization Options (Category 2)
+fprof +O0 +O1 +O2 +O3 +O4
These module-local substitution options correspond to the gcc960 and
ic960 drivers'
-fprof (Instrument) and -O
n
(Optimize) options described
in Chapters 2 and 3. (The compilation system interprets the
-O
n