LLVM学习资料整理 - jiaxw32/iNote GitHub Wiki
博客及视频资料
- 编译器 - ObjC 中国
- 深入剖析 iOS 编译 Clang LLVM - 戴铭
- LLVM框架/LLVM编译流程/Clang前端/LLVM IR/LLVM应用与实践 - 李明杰
- 一步步掌握 LLVM
- The Architecture of Open Source Applications - Chris Lattner
- 编译自己的LLVM和Clang
- 如何让 Xcode 使用自定义 Clang 及其插件
- HOW TO LEARN COMPILERS: LLVM EDITION
官方文档
- The LLVM Compiler Infrastructure
- Getting Started with the LLVM System
- Getting Started: Building and Running Clang
源码
IR
| 文档链接 | 简要说明 |
|---|---|
| LLVM IR入门指南 | |
| Mapping High Level Constructs to LLVM IR | A guide that explains how high level programming language constructs are mapped to the LLVM intermediate language. |
| 2019 EuroLLVM Developers’ Meeting: LLVM IR Tutorial | LLVM IR Tutorial - Phis, GEPs and other things, oh my! - Vince Bridgers (Intel Corporation), Felipe de |
Pass
| 文档链接 | 简要说明 |
|---|---|
| Writing an LLVM Pass | LLVM 官方文档 |
| Writing an LLVM New PM Pass | LLVM 官方文档 |
| Using the New Pass Manager | LLVM 官方文档 |
| Writing an LLVM Pass using the (kind of) new PassManager | |
| llvm-tutor | A collection of out-of-tree LLVM passes for teaching and learning, Example LLVM passes - based on LLVM 13 |
| mac上使用Xcode编写LLVM的简单pass | 介绍了如何使用 Xcode 编写及测试 pass |
| 在Xcode中使用自定义LLVM Pass | 基于 LLVM 13 实现,详细介绍了 Legacy pass 和 New pass 实现及测试,值得参考。 |
| LLVM - Pass 实现 C函数 插桩 | |
| llvm-pass-tutorial | |
| llvm-pass-skeleton | |
| LLVM 系列2:编译、加载单独的Pass |
其它
| 文档链接 | 简要说明 |
|---|---|
| LLVM命令行选项的处理 |