これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションの3.8つを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドllc-XNUMXです。
プログラム:
NAME
llc-LLVM静的コンパイラ
SYNOPSIS
LLC [オプション] [ファイル名]
DESCRIPTION
LLC コマンドは、LLVMソース入力を指定されたアセンブリ言語にコンパイルします
建築。 アセンブリ言語の出力は、ネイティブアセンブラを介して渡すことができます
ネイティブ実行可能ファイルを生成するためのリンカー。
出力アセンブリコードのアーキテクチャの選択は、から自動的に決定されます。
入力ファイル( -行進 オプションは、デフォルトをオーバーライドするために使用されます。
OPTIONS
If ファイル名 "-"または省略、 LLC 標準入力から読み取ります。 それ以外の場合は、
ファイル名。 入力は、LLVMアセンブリ言語形式(。NS)またはLLVM
ビットコード形式(。紀元前).
Status -o オプションを省略した場合 LLC 入力があれば、その出力を標準出力に送信します
標準入力からです。 の場合 -o オプションは「-"、その後、出力も送信されます
標準出力に。
ない場合 -o オプションが指定され、 "以外の入力ファイル-"を指定すると、 LLC
入力ファイル名を取得し、既存のファイル名を削除して、出力ファイル名を作成します 。紀元前
拡張機能、および追加 .s サフィックス。
その他 LLC オプションについては、以下で説明します。
エンドユーザー オプション
-助けて コマンドラインオプションの概要を出力します。
-O = uint
さまざまな最適化レベルでコードを生成します。 これらはに対応します -O0, -O1,
-O2, -O3 によって使用される最適化レベル 打ち鳴らします.
-mtriple = トリプル>
入力ファイルで指定されたターゲットトリプルを、指定された文字列でオーバーライドします。
-XNUMX月=
ターゲットをオーバーライドして、アセンブリを生成するアーキテクチャを指定します
入力ファイルにエンコードされます。 の出力を参照してください LLC -助けて 有効なリストについては
アーキテクチャ。 デフォルトでは、これはターゲットトリプルから推測されるか、自動検出されます
現在のアーキテクチャに。
-mcpu =
コードを生成する現在のアーキテクチャの特定のチップを指定します。 に
デフォルトでは、これはターゲットトリプルから推測され、現在のトリプルに自動検出されます
建築。 使用可能なCPUのリストについては、以下を使用してください。
llvm-as </ dev / null | llc -march = xyz -mcpu = help
-filetype = file タイプ>
出力の種類を指定します LLC 生成する必要があります。 オプションは次のとおりです。 ASM テキスト用
組み立て ( '。NS'), オブジェクト ネイティブオブジェクトファイルの場合('.o')と ヌル 放出しないため
何でも(パフォーマンステスト用)。
すべてのターゲットがすべてのオプションをサポートしているわけではないことに注意してください。
-mattr = a1、+ a2、-a3、..。
SIMDかどうかなど、ターゲットの特定の属性をオーバーライドまたは制御します
操作が有効かどうか。 デフォルトの属性セットは、現在の属性によって設定されます
CPU。 使用可能な属性のリストについては、以下を使用してください。
llvm-as </ dev / null | llc -march = xyz -mattr = help
--disable-fp-elim
フレームポインタ除去の最適化を無効にします。
--超過 fp 精度を無効にする
浮動小数点の精度が高くなる可能性のある最適化を無効にします。 ノート
このオプションを使用すると、一部のシステム(X86など)でコードの速度が大幅に低下する可能性があります。
--enable-no-infs-fp-math
Inf値を想定しない最適化を有効にします。
--enable-no-nans-fp-math
NAN値を想定しない最適化を有効にします。
--enable-unsafe-fp-math を有効にする
IEEE数学について危険な仮定をする最適化を有効にします(例:
加算は結合法則です)、またはすべての入力範囲で機能するとは限りません。 これらの最適化
コードジェネレーターが他の方法では使用できないいくつかの命令を使用できるようにします
使用可能(など fsin X86上)。
-統計
コード生成パスによって記録された統計を印刷します。
- 時を経て
各パスに必要な時間を記録し、標準にレポートを印刷します
エラー。
--load =
動的にロード dso_path (動的に共有されるオブジェクトへのパス)を実装します
LLVMターゲット。 これにより、ターゲット名を -行進 オプション
そのターゲットに対してコードを生成できるようにします。
-meabi = [default | gnu | 4 | 5]
どのEABIバージョンに準拠するかを指定します。 有効なEABIバージョンは ヌー, 4 &
5。 デフォルト値(デフォルト)トリプルに依存します。
チューニング/構成 オプション
--print-machineinstrs
コンパイルフェーズの間に生成されたマシンコードを印刷します(デバッグに役立ちます)。
--regalloc =
使用するレジスタアロケータを指定します。 有効なレジスタアロケータは次のとおりです。
基本
基本レジスタアロケータ。
速いです
高速レジスタアロケータ。 最適化されていないコードのデフォルトです。
貪欲な
貪欲なレジスタアロケータ。 これは、最適化されたコードのデフォルトです。
pbqp
'Partitioned BooleanQuadraticProgramming'に基づいてアロケータを登録します。
-スピラー=
それをサポートするレジスタアロケータに使用するスピラーを指定します。 現在これ
このオプションは、リニアスキャンレジスタアロケータによってのみ使用されます。 デフォルト スピラー is
ローカル。 有効なスピラーは次のとおりです。
シンプルな
シンプルなスピラー
ローカル
ローカルスピラー
インテル IA-32固有 オプション
--x86-asm-syntax = [att | intel]
AT&T構文(デフォルト)またはIntel構文のどちらでアセンブリコードを発行するかを指定します。
EXIT ステータス
If LLC 成功すると、0で終了します。それ以外の場合、エラーが発生すると、XNUMXで終了します。
ゼロ以外の値。
onworks.netサービスを使用してオンラインでllc-3.8を使用する