これはコマンド ldc2 で、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できます。
プログラム:
NAME
LDC - LLVM D コンパイラのマニュアル ページ
DESCRIPTION
概要: LLVM ベースの D コンパイラ
使用法: ldc [オプション] ファイル - 走る プログラムの引数...
オプション:
-D - ドキュメントの生成
-DD=- ドキュメント ファイルの書き込み先
ディレクトリにジョブを開始します。
-Df=- ドキュメント ファイルの書き込み先
-H - 「ヘッダー」ファイルを生成します
-HD=- 「ヘッダー」ファイルを次の場所に書き込みますディレクトリ
-Hf=- 「ヘッダー」ファイルを次の場所に書き込みます
-I =- 輸入品を探す場所
-J=- 文字列インポートを探す場所
-L=- 合格リンカーに
最適化レベルの設定:
-O - に相当 -O2
-O0 - 最適化なし (デフォルト)
-O1 - 簡単な最適化
-O2 - 優れた最適化
-O3 - 積極的な最適化
-O4 - リンク時の最適化
-O5 - リンク時の最適化
-注釈を付ける - ビットコードに人間が判読できる注釈を付ける
ソースコード
-asm-詳細 - ディレクティブにコメントを追加します。
-c - リンクしないでください
-check-printf-calls - printf 呼び出しフォーマット文字列を検証します。
引数
-コードモデル -コードモデルを選択します
=デフォルト
-ターゲットのデフォルトコードモデル
=small-小さなコードモデル
=カーネル
-カーネルコードモデル
=中
-ミディアムコードモデル
=large-ラージコードモデル
-d - 非推奨の言語機能を許可する
-d-デバッグ=- デバッグ コードでコンパイル >= または
によって識別される。
-d-バージョン=- バージョン コード >= でコンパイルするまたは
によって識別される
-debuglib=- デバッグビルド用のデフォルトライブラリを設定する
-defaultlib=- 非デバッグビルド用のデフォルトライブラリを設定する
-deps=- モジュールの依存関係をファイル名に書き込みます
-有効-アサート - (*) アサーションを有効にする
-有効-境界チェック - (*) 配列境界チェックを有効にする
-契約を有効にする - (*) 機能の事前および有効化
事後条件
-無効-d-パス - D 固有のパスインを無効にする -O
-無効-超過-fp-精度 - FP を増加させる可能性のある最適化を無効にする
精度
-無効-fp-elim - フレームポインタの削除を無効にする
最適化
-無効-gc2stack - への GC 割り当ての昇格を無効にする
メモリをスタックする -O
-enable-インライン化 - (*) 関数のインライン化を有効にする -O
-不変を有効にする - (*) 不変式を有効にする
-disable-post-RA-スケジューラー - 登録後のスケジューリングを無効にする
配分
-ポストコンディションを有効にする - (*) 関数の事後条件を有効にする
-有効にする前提条件 - (*) 機能の前提条件を有効にする
-disable-simplify-drtcalls - でのランタイム呼び出しの簡略化を無効にします。
-O
-無効-流出-融合 -流出コードのへの融合を無効にする
説明書
-有効-正しい-え-サポート - を作ります - lowerinvoke パスインサート
高価ですが正しい EH コード
-有効-ええ - DWARF 例外処理を発行します (デフォルトの場合)
ターゲットサポート)
-enable-有限のみ-fp-math - 非 NaN を想定した最適化を有効にする
/ +-Infs
-fp-mad を有効にする - 精度の低い MAD 命令を有効にする
生成された
-ロードプレを有効にする -
-有効-sjlj-ええ - SJLJ 例外処理を発行します (デフォルトの場合)
ターゲットサポート)
-enable-unsafe-fp-math を有効にする - FP を低下させる可能性がある最適化を有効にする
精度
-float-abi - フロート ABI タイプを選択します
=デフォルト
- ターゲットのデフォルトの float ABI タイプ
=soft - ソフト フロート ABI (暗黙的に指定) -ソフトフロート)
=hard - ハード フロート ABI (FP レジスタを使用)
デバッグ情報の生成:
-g - デバッグ情報の生成
-gc - と同じ -g、ただしCのふりをします
-助けて -利用可能なオプションを表示します(--ヘルプ-非表示
多くのための)
-無視 - サポートされていないプラグマを無視します
-internalize-public-api-file =- シンボル名のリストを含むファイル
保存する
-internalize-public-api-list =-保存するシンボル名のリスト
-ライブ間隔に参加 -合体コピー(デフォルト= true)
-limit-float-precision =- 低精度のインライン シーケンスを生成します。
いくつかの float libcall
-m32 - 32ビットターゲット
-m64 - 64ビットターゲット
-XNUMX月=- コードを生成するためのアーキテクチャ:
-mattr =-ターゲット固有の属性(-物質=助けます for
詳細)
-mcpu =-特定のCPUタイプをターゲットにします(-mcpu=助けます for
詳細)
-mtriple=- ターゲットトリプルをオーバーライドします
-ネストされた-ctx - 入れ子関数の構築方法
コンテキスト:
=配列
- 変数へのポインタの配列 (マルチレベルを含む)
=ハイブリッド
- 変数の構造体へのポインターのリスト (レベルごとに XNUMX つ)。
-ノアズム - インラインアセンブラの使用を禁止する
-nodefaultlib - リンク用のデフォルトのライブラリを追加しないでください
暗黙的に
-非ランタイム - 暗黙的な生成を行うコードを許可しない
ランタイム呼び出し
-確認する - 事前に検証パスを実行しないでください。
ビットコードの書き込み
-nozero-in-bss で初期化 - ゼロで初期化されたシンボルを配置しないでください。
BSSセクション
-O- - オブジェクトファイルを書き込まないでください
-od=- オブジェクトファイルをディレクトリに書き込む
-の=- 使用出力ファイル名として
-op - ソースファイルからパスを削除しないでください
-oq - オブジェクト ファイルを完全修飾子で書き込む
名
-出力-bc - LLVMビットコードの書き込み
-出力-ll - LLVM IR の書き込み
-出力-o - ネイティブオブジェクトを書き込む
-出力-s - ネイティブ アセンブリを作成する
-事前RAスケジュール - 命令スケジューラが利用可能 (以前
レジスタ割り当て):
=fast - 最適ではないリストの高速スケジューリング
=リスト-td
- トップダウンリストスケジューラー
=リスト-tdrr
- トップダウンのレジスタ削減リストのスケジューリング
=リストバリ
- ボトムアップレジスタ削減リストスケジューリング
=デフォルト
- ターゲットに最適なスケジューラ
-print-machineinstrs - 生成されたマシンコードを出力する
-プロファイル推定ループの重み=- 使用されるループの実行数
プロファイル推定器
-プロファイル情報ファイル=- プロファイルファイルが読み込まれる -プロファイルローダー
-プロファイルのランダム性 - プロファイルをランダムに選択する方法:
=グローバル
- グローバルカウンター
=ra_global
- レジスタ割り当てグローバルカウンター
=rdcc - サイクルカウンター
-再整列スタック - 必要に応じてスタックを再調整します
-regalloc - 使用するレジスタ アロケータ: (デフォルト =
リニアスキャン)
=リニアスキャン
- リニアスキャンレジスタアロケータ
-リリース - アサート、不変式、契約、および
境界チェック
-移転モデル -再配置モデルを選択します
=デフォルト
-ターゲットのデフォルトの再配置モデル
=静的
-再配置不可能なコード
= pic-完全に再配置可能で、位置に依存しないコード
=動的-no-pic
-再配置可能な外部参照、再配置不可能なコード
-リライター - 使用するリライター: (デフォルト: ローカル)
=ローカル
- ローカル リライター
=些細な
- 簡単なリライター
-実行=- プログラム引数...
-スケジュール-ライブイン-コピー - 居住登記簿のコピーをスケジュールする
-スケジュール-流出 - スピルコードをスケジュールする
-収縮包装 - シュリンクラップ呼び出し先保存レジスタ
流出/復元
-singleobj - 出力オブジェクトファイルは XNUMX つだけ作成します
-ソフトフロート - ソフトウェア浮動小数点ライブラリの生成
呼び出し
-スタックアライメント=- デフォルトのスタック配置を上書きする
-スタックプロテクターバッファサイズ=- 考慮されるバッファの下限
スタック保護用
-統計 -プログラムからの統計出力を有効にする
-テールキャロプト - 末尾呼び出しの最適化をオンにします。
-時を経て - それぞれの経過時間を表示し、経過時間を表示します。
それぞれ出口で
-単体テスト - 単体テストでコンパイルする
-unwind-tables - すべての関数の巻き戻しテーブルを生成します
-v - 詳細
-v-cg - 冗長なコード生成
-確認-dom-情報 -ドミネーター情報を確認します(時間がかかります)
-バージョン -このプログラムのバージョンを表示します
-vv - 非常に冗長です
-w - 警告を有効にする
-x86-asm-構文 -X86から出力するコードのスタイルを選択します
バックエンド:
= att-AT&Tスタイルのアセンブリを発行します
= intel-Intelスタイルのアセンブリを発行します
-d-デバッグ オプションなしで指定することもできます。その場合、すべてのデバッグ チェックが有効になります。
(つまり、(アサート、バウンドチェック、コントラクト、および不変式) として機能するだけでなく、 -d-デバッグ=1
(*) の付いたオプションには、 -無効化-FOO 意味が逆転した異形。
DMD v1.051 および llvm 2.6 に基づいています (2 年 17 月 39 日水曜日 53:2009:1999) Copyright (c) 2009-XNUMX by
Digital Mars と Tomas Lindquist Olsen 著 Walter Bright と Tomas Lindquist Olsen
D 言語のドキュメント: http://www.digitalmars.com/d/1.0/index.html LDCホームページ:
http://www.dsource.org/projects/ldc
onworks.net サービスを使用してオンラインで ldc2 を使用する