| inlining. This option has the following |
| syntax: |
| +Oinline_budget=n |
| where n is an integer in the range 1 - |
| 1000000 that specifies the level of |
| aggressiveness, as listed in Table on page |
| 70. |
| The +Onolimit and +Osize options |
| also affect inlining. Specifying the |
| +Onolimitoption has the same effect as |
| specifying +Oinline_budget=200. The |
| +Osize option has the same effect as |
| +Oinline_budget=1. |
| Note, however, that the |
| +Oinline_budget option takes |
| precedence over both of these options. |
| This means that you can override the effect |
| of +Onolimit or +Osizeoption on |
| inlining by specifying the |
| +Oinline_budgetoption on the same |
| command line. |
| This option is only effective at optimization |
| level 3 or higher. |
|
|
Table 19 Values for the +Oinline_budget option | |
|
|
Values for n | Meaning |
|
|
= 100 | Default level of inlining. |
|
|
> 100 | More aggressive inlining. The optimizer is less restricted by compilation time and code size |
| when searching for eligible routines to inline. |
|
|
2 - 99 | Less aggressive inlining. The optimizer gives more weight to compilation time and code size |
| when determining whether to inline. |
|
|
= 1 | Only inline if it reduces code size. |
|
|
|
|
+O[no]libcalls invokes millicode versions of a number of frequently called intrinsic functions; see Table on page
70.Millicode routines have very low call overhead and provide no
The default is +Onolibcallsat optimization levels 0 and 1; at optimization level 2 or higher, the default is +Olibcalls.
Table 20 Millicode versions of intrinsic functions
acos | cos | pow |
asin | exp | sin |
atan | log | tan |
atan2 | log10 |
|
|
|
|
+o[no]libmerrno | Enable [disable] support for errnoin libm functions. |
| The default is +Onolibmerrno. |
+O[no]loop_block | +O[no]loop_blockenables or disables blocking of |
| eligible loops for improved cache performance. The |
| +Onoloop_blockoption disables both automatic and |
|
45 |