自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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调试方法——代码可视化、Statistics与GDB

LLVM编译器的调试方法——代码可视化、Statistics与GDB

2025-12-26 13:17:20 988

原创 基于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

原创 LLVM编译器流程——从C源码到ELF的9种中间流程

LLVM编译器流程——从C源码到ELF的9种中间流程

2025-12-22 13:38:02 1038

原创 新书上架《LLVM编译器开发指南》~

新书上架《LLVM编译器开发指南》~

2025-12-19 13:45:10 38557 106

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除