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で終了します。それ以外の場合、エラーが発生すると、ゼロ以外の値で終了します。