リファレンス¶
LLVMおよびAPIリファレンスドキュメント。
APIリファレンス¶
- Doxygenで生成されたドキュメント
(クラス)
- 属性の使い方
新しい属性インフラストラクチャに関するいくつかの質問に答えます。
LLVMリファレンス¶
コマンドラインユーティリティ¶
- LLVMコマンドガイド
LLVMコマンドラインユーティリティのリファレンスマニュアル(LLVMツールの「man」ページ)。
- LLVM bugpointツール:設計と使用方法
自動バグファインダーとテストケースリデューサーの説明と使用方法の情報。
- -opt-bisect-limitを使用した最適化エラーのデバッグ
最適化によって引き起こされる障害をデバッグするためのコマンドラインオプション。
- シンボライザーマークアップフォーマット
llvm-symbolizer
で受け入れられるログシンボライザーマークアップのリファレンス。- Microsoft PDBファイル形式
Microsoft PDB(プログラムデータベース)ファイル形式の詳細な説明。
ガベージコレクション¶
- LLVMを使用したガベージコレクション
GCされたプログラムをコンパイルするためにソース言語コンパイラが使用する必要があるインターフェース。
- LLVMにおけるガベージコレクションセーフポイント
これは、ガベージコレクションサポートのための実験的な拡張機能のセットについて説明しています。
LibFuzzer¶
- libFuzzer – カバレッジに基づくファジングテスト用のライブラリ。
インプロセスガイド付きファザーを作成するためのライブラリ。
- LLVMライブラリとツールのファジング
LLVMのバグを見つけるためのファザーの作成と使用に関する情報。
LLVM IR¶
- LLVM言語リファレンスマニュアル
LLVM中間表現と、さまざまなノードのアセンブリ形式を定義します。
- InAlloca属性の設計と使用方法
inalloca
引数属性の説明。- LLVMビットコードファイル形式
これは、LLVM「bc」ファイルに使用されるファイル形式とエンコーディングについて説明しています。
- マシンIR(MIR)形式リファレンスマニュアル
LLVMのコード生成パスをテストするために使用されるMIRシリアル化形式のリファレンスマニュアル。
- グローバル命令選択
これは、プロトタイプの命令選択の置き換えであるGlobalISelについて説明しています。
- 収束操作のセマンティクス
convergent
操作のセマンティクスと関連する組み込み関数の説明。
テストとデバッグ¶
- LLVMテストインフラストラクチャガイド
LLVMテストインフラストラクチャを使用するためのリファレンスマニュアル。
- テストスイートガイド
テストスイートベンチマークをコンパイルおよび実行する方法について説明します。
- GWP-ASan
本番環境での使用を目的として設計された、サンプリングされたヒープメモリ Fehlererkennungstoolkit。
XRay¶
- XRay計測
LLVMでXRayを使用する方法の概要ドキュメント。
- XRayを使用したデバッグ
XRayを使用してアプリケーションをデバッグする方法の例。
追加トピック¶
- FaultMapと暗黙的チェック
制御フローをフォールトマシン命令に折りたたむためのLLVMサポート。
- LLVMアトミック命令と並行性ガイド
LLVMの並行性モデルに関する情報。
- LLVMにおける例外処理
このドキュメントでは、LLVMにおける例外処理の設計と実装について説明します。
- LLVM拡張機能
LLVMが互換性を目指しているツールや形式に対するLLVM固有の拡張機能。
- クラス階層にLLVMスタイルのRTTIを設定する方法
クラス階層のクライアントで
isa<>
、dyn_cast<>
などを利用できるようにする方法。- LLVMブロック頻度用語
BlockFrequencyInfo
分析パスで使用される用語に関する情報を提供します。- LLVM分岐重みメタデータ
分岐予測情報に関する情報を提供します。
- しばしば誤解されるGEP命令
LLVMの最も頻繁に誤解される命令に関する、非常に頻繁な質問への回答。
- Scudo強化アロケータ
セキュリティ強化されたmalloc()を実装するライブラリ。
- メモリモデル緩和アノテーション
LLVMの並行性モデルに対するターゲット定義の緩和。
- MemTagSanitizer
メモリ関連の脆弱性を軽減することを目的とした、本番コードのセキュリティ強化。Armv8.5-Aメモリタギング拡張に基づいています。
- 依存関係グラフ
DDG(データ依存関係グラフ)などのさまざまな依存関係グラフの設計の説明。
- 投機的ロードの強化
Spectre v1に対する投機的ロード強化の軽減策の説明。
- LLVMのセグメント化されたスタック
このドキュメントでは、セグメント化されたスタックとLLVMでの使用方法について説明します。
- LLVMのオプションの豊富な逆アセンブリ出力
このドキュメントでは、オプションの豊富な逆アセンブリ出力構文について説明します。
- LLVMのスタックマップとパッチポイント
命令アドレスを値の場所にマッピングし、コードにパッチを適用できるようにするためのLLVMサポート。
- LLVMのコルーチン
コルーチンのLLVMサポート。
- ポインタ認証
ポインタ認証、そのLLVM IR表現、およびバックエンドでのサポートの説明。
- YAML I/O
LLVMのYAML I/Oライブラリの使用に関するリファレンスガイド。
- 収束と均一性
還元不可能な制御フローが存在する場合の均一性分析とその実装の説明。