noft Manual (G06.27+, H06.03+, J06.03+)
noft Utility
noft Manual—528273-003
2-11
Debugging With noft
At optimization level 2, the native compiler:
•
Replaces the variable i with a derived pointer expression or an induction variable.
•
Eliminates the parameter load and store operations at the procedure entrance by
placing the code inline. This action can result in a larger object code file.
•
Optimizes across compound statement boundaries. (A loop is an example of a
compound statement.)
•
Uses registers instead of using memory extensively.
•
Changes the loop to load four values at a time instead of one value at a time.
The difference between optimize 1 and optimize 2 is typically much less than it
is in Example 2-3 on page 2-7. This example was chosen to show how the compiler
optimization can result in quite different code at the source statement level. The
program at optimize 2 steps through the loop five times instead of 20 times. The
value of b is also quite different in each loop.