opt - LLVMオプティマイザ¶
SYNOPSIS¶
opt [オプション] [ファイル名]
DESCRIPTION¶
optコマンドは、モジュール式のLLVMオプティマイザおよびアナライザです。LLVMソースファイルをインプットとして受け取り、指定された最適化または分析を実行し、最適化されたファイルをアウトプットします。optで利用可能な最適化は、リンクされたライブラリと、-load
オプションでロードされた追加ライブラリによって異なります。-help
オプションを使用して、使用できる最適化を確認してください。
コマンドラインからファイル名
が省略されている場合、または「-
」である場合、optは標準入力からインプットを読み取ります。インプットは、LLVMアセンブリ言語形式(.ll
)またはLLVMビットコード形式(.bc
)のいずれかです。
-o
オプションでアウトプットファイル名が指定されていない場合、optは標準出力にアウトプットを出力します。
OPTIONS¶
- -f¶
端末でのバイナリ出力の有効化。通常、optは、出力ストリームが端末の場合、生のビットコード出力の書き込みを拒否します。このオプションを使用すると、optは出力デバイスに関係なく、生のビットコードを書き込みます。
- -help¶
コマンドラインオプションの概要を出力します。
- -o <ファイル名>¶
出力ファイル名を指定します。
- -S¶
LLVM中間言語(ビットコードではなく)で出力します。
- -{パス名}¶
optは、LLVMの最適化パスまたは分析パスを任意の順序で実行する機能を提供します。
-help
オプションは、利用可能なすべてのパスを一覧表示します。コマンドラインでオプションが発生する順序は、それらが実行される順序です(パスの制約内)。
- -strip-debug¶
このオプションにより、optは他の最適化を適用する前に、モジュールからデバッグ情報を削除します。これは基本的に-stripと同じですが、デバッグ情報の削除が最初に実行されることを保証します。
- -verify-each¶
このオプションにより、コマンドラインでそれ以外に指定されたパス(-verifyを含む)の後に、検証パスが追加されます。これは、パスが無効なモジュールを作成している疑いがあるが、どのパスが原因であるかが不明な場合に役立ちます。
- -stats¶
統計情報を表示します。
- -time-passes¶
各パスに必要な時間を記録し、標準エラーに出力します。
- -debug¶
デバッグビルドの場合、このオプションは、
LLVM_DEBUG()
マクロを使用するパスからのデバッグプリントアウトを有効にします。LLVMプログラマーズマニュアルの#DEBUG
セクションを参照してください。
- -load=<プラグイン>¶
動的オブジェクト
プラグイン
をロードします。このオブジェクトは、新しい最適化パスまたは分析パスを登録する必要があります。ロードされると、オブジェクトはさまざまな最適化または分析を有効にする新しいコマンドラインオプションを追加します。最適化の新しい完全なリストを表示するには、-help
と-load
オプションを組み合わせて使用します。例えばopt -load=plugin.so -help
- -print-passes¶
利用可能なすべてのパスを出力して終了します。
EXIT STATUS¶
optが成功した場合、0で終了します。それ以外の場合、エラーが発生すると、ゼロ以外の値で終了します。