PROJECT / 03
雕龙·编译器后端
自研芯片指令集后端代码生成器
基于 LLVM 二次开发的编译器后端,支持自研 RISC-V 扩展指令集。含自动向量化、循环展开、寄存器分配优化等 pass,实测 SPEC 基准性能提升 17%。
编译器后端的开发是一项极具挑战性的工作,需要深入理解指令集架构、流水线特性、缓存层次等硬件细节。本项目在 LLVM 框架基础上,针对自研 RISC-V 扩展指令集开发了完整的代码生成后端。
自定义的优化 pass 包括:针对向量扩展的自动向量化、循环展开因子自适应调整、基于图着色的寄存器分配优化、指令调度重排等。在 SPEC CPU 2017 基准测试中,相对于开源 GCC 后端实现,平均性能提升 17%,部分计算密集型程序提升超过 30%。
TECH STACK
C++LLVMTableGen