参考¶
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 库的参考指南。
- 收敛性和一致性
在存在不可约控制流的情况下对一致性分析及其实现的描述。