24.05.2014 Views

XL Fortran Enterprise Edition for AIX : User's Guide - IBM

XL Fortran Enterprise Edition for AIX : User's Guide - IBM

XL Fortran Enterprise Edition for AIX : User's Guide - IBM

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

compiler can optimize calls to these procedures (<strong>for</strong> example, by<br />

eliminating save/restore sequences), because the calls never return to the<br />

program. These procedures must not call any other parts of the program<br />

that are compiled with -qipa.<br />

inline=inline-options<br />

The -qipa=inline= command can take a colon-separated list of inline<br />

options, as listed below:<br />

inline=auto | noauto<br />

Specifies whether to automatically inline procedures.<br />

inline=limit=number<br />

Changes the size limits that the -Q option uses to determine how<br />

much inline expansion to do. This established “limit” is the size<br />

below which the calling procedure must remain. number is the<br />

optimizer’s approximation of the number of bytes of code that will<br />

be generated. Larger values <strong>for</strong> this number allow the compiler to<br />

inline larger subprograms, more subprogram calls, or both. This<br />

argument is implemented only when inline=auto is on.<br />

inline=procedure_names<br />

Specifies a list of procedures to try to inline.<br />

inline=threshold=number<br />

Specifies the upper size limit on procedures to be inlined, where<br />

number is a value as defined under the inline suboption “limit”.<br />

This argument is implemented only when “inline=auto” is on.<br />

Note: By default, the compiler will try to inline all procedures, not just<br />

those that you specified with the inline=procedure_names suboption.<br />

If you want to turn on inlining <strong>for</strong> only certain procedures, specify<br />

inline=noauto after you specify inline=procedure_names. (You must<br />

specify the suboptions in this order.) For example, to turn off<br />

inlining <strong>for</strong> all procedures other than <strong>for</strong> sub1, specify<br />

-qipa=inline=sub1:inline=noauto.<br />

isolated=procedure_names<br />

Specifies a comma-separated list of procedures that are not compiled with<br />

-qipa. Procedures that you specify as “isolated” or procedures within their<br />

call chains cannot refer directly to any global variable.<br />

level=level<br />

Determines the amount of interprocedural analysis and optimization that is<br />

per<strong>for</strong>med:<br />

0 Does only minimal interprocedural analysis and optimization.<br />

1 Turns on inlining, limited alias analysis, and limited call-site<br />

tailoring.<br />

2 Full interprocedural data flow and alias analysis. Specifying -O5 is<br />

equivalent to specifying -O4 and -qipa=level=2.<br />

The default level is 1.<br />

list=[filename | short | long]<br />

Specifies an output listing file name during the link phase, in the event<br />

that an object listing has been requested using either the -qlist or the<br />

-qipa=list compiler option and allows the user to direct the type of output.<br />

If you do not specify the filename suboption, the default file name is ″a.lst″.<br />

<strong>XL</strong> <strong>Fortran</strong> Compiler-Option Reference 183

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

Saved successfully!

Ooh no, something went wrong!