-Onum

このオプションを使用すると、ソースファイルのコンパイル時に使用する最適化レベルを指定できます。

Show/hide構文

-Onum

num には、以下のいずれかを指定します。

0

最小限の最適化。ほとんどの最適化を実行しません。デバッグビューを可能な限り最適化する、最も低い最適化レベルです。

1

制限された最適化。未使用のインライン関数と静的関数を削除します。デバッグビューに著しく悪影響を及ぼす最適化は実行しません。このオプションを --debug と組み合わせて使用すると、十分満足できるデバッグビューと優れたコード密度が提供されます。

2

高度な最適化。--debug と組み合わせて使用すると、オブジェクトコードとソースコードとの間のマップが明確でない場合があるため、デバッグビューの質は低下します。

これがデフォルトの最適化レベルです。

3

最大限の最適化。-O3-O2 と同じ最適化を実行しますが、-O2 と比べると、生成されるコードのサイズや実行速度のバランスを重点的に最適化します。つまり、以下のようになります。

  • -O3 -Otime を指定すると、イメージのサイズが大きくなる可能性はありますが、-O2 -Otime を指定した場合よりも実行速度が速いコードが生成されるように最適化されます。

  • -O3 -Ospace を指定すると、実行速度が遅くなる可能性はありますが、-O2 -Ospace を指定した場合よりもコードのサイズが小さくなるように最適化されます。

また、-O3 を使用すると、さらに以下のような強力な最適化を実行できます。

  • ループの展開など、-O3 -Otime が指定された場合のハイレベルのスカラの最適化。コードサイズの増加を抑えながらパフォーマンスを大幅に向上できますが、ビルドに時間がかかる可能性があります。

  • -O3 -Otime が指定された場合の、より強力なインライン展開とインライン展開の自動化。

Note

--fpmode オプションを使用して該当する数値モデルを選択すると、浮動小数点コードのパフォーマンスが影響を受ける場合があります。

Note

最適化オプションの実装情報は今後のリリースで変更される可能性があるため、これらの情報に依存しないようにして下さい。

Show/hideデフォルト

-Onum を指定しない場合は、-O2 が想定されます。

Show/hide関連項目

Copyright © 2010 ARM. All rights reserved.ARM DUI 0491BJ
Non-ConfidentialID011811