リンカによる関数のインライン化

リンカは関数への分岐命令を使用する代わりに、小さな関数をインライン化できます。 リンカがこれを行うには、関数(復帰命令は含まない)が分岐命令の 4 バイト以内に収まる必要があります。

分岐のインライン化を制御するには、--inline コマンドラインオプションと --no_inline コマンドラインオプションを使用します。

分岐のインライン化の最適化を有効にすると、リンカはイメージ内の各関数呼び出しをスキャンして、必要に応じてインライン化します。 リンカは、インライン化に適した関数を検出すると、その関数呼び出しを呼び出し先関数の命令に置き換えます。

リンカは、未使用セクションが削除される前に分岐のインライン化の最適化を適用するので、呼び出されなくなったインライン化セクションも削できます。

Note

リンカは 32 ビット Thumb BL 命令の代わりに、2 つの 16 ビット命令をインライン化できます。

インライン化関数をすべてリスト表示するには、--info=inline コマンドラインオプションを使用します。

Show/hide関連項目

Copyright © 2010-2012 ARM. All rights reserved.ARM DUI 0474GJ
Non-ConfidentialID051612