HP Pascal/iX Reference Manual (31502-90022)

12- 56
where
num
is the number of basic blocks a procedure can have before the
optimizer drops down to Level 1 optimization.
NOTE To get the "old" behavior of -O, (for example, to disable
completely the basic blocks feature), you can use the following
form of the directive:
$OPTIMIZE 'BASIC_BLOCKS 0'$
Notice that 0 has a special meaning here; it does not mean zero
basic blocks.
On HP-UX, the +Obb
num
command-line option can be specified instead of the
$OPTIMIZE 'BASIC_BLOCKS
num
'$ compiler option.
OPTIMIZE 'BASIC_BLOCK_FENCE num' Compiler Option
This option allows you to change the default level of basic blocks (500)
at which the optimizer drops down to Level 1 optimization.
Syntax
$OPTIMIZE 'BASIC_BLOCK_FENCE
num
'$
where
num
is the number of basic blocks at which the optimizer drops down
to Level 1 optimization.
This option does
not
request optimization; it only says that when Level 2
optimization is requested, to change the default level at which the
optimizer drops down to Level 1.
NOTE To disable completely the basic blocks feature (for example, to
disable the dropping from Level 2 to Level 1), you can use the
following form of the directive:
$OPTIMIZE 'BASIC_BLOCK_FENCE 0'$
When this form of the option is specified Level 2 is requested, the
"old" level 2 will be available; that is, no dropping from Level 2
to Level 1.
Notice that 0 has a special meaning here; it does not mean zero
basic blocks.
Example
$OPTIMIZE 'LEVEL1'$
PROGRAM x;
PROCEDURE y $OPTIMIZE 'LEVEL2'$; {Compiled with level two optimization}
BEGIN {y}
.
.
.
END; {y}
PROCEDURE z; {Compiled with level two optimization}
BEGIN {z}
.
.
.