- 博客(7)
- 收藏
- 关注
原创 《LLVM编译器开发指南》-章节框图、摘要PDF链接
github链接:https://github.com/framer0116/llvm-coding-guide-bookgitee链接:https://gitee.com/framer0116/llvm-coding-guide-book淘宝、京东 在售涵盖LLVM编译器前中后端关键技术:LLVM SDK二次开发、llvm-lit集成测试、TableGen后端扩展、IR的CUDA扩展、New/Legacy Pass Manager和Pass编写、Clang工具链扩展、clang前端二次开发、cc
2025-12-27 13:23:02
688
原创 基于LLVM SDK的各种二次开发
反之,在对LLVM的C++代码进行分析时,可能还会遇到某些符号无法从.cpp和.h中直接找到定义源的情况,这时可以试试扩大搜索范围至代码树中的.td、.def和.inc等代码文件,或者在代码树根目录下全局搜索。这里先从二次开发的开发内容、LLVM源码树种需要关注的源码文件类型、以及基于大型代码树作二次开发的一般性工程建议、LLVM的调试方法几个角度,说明如何做好基于LLVM SDK的二次开发。显式的使用CI持续集成工具,或是隐式的实践CI理念,其效果是可以相近的,因为工具和方法论之间存在诸多映射。
2025-12-25 13:31:06
804
原创 LLVM中Pass的基本概念
此外,New PM中对于Pass间依赖关系,即对Analysis Pass的引用,采用了动态获取方式,避免了代码上了冗余,也省去了开发者在Pass构造阶段就显式指定其依赖哪些Pass的麻烦。为了方便更多的人参与进来完善中后端的Pass体系,LLVM的Pass Manager机制定义了实现一个新Pass所需实现的接口和需要继承的基类,并支持在接口上针对一个Pass所要变换或分析的IR单元级别(Module、Function或BasicBlock)作区分。Analysis Pass不对IR单元中的代码作修改。
2025-12-24 15:06:57
818
原创 LLVM工具链的使用
LLVM编译工具链中较常用到的有前端和编译驱动工具clang、后端工具llc、链接器lld、中端优化器opt、汇编器llvm-mc、ELF解读工具llvm-readelf、反汇编工具llvm-objdump。后续在相关章节,还会有对TableGen代码编译器llvm-tblegen、IR链接器llvm-link等更多工具的介绍,以及用这些工具来进行各中间形态的可视化等用途的介绍。llc是LLVM的独立后端编译工具,负责由IR代码(.ll文本或.bc二进制)生成asm汇编文件,也可以生成目标文件.o。
2025-12-23 13:14:04
368
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
106