|Non-Confidential||PDF version||ARM DUI0472J|
|Home > Compiler Command-line Options > --retain=option|
Restricts the optimizations performed by the compiler.
option is one of the following:
prevents the removal of unused functions
prevents the removal of unused inline functions
prevents the removal of unused non-inline functions
prevents path-removing optimizations, such as
a||b transformed to
a|b. This supports Modified Condition
Decision Coverage (MCDC) testing.
prevents calls being removed, for example by inlining or tailcalling.
prevents calls being merged, for example by cross-jumping (that is, common tail path merging).
prevents calls to library functions being removed, for example by inline expansion.
prevents data being removed.
prevents read-only data being removed.
prevents read-write data being removed.
prevents data being reordered.
option is unspecified, the compiler faults use of
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.