用途:面向希望学习 LLVM 内部机制、查找学习资料或入门编译器开发的用户,整理学习路径与资源。
主要能力:按初、中、高级给出学习路径。初级从官方 Kaleidoscope 教程入手,理解 LLVM IR、编写简单 Pass、了解 Clang 前端;中级深入优化 Pass、后端代码生成、分析框架与 Clang Tooling(LibTooling、AST matchers);高级涉及 MLIR、ORC JIT、Sanitizer 与 CFI 等安全特性以及向 LLVM 贡献补丁。工作方式:提供 LLVM/Clang 官方文档、Kaleidoscope、Writing an LLVM Pass、Building LLVM 等教程链接,社区资源(书籍、LLVM Developer Meetings 视频、LLVM Weekly、EuroLLVM/US LLVM 会议录像)以及 GitHub 学习项目(如 banach-space/llvm-tutor、hunterzju/llvm-tutorial、jauhien/iron-kaleidoscope、bigconvience/llvm-ir-in-action)。
资料还介绍 LLVM IR 基本结构、常见指令与类型系统,并给出 Pass 编写示例(新 Pass Manager)、Clang AST 探索与常用编译/优化命令(clang -S -emit-llvm、opt、llvm-dis、llvm-as、llc、opt -passes=verify 等),以及常见的分析 API(DominatorTree、LoopInfo、AliasAnalysis、CallGraph)。
使用方式:按学习路径逐步实践;需要更详细的最新链接时,从 https://raw.githubusercontent.com/gmh5225/awesome-llvm-security/refs/heads/main/README.md 获取最新资料。
适用场景:LLVM/Clang 学习、编译器开发入门、IR 与 Pass 实践、Clang 工具开发、安全特性了解。
限制:具体价格、收费、平台支持与版本要求等未在资料中说明;示例代码需结合对应 LLVM 版本环境自行验证。