リファレンス

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ライブラリの使用に関するリファレンスガイド。

収束と均一性

還元不可能な制御フローが存在する場合の均一性分析とその実装の説明。