Related articles |
---|
Paper: TPDE: A Fast Adaptable Compiler Back-End Framework johnl@taugh.com (John R Levine) (2025-05-29) |
From: | John R Levine <johnl@taugh.com> |
Newsgroups: | comp.compilers |
Date: | Thu, 29 May 2025 18:07:51 -0400 |
Organization: | Compilers Central |
Injection-Info: | gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="95664"; mail-complaints-to="abuse@iecc.com" |
Keywords: | code, JIT |
Posted-Date: | 29 May 2025 18:08:38 EDT |
TPDE is intended to generate JIT code quickly. They try it out as a back
end to several familiar compilers such as LLVM and find that it generates
pretty good code a lot faster than the existing back ends.
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 instructions are primarily derived code written in
high-level language through LLVM's Machine IR, easing portability to
different architectures while enabling optimizations during code
generation.
To show the generality of our framework, we build a new back-end for LLVM
from scratch targeting x86-64 and AArch64. Performance results on SPECint
2017 show that we can compile LLVM-IR 8--24x faster than LLVM -O0 while
being on-par in terms of run-time performance. We also demonstrate the
benefits of adapting to domain-specific IRs in JIT contexts, particularly
WebAssembly and database query compilation, where avoiding the extra IR
translation further reduces compilation latency.
https://arxiv.org/abs/2505.22610
Regards,
John Levine, johnl@taugh.com, Taughannock Networks, Trumansburg NY
Please consider the environment before reading this e-mail. https://jl.ly
Return to the
comp.compilers page.
Search the
comp.compilers archives again.