Hasty Briefsbeta

双语

10-20x Faster LLVM -O0 Back-End

9 months ago
  • #compiler-optimization
  • #LLVM
  • #open-source
  • TPDE-LLVM是一个开源的高速LLVM基准后端,编译速度比LLVM -O0快10-20倍,运行时性能相近但代码体积大10-30%
  • 支持LLVM-IR的典型子集,面向x86-64和AArch64架构,在SPEC CPU 2017基准测试中展现出显著加速效果
  • 采用三阶段处理流程:IR清理/准备阶段、分析阶段(循环+活跃性分析)、以及合并的指令降级+寄存器分配+机器码生成阶段
  • 当前重点支持Clang O0/O1级IR,规划支持DWARF调试信息、改进寄存器分配,未来可能扩展至非ELF平台和其他目标架构
  • 已识别出加速编译的关键LLVM-IR改进点:消除函数内的ConstantExpr结构及任意尺寸的结构体/数组值
  • 性能瓶颈包括:比特码解析消耗约90%编译时间,以及特定IR结构导致的二次方时间复杂度问题