News: 0001550755

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Open-Source TPDE Can Compile Code 10-20x Faster Than LLVM

([LLVM] 5 Hours Ago TPDE Compiler Framework)


Researchers from the Technical University of Munich (TUM) have announced TPDE as a fast and adaptable compiler back-end framework. The code is now open-source and they are talking up some very wild compile time improvements... Compiling code for x86_64 and AArch64 with TPDE can be ten to twenty times faster than using the LLVM Clang compiler.

The researchers in Munich have published [1]this research paper around the TPDE framework. The TPDE code is open-source on [2]GitHub where they sum it up as:

"TPDE is a fast compiler back-end framework that adapts to existing SSA IRs. The primary goal is low-latency compilation while maintaining reasonable (-O0) code quality, e.g., as baseline compiler for JIT compilation or unoptimized builds. Currently, TPDE only targets ELF-based x86-64 and AArch64 (Armv8.1) platforms."

It's important to note that the comparison is done at the -O0 optimization level and what they are comparing with LLVM upstream at -O0 rather than the higher optimization levels like -O2 or -O3. TPDE provides TPDE-LLVM as a standalone back-end for LLVM that is summed up as:

"TPDE-LLVM: a standalone back-end for LLVM-IR, which compiles 10--20x faster than LLVM -O0 with similar code quality, usable as library (e.g., for JIT), as tool (tpde-llc), and integrated in Clang/Flang (with a patch)."

Today they also announced their TPDE work on [3]the LLVM.org Discourse where they also included some SPEC CPU 2017 comparison build results and more details. The key takeaway:

"We recently open-sourced TPDE and our fast LLVM baseline back-end (TPDE-LLVM), which is 10-20x faster than the LLVM -O0 back-end with similar runtime performance and 10-30% larger code size. We support a typical subset of LLVM-IR and only target x86-64 and AArch64."

And their comparison benchmarks to upstream LLVM:

For now their focus is just on the -O0 and -O1 optimization level usage. Very interesting work and hopefully these researchers continue building upon TPDE and exploring other compiler performance optimizations.



[1] https://arxiv.org/abs/2505.22610

[2] https://github.com/tpde2/tpde?tab=readme-ov-file

[3] https://discourse.llvm.org/t/tpde-llvm-10-20x-faster-llvm-o0-back-end/86664



cb88

intelfx

cb88

CommunityMember

Etherman

caligula

Kjell

DumbFsck

Mitch

Stallman's Latest Proclamation

Richard M. Stallman doesn't want you to say "Windows" anymore. He is now
advocating that people call this OS by its real name:
Microsoft-Xerox-Apple-Windows. This proclamation comes on the heels of his
controversial stand that Linux should be called GNU/Linux. RMS explained in a
Usenet posting, "Calling Microsoft's OS 'Windows' is a grave inaccuracy. Xerox
and Apple both contributed significant ideas and innovations to this OS. Why
should Microsoft get all the credit?"

RMS also hinted that people shouldn't refer to Microsoft's web browser as IE.
"It should really be called Microsoft-Spyglass-Mosaic-Internet-Explorer. Again,
how much credit does Microsoft really deserve for this product? Much of the
base code was licensed from Spyglass."

Many industry pundits are less than thrilled about RMS' proclamation. The
editor of Windows Magazine exclaimed, "What?!?! Yeah, we'll rename our magazine
Microsoft-Xerox-Apple-Windows Magazine. That just rolls off the tongue!" A
Ziff-Davis columnist noted, "Think of all the wasted space this would cause. If
we spelled out everything like this, we'd have headlines like, 'Microsoft
Releases Service Pack 5 for Microsoft-Xerox-Apple-Windows Neutered Technology
4.0' Clearly this is unacceptable."