16.12.2012 Views

z/OS V1R9.0 UNIX System Services Command ... - Christian Grothoff

z/OS V1R9.0 UNIX System Services Command ... - Christian Grothoff

z/OS V1R9.0 UNIX System Services Command ... - Christian Grothoff

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

function boundaries, even across compilation units. It also performs<br />

optimizations not otherwise available with the z/<strong>OS</strong> XL C/C++<br />

compiler.<br />

When phase code I (capital letter I) is specified for the compilation<br />

phase, then IPA compilation steps are performed. When phase<br />

code I is specified for the link-editing phase, or when the first<br />

link-editing phase (code l) option is i or I, then an additional IPA<br />

Link step is performed prior to the prelink and link-edit steps.<br />

With conventional compilation and link-editing, the object code<br />

generation takes place during the compilation phase. With IPA<br />

compilation and link-editing, the object code generation takes place<br />

during the link-editing phase. Therefore, you might need to request<br />

listing information about the program (such as with the -V option)<br />

during the link-editing phase.<br />

Unlike the other phase codes, phase code I does not require that<br />

any additional options be specified. If they are, they should be<br />

specified for both the compilation and link-editing phases.<br />

No additional preparation needs to be done in order to use IPA.<br />

Example: To create the executable myIPApgm using c89 with some<br />

existing source program mypgm.c, you could specify:<br />

c89 –W I –o myIPApgm mypgm.c<br />

When IPA is used with c++, and automatic template generation is<br />

being used, phase code I will control whether the automatic<br />

template generation compiles are done using IPA. If you do not<br />

specify phase code I, then regular compiles will be done. Specifying<br />

I as the first option of the link-editing phase option (that is, -W l,I),<br />

will cause the IPA linker to be used, but will not cause the IPA<br />

compiler to be used for automatic template generation unless phase<br />

code I (that is, -W I) is also specified.<br />

The IPA Profile-Directed Feedback (PDF) option tunes<br />

optimizations, where results from sample program execution are<br />

used to improve optimization near conditional branches and in<br />

frequently executed code topics. The profiling information is placed<br />

in the file specified by the PDFNAME(filename) suboption. If<br />

PDFNAME(filename) is not specified, the default name of the file<br />

containing profile information is PDF.<br />

LP64 The LP64 option instructs the compiler to generate AMODE 64<br />

code utilizing the z/Architecture 64-bit instructions.<br />

To compile 64-bit code, specify the z/<strong>OS</strong> XL C/C++ LP64 compiler<br />

option.<br />

Example: The following example shows how to compile and bind<br />

using the LP64 option:<br />

c89 -o -W c,LP64 -Wl,LP64 file.c<br />

c89, cc, and c++<br />

XPLINK (Extra Performance Linkage)<br />

z/<strong>OS</strong> XPLINK provides improved performance for many C/C++<br />

programs. The XPLINK compiler option instructs the z/<strong>OS</strong> XL<br />

C/C++ compiler to generate high performance linkage for<br />

subroutine calls. It does so primarily by making subroutine calls as<br />

fast and efficient as possible, by reducing linkage overhead, and by<br />

Chapter 2. Shell command descriptions 79

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!