The front page of the LLVM website proudly claims that:| www.npopov.com
TPDE-LLVM is a TPDE-based LLVM back-end focusing on fast compilation targeting x86-64 and AArch64. Typically, compile times are 10–20x faster than the LLVM -O0 back-end with similar execution time, code size is ~10-30% larger for -O0 IR and similar for -O1 IR. The focus is on supporting a commonly used subset of LLVM-IR and target platforms efficiently, therefore many IR features are not supported – in such cases, the intention is to fall back to the full LLVM back-end. Code generated by ...| docs.tpde.org
A place to discuss both usage and development of the LLVM project.| LLVM Discussion Forums
Replace address computation of TLS variables, not access, but yes. It does solve it, by making that IR not possible to write. In my not-really-fleshed-out idea here, @x should no longer be usable as a pointer, so i32* @x is impossible to write in IR – which is as it should be. You need an Instruction to retrieve the address for @x, and thus it’s clearly impossible to use in a global value initializer. Perhaps @x has become a token type of some sort, which can be passed to the intrinsic bu...| LLVM Discussion Forums
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 b...| arXiv.org