| |||
| Home > Compiler Command-line Options > --retain=option | |||
This option enables you to restrict the optimizations performed by the compiler.
--retain=option
Where is
one of the following:option
fnsprevents the removal of unused functions
inlinefnsprevents the removal of unused inline functions
noninlinefnsprevents the removal of unused non-inline functions
pathsprevents
path-removing optimizations, such as a||b transformed
to a|b. This supports Modified Condition
Decision Coverage (MCDC) testing.
callsprevents calls being removed, for example by inlining or tailcalling.
calls:distinctprevents calls being merged, for example by cross-jumping (that is, common tail path merging).
libcallsprevents calls to library functions being removed, for example by inline expansion.
dataprevents data being removed.
rodataprevents read-only data being removed.
rwdataprevents read-write data being removed.
data:orderprevents data being reordered.
If is
unspecified, the compiler faults use of option --retain.
This option might be useful when performing validation, debugging, and coverage testing. In most other cases, it is not required.
Using this option can have a negative effect on code size and performance.