An optimization-driven incremental inline substitution algorithm for just-in-time compilers

A Prokopec, G Duboscq… - 2019 IEEE/ACM …, 2019 - ieeexplore.ieee.org
Inlining is one of the most important compiler optimizations. It reduces call overheads and
widens the scope of other optimizations. But, inlining is somewhat of a black art of an …

Exploiting Partially Context-sensitive Profiles to Improve Performance of Hot Code

M Vukasovic, A Prokopec - ACM Transactions on Programming …, 2023 - dl.acm.org
Availability of profiling information is a major advantage of just-in-time (JIT) compilation.
Profiles guide the compilation order and optimizations, thus substantially improving program …

Toward register spilling security using LLVM and ARM pointer authentication

A Fanti, CC Perez, R Denis-Courmont… - … on Computer-Aided …, 2022 - ieeexplore.ieee.org
Modern reduced instruction set computer processors are based on a load/store architecture,
where all computations are performed on register operands. Compilers therefore allocate …

Parallel trace register allocation

J Eisl, D Leopoldseder, H Mössenböck - Proceedings of the 15th …, 2018 - dl.acm.org
Register allocation is a mandatory task for almost every compiler and consumes a significant
portion of compile time. In a just-in-time compiler, compile time is a particular issue because …

[PDF][PDF] Divide and allocate: The trace register allocation framework

J Eisl - 2018 - src.acm.org
Register allocation is a mandatory task for almost every compiler and consumes a signi cant
portion of compile time. In a just-in-time compiler, compile time is a particular issue because …

Hybrid Register Allocation with Spill Cost and Pattern Guided Optimization

Y Shin, H Sung - International Workshop on Languages and Compilers …, 2021 - Springer
Modern compilers have relied on various best-effort heuristics to solve the register allocation
problem due to its high computation complexity. A “greedy” algorithm that performs a scan of …

[PDF][PDF] Machine-Learning-Based Optimization Heuristics in Dynamic Compilers/submitted by DI Raphael Moaner, BSc

R Mosaner - 2023 - epub.jku.at
Modern, optimizing compilers rely on hundreds of heuristics to decide whether and how to
apply optimizations during compilation. These heuristics are typically hand-crafted and …

Efficient global register allocation

I Rogers - arXiv preprint arXiv:2011.05608, 2020 - arxiv.org
In a compiler, an essential component is the register allocator. Two main algorithms have
dominated implementations, graph coloring and linear scan, differing in how live values are …

[PDF][PDF] Trace Register Allocation

DIJ Eisl - 2018 - epub.jku.at
Register allocation, ie, mapping the variables of a programming language to the physical
registers of a processor, is a mandatory task for almost every compiler and consumes a …

[PDF][PDF] A Tree Based Register Allocation Algorithm Using Graph Coloring Approach

A Dave, D Pathak - ijtrm.com
Code generation is an important part of compiler design. This phase takes optimized
Intermediate Representations (IR) code from IR optimizer. The main goal of this phase is to …