参考

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)格式参考手册

MIR 序列化格式的参考手册,用于测试 LLVM 的代码生成过程。

全局指令选择

本文档描述了原型指令选择替换,GlobalISel。

收敛操作语义

convergent 操作语义和相关内在函数的描述。

测试和调试

LLVM 测试基础设施指南

使用 LLVM 测试基础设施的参考手册。

测试套件指南

描述了如何编译和运行测试套件基准测试。

GWP-ASan

一种旨在用于生产环境的采样堆内存错误检测工具包。

XRay

XRay 检测

有关如何在 LLVM 中使用 XRay 的高级文档。

使用 XRay 进行调试

使用 XRay 调试应用程序的示例。

其他主题

FaultMaps 和隐式检查

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 库的参考指南。

收敛性和一致性

在存在不可约控制流的情况下对一致性分析及其实现的描述。