8.81 --feedback=filename

リンカがコンパイラと通信して未使用の関数を削除できるようにします。

構文

--feedback= filename
各項目には以下の意味があります。
filename
ARM リンカの前回の実行で作成されたフィードバックファイルです。

使用法

同じフィードバックファイルを使用してコンパイルを複数回実行できます。コンパイラによって、フィードバックファイルで特定された未使用の関数は、対応するオブジェクトファイル内の各関数独自の ELF セクションに配置されます。
フィードバックファイルには、前回のビルドに関する情報が含まれています。その理由は以下のとおりです。
  • フィードバックファイルは、情報が古い場合があります。たとえば、未使用であると識別された関数が現在のソースコードで使用されている場合があります。未使用の関数のコードは、現在のソースコードで使用されていない場合のみ、リンカによって削除されます。

    • このため、リンカフィードバックを使用して未使用の関数を削除することは安全な最適化ですが、コードサイズにはあまり影響を及ぼさない場合があります。
    • インターワークに必要なコンパイルを削減する場合の使用要件は、未使用の関数を削除する場合の要件より厳格です。インターワークに必要なコンパイルを削減する場合は、フィードバックファイルをその生成元であるソースコードに合わせて、常に最新の状態に保つことが重要となります。
  • リンカフィードバックを最大限に活用するには、完全なコンパイルとリンクを 2 回以上実行する必要があります。ただし、通常は、前回のビルドのフィードバックを使用して 1 回コンパイルしてリンクすれば十分です。
関連する参考文書
8.175 --split_sections
2.15 コンパイル中のリンカフィードバック
関連情報
--feedback_type=type リンカオプション
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.