User's Guide
Here are some reasons why an optimized program might produce different
results from those of an unoptimized one:
- Optimized code can fail if a program contains code that is not
valid. For example, failure can occur if the program passes an actual
argument that also appears in a common block in the called procedure, or if
two or more dummy arguments are associated with the same actual
argument.
- If a program that worked without optimization fails when compiled with it,
check the cross-reference listing and the execution flow of the program for
variables that are used before they are initialized. Compile with the
option -qinitauto=ff to try to produce the incorrect results
consistently. (Programs with uninitialized variables may appear to work
properly when compiled without optimization because of the default assumptions
the compiler makes, but may fail when compiled with optimization.)
- Use with caution debugging techniques that rely on examining values in
storage. The compiler might have deleted or moved a common expression
evaluation. It might have assigned some variables to registers, so that
they do not appear in storage at all.
[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]
© Copyright IBM Corporation 1990, 1998.