3

-notrace

The -notraceoption disables runtime traceback. It is only effective when compiling the main program.

–O[level]

The –Ooption instructs the compiler to run the compiled program through the object code optimizer. The –Ooption also calls the –Poption, which ensures boolean expressions are only evaluated as much as needed to determine the result. This process causes an increase in compile time in exchange for a decrease in compiled code size and execution time.

There are four levels of optimization. You indicate the level by specifying a digit from 1 to 4 after the –Ooption. If you leave out the digit, the optimization level defaults to –O2.

The level numbers are interpreted as follows:

–O

This is the most likely level of optimization to give fastest performance for most reasonable applications. The default is –O2.

–O1,-xO1

This is the minimum amount of optimization (peephole) and is postpass assembly-level. Do not use –O1unless -O2and -O3result in excessive compilation time or shortage of swap space.

–O2,-xO2

This is the basic local and global optimization—induction-variable elimination, local and global common subexpression elimination, algebraic simplification, copy propagation, constant propagation, loop- invariant optimization, register allocation, control-flow optimization, tail-recursion elimination, dead-code elimination, and tail-call elimination.

Level -O2does not optimize references to or definitions of external or indirect variables. This level is the appropriate level for device drivers and programs that modify external variables from within signal handlers.

36

Pascal 4.0 User’s Guide