Accelerator Manual (G06.27+, H06.04+, J06.03+)

Using the Accelerator
Accelerator Manual527303-003
4-10
Specifying Accelerated Libraries
You can direct the Accelerator to optimize only within each code sequence resulting
from a source language statement; it does not optimize across two or more source
statements within a procedure. Although this code is not as highly optimized, you can
trace the RISC code to the corresponding TNS code more easily because statement
boundaries are preserved.
The ProcDebug and StmtDebug options specify the debugging mode:
If you accelerate with the ProcDebug option (the default case), you can set Inspect
breakpoints and examine memory at most statement boundaries. You cannot
examine TNS registers or reliably modify memory at these breakpoints.
If you accelerate with the StmtDebug option, you can set Inspect breakpoints,
examine and modify memory, and examine and modify TNS registers at all
statement boundaries.
To assist in debugging, accelerate your program with the Inspect symbols region
present to ensure that the Accelerator finds the exact statement boundaries. Use the
following Binder command to determine if your TNS object file has a symbols region:
SHOW SET SYMBOLS FROM file-name
Refer to Section 7, Debugging Accelerated Programs for more information.
Specifying Accelerated Libraries
A user code program (a program that runs in user code space), regardless of whether
it is accelerated, can use a user library or a shared run-time library that has been
accelerated.
You accelerate a library file as you would any user code file, except that you must also
specify the user library code space with the UL option. Refer to Specifying the Code
Space on page 4-8 for more details.
Accelerate your library file before you accelerate any user code programs that call it.
The Accelerator uses information about global options and return value sizes from the
accelerated library to produce a more optimized accelerated user code program. When
you accelerate a user code program, specify a UserLib option for the accelerated
library file called by the user code program. For example, if your accelerated library is
called AXLIB, and the program that uses it is called AXPROG, the two Accelerator
commands that produced them might be as follows:
AXCEL LIB, AXLIB; UL AXCEL PROG, AXPROG; UserLib AXLIB
Similarly, in the OSS environment, you specify the following:
c89 [-o axlib] -Waxcel="UL" /tmp/lib c89 [-o axprog] -
Waxcel="UserLib axlib" /tmp/prog
The Accelerator resolves partially qualified pathnames using the current working. (If
you run the Accelerator using the gtacl command, pathnames must be fully
qualified.) Unlike Guardian file names, OSS pathnames are case sensitive.