noft Manual (G06.26+)
Table Of Contents
- What’s New in This Manual
- About This Manual
- 1 Introduction
- 2 noft Utility
- 3 noft Options
- Break Key
- ! (Exclamation Point)
- CD
- COMMENT
- DUMPADDRESS or DA
- DUMPOFFSET or DO
- DUMPPROC or DP
- DYNSTR2
- ENV
- EXIT or E
- FC
- FILE or F
- HELP or ?
- HISTORY or H
- LAYOUT
- LIBLIST
- LISTATTRIBUTE or LA
- LISTCOMPILERS or LC
- LISTOPTIMIZE or LO
- LISTPROC or LP
- LISTSOURCE or LS
- LISTSRLEXPORTS or LLE
- LISTSRLFIXUPS or LLF
- LISTSRLINFO or LLI
- LISTUNREFERENCED or LUR
- LISTUNRESOLVED or LU
- LOG
- OBEY
- OUT
- QUIT or Q
- RESET
- SET
- SHOW
- SYSTEM or VOLUME
- XREFPROC or XP
- 4 noft Diagnostic Messages
- 5 ar Utility
- 6 ar Diagnostic Messages
- A Sample nld and noft Session
- B Converting From Binder to noft
- C Native Object File Structure
- Glossary
- Index

noft Utility
noft Manual—528273-001
2-11
Debugging With noft
At optimization level 1, the native compiler:
•
Optimizes across statement boundaries to remove nop instructions.
•
Uses registers instead of memory.
•
Optimizes by finding common subexpressions.
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 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 though the loop five times instead of 20 times. The
value of b is also quite different in each loop.