これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションの3.7つを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドlli-XNUMXです。
プログラム:
NAME
lli-LLVMビットコードからプログラムを直接実行します
SYNOPSIS
LLI [オプション] [ファイル名] [プログラム 引数]
DESCRIPTION
LLI LLVMビットコード形式でプログラムを直接実行します。 LLVMビットコードのプログラムが必要です
フォーマットし、ジャストインタイムコンパイラを使用して実行します(現在のコンパイラが利用可能な場合)
建築、または通訳。 LLI と同じコードジェネレータオプションをすべて使用します
llc | llcですが、これらは次の場合にのみ有効です。 LLI ジャストインタイムコンパイラを使用しています。
If ファイル名 指定されていない場合 LLI プログラムのLLVMビットコードをから読み取ります
標準入力。
オプション 引数 コマンドラインで指定されたものは、引数としてプログラムに渡されます。
全般的な OPTIONS
-fake-argv0=実行ファイル
上書きする argv [0] 実行中のプログラムに渡される値。
-力通訳={真偽}
trueに設定すると、ジャストインタイムコンパイラが使用可能な場合でもインタプリタを使用します。
このアーキテクチャ。 デフォルトはfalseです。
-助けて
コマンドラインオプションの概要を出力します。
-負荷=プラグインファイル名
目的 LLI 名前の付いたプラグイン(共有オブジェクト)をロードする プラグインファイル名 そしてそれを
最適化。
-統計
コード生成パスから統計を出力します。 これは、
現在、ジャストインタイムコンパイラ。
-時を経て
各コード生成パスに必要な時間を記録し、標準に出力します
エラー。
-バージョン
のバージョンを印刷します LLI 何もせずに終了します。
TARGET OPTIONS
-トリプル=ターゲット トリプル
入力ビットコードファイルで指定されたターゲットトリプルを指定されたものでオーバーライドします
ストリング。 互換性のないアーキテクチャを選択すると、クラッシュする可能性があります
現在のシステムで。
-行進=アーチ
エンコードされたターゲットをオーバーライドして、アセンブリを生成するアーキテクチャを指定します
ビットコードファイル内。 の出力を参照してください LLC -助けて 有効なアーキテクチャのリストについては。
デフォルトでは、これはターゲットトリプルから推測されるか、現在のトリプルに自動検出されます
建築。
-mcpu=CPU名
コードを生成する現在のアーキテクチャの特定のチップを指定します。 デフォルトでは
これはターゲットトリプルから推測され、現在のアーキテクチャに自動検出されます。
使用可能なCPUのリストについては、以下を使用してください。 llvm-as < / dev / null | LLC -march = xyz -mcpu = help
-物質=a1、+ a2、-a3、..。
SIMD操作かどうかなど、ターゲットの特定の属性をオーバーライドまたは制御します
有効かどうか。 デフォルトの属性セットは、現在のCPUによって設定されます。 のために
使用可能な属性のリスト、使用: llvm-as < / dev / null | LLC -march = xyz -mattr = help
フローティング POINT OPTIONS
-無効-超過-fp-精度
浮動小数点の精度を上げる可能性のある最適化を無効にします。
-enable-no-infs-fp-math を有効にする
Inf値を想定しない最適化を有効にします。
-no-nans-fp-math を有効にする
NAN値を想定しない最適化を有効にします。
-enable-unsafe-fp-math を有効にする
目的 LLI 浮動小数点の精度を低下させる可能性のある最適化を有効にします。
-ソフトフロート
目的 LLI 同等の代わりにソフトウェア浮動小数点ライブラリ呼び出しを生成する
ハードウェア命令。
CODE GENERATION OPTIONS
-コードモデル=
次からコードモデルを選択します。
デフォルト:ターゲットのデフォルトコードモデル
small:小さなコードモデル
カーネル:カーネルコードモデル
ミディアム:ミディアムコードモデル
ラージ:ラージコードモデル
-disable-post-RA-スケジューラー
レジスタ割り当て後のスケジューリングを無効にします。
-無効-流出-融合
命令へのスピルコードの融合を無効にします。
-jit-enable-ええ
例外処理は、ジャストインタイムコンパイラで有効にする必要があります。
-ライブ間隔に参加
合体コピー(デフォルト= true)。
-nozero-in-bss で初期化 ゼロで初期化されたシンボルをBSSセクションに配置しないでください。
-事前RAスケジュール=スケジューラ
使用可能な命令スケジューラ(レジスタ割り当て前):
=デフォルト:ターゲットに最適なスケジューラ
= none:スケジューリングなし:幅優先シーケンス
= simple:シンプルなXNUMXパススケジューリング:クリティカルパスを最小化し、プロセッサ使用率を最大化します
= simple-noitin:単純なXNUMXパススケジューリング:ジェネリックレイテンシを使用することを除いて、単純と同じ
= list-burr:ボトムアップレジスタ削減リストのスケジューリング
= list-tdrr:トップダウンレジスタ削減リストのスケジューリング
= list-td:トップダウンリストスケジューラ-print-machineinstrs-生成されたマシンコードを出力します
-regalloc=アロケーター
使用するアロケータを登録します(デフォルト= linearscan)
= bigblock:ビッグブロックレジスタアロケータ
= linearscan:線形スキャンレジスタアロケータ= local-ローカルレジスタアロケータ
= simple:単純なレジスタアロケータ
-移転モデル=
次から再配置モデルを選択します。
= default:ターゲットのデフォルトの再配置モデル
= static:再配置不可能なコード= pic-完全に再配置可能で、位置に依存しないコード
= dynamic-no-pic:再配置可能な外部参照、再配置不可能なコード
-スピラー
使用するスピラー(デフォルト=ローカル)
= simple:単純なスピラー
=ローカル:ローカルスピラー
-x86-asm-構文=構文
X86バックエンドから出力するコードのスタイルを選択します。
= att:AT&Tスタイルのアセンブリを発行します
= intel:Intelスタイルのアセンブリを発行します
EXIT ステータス
If LLI プログラムのロードに失敗すると、終了コード1で終了します。それ以外の場合は、
実行するプログラムの終了コードを返します。
onworks.netサービスを使用してlli-3.7をオンラインで使用する