The -roundoff
switch allows you to specify the change
from serial roundoff error that is tolerable. If an arithmetic
reduction is accumulated in a different order than in the scalar
program, the roundoff error is accumulated differently and the
final result may differ from that of the original program. While
the difference is usually insignificant, certain restructuring
transformations performed by KAP must be disabled to obtain exactly
the same results as the scalar program. These transformations, are
discussed further in Chapter 8.
KAP classifies its transformations by the amount of difference in
roundoff error that can accumulate so you can decide what level of
roundoff error differences is allowable. The -roundoff
command switch has the values 0 to 3.
Roundoff levels are cumulative, performing what is listed for each level, as well as what is listed for the lower levels. The meaning of each roundoff level is as follows:
0
- Allow no roundoff-changing
transformations.
1
- Enable expression simplification
and code floating. Recognize arithmetic reductions.
Allow loop interchanging around arithmetic reductions,
if -optimize
>4. Allow loop rerolling, when
-scalaropt
>1.
2
- Allow reciprocal substitution in loops.
3
- Recognize induction variables whose types
are not the default integer type if -scalaropt
>2 or -optimize
>1. Enable memory management, if
-scalaropt=3
. INTEGER multiple division can be
rotated into multiplication.
Copyright © Digital Equipment Corporation. 1997.
All Rights Reserved.