慕尼黑工业大学 (TUM) 的研究人员宣布 TPDE 是一种快速且适应性强的编译器后端框架。代码现在是开源的,他们正在谈论一些非常疯狂的编译时改进……使用 TPDE 为 x86_64 和 AArch64 编译代码的速度比使用 LLVM Clang 编译器快 10 到 20 倍。
慕尼黑的研究人员围绕 TPDE 框架发表了这篇研究论文。TPDE 代码在 GitHub 上是开源的,他们将其总结为:
“TPDE 是一个快速的编译器后端框架,可适应现有的 SSA IR。主要目标是低延迟编译,同时保持合理的 (-O0) 代码质量,例如,作为 JIT 编译或未优化构建的基准编译器。目前,TPDE 仅针对基于 ELF 的 x86-64 和 AArch64 (Armv8.1) 平台。
需要注意的是,比较是在 -O0 优化级别完成的,并且他们与 -O0 的上游 LLVM 进行比较,而不是 -O2 或 -O3 等更高的优化级别。TPDE 提供 TPDE-LLVM 作为 LLVM 的独立后端,总结如下:
“TPDE-LLVM:LLVM-IR 的独立后端,它的编译速度比 LLVM -O0 快 10-20 倍,代码质量相似,可用作库(例如,用于 JIT)、工具 (tpde-llc),并集成在 Clang/Flang 中(带有补丁)。”
今天,他们还在 LLVM.org Discourse 上宣布了他们的 TPDE 工作 ,其中还包括一些 SPEC CPU 2017 比较构建结果和更多详细信息。关键要点:
“我们最近开源了 TPDE 和我们的快速 LLVM 基线后端 (TPDE-LLVM),它比 LLVM -O0 后端快 10-20 倍,具有相似的运行时性能,代码大小增加了 10-30%。我们支持 LLVM-IR 的典型子集,并且仅针对 x86-64 和 AArch64。
以及他们与上游 LLVM 的比较基准:

目前,他们的重点只是 -O0 和 -O1 优化级别的使用。非常有趣的工作,希望这些研究人员继续在 TPDE 的基础上进行构建并探索其他编译器性能优化。
转自 Open-Source TPDE Can Compile Code 10-20x Faster Than LLVM – Phoronix
Linuxeden开源社区