TPDE: A Fast Adaptable Compiler Back-End Framework
Tobias Schwarz (1), Tobias Kamm (1), Alexis Engelke (1) ((1) Technical University of Munich)

TL;DR
TPDE is a novel compiler back-end framework that enables fast, single-pass code generation by adapting to existing IRs, significantly reducing compilation time while maintaining performance.
Contribution
The paper introduces TPDE, a flexible back-end framework that performs single-pass compilation by leveraging IR-specific adapters, simplifying multi-architecture support and optimizing compilation speed.
Findings
Achieves 8-24x faster compilation than LLVM -O0 on SPECint 2017
Maintains comparable runtime performance to LLVM -O0
Reduces latency in JIT compilation for WebAssembly and database queries
Abstract
Fast machine code generation is especially important for fast start-up just-in-time compilation, where the compilation time is part of the end-to-end latency. However, widely used compiler frameworks like LLVM do not prioritize fast compilation and require an extra IR translation step increasing latency even further; and rolling a custom code generator is a substantial engineering effort, especially when targeting multiple architectures. Therefore, in this paper, we present TPDE, a compiler back-end framework that adapts to existing code representations in SSA form. Using an IR-specific adapter providing canonical access to IR data structures and a specification of the IR semantics, the framework performs one analysis pass and then performs the compilation in just a single pass, combining instruction selection, register allocation, and instruction encoding. The generated target…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Logic, programming, and type systems · Security and Verification in Computing
