Table 29
Level | Level | Function |
|
|
| NOTE: | The optimizer tries |
|
| to determine the most likely | |
|
| target of indirect calls. If the | |
|
| profile data is incomplete or | |
|
| ambiguous, the optimizer | |
|
| may not select the best | |
|
| target. If this happens, your | |
|
| code’s performance may | |
|
| decrease. | |
|
| This option can be used at | |
|
| optimization levels 3 and 4. | |
|
| At +O3, it is only effective if | |
|
| indirect calls from functions | |
|
| within a file are mostly to | |
|
| target functions within the | |
|
| same file. This is because | |
|
| +O3optimizes only within a | |
|
| file whereas, +O4optimizes | |
|
| across files. | |
|
| The default is | |
|
| +Opromote_indirect_callsat | |
|
| optimization level 3 and | |
|
| above. |
|
|
| +Onopromote_indirect_callswill | |
|
| be the default at | |
|
| optimization level 2 and | |
|
| below. |
|
|
|
| |
+Orarely_called=function1[,function2...] | All | The named functions are | |
|
| assumed to be rarely called. | |
|
| This option overrides any | |
|
| information in a profile | |
|
| database. | |
|
|
| |
+Orarely_called:filename |
| The file indicated by | |
|
| filename contains a list of | |
|
| functions, separated by | |
|
| spaces or newlines. These | |
|
| functions are assumed to be | |
|
| rarely called. This option | |
|
| overrides any information in | |
|
| a profile database. | |
|
|
| |
+O[no]recovery | All | This option generates [does | |
|
| not generate] recovery code | |
|
| for control speculation. For | |
|
| code that writes to | |
|
| uncacheable memory that | |
|
| may not be properly | |
|
| identified as volatile, the | |
|
| +Orecoveryoption reduces | |
|
| the risk of incorrect | |
|
| behavior. The default is | |
|
| +Orecovery. | |
|
| NOTE: | The program that |
|
| uses signal handlers to catch | |
|
| signals raised by memory | |
|
| accesses may not behave | |
|
| correctly under | |
|
| +Onorecovery. |
Using options to control optimization | 97 |