Survey on combinatorial register allocation and instruction scheduling

RC Lozano, C Schulte - ACM Computing Surveys (CSUR), 2019 - dl.acm.org
Register allocation (mapping variables to processor registers or memory) and instruction
scheduling (reordering instructions to increase instruction-level parallelism) are essential …

goSLP: globally optimized superword level parallelism framework

C Mendis, S Amarasinghe - Proceedings of the ACM on Programming …, 2018 - dl.acm.org
Modern microprocessors are equipped with single instruction multiple data (SIMD) or vector
instruction sets which allow compilers to exploit superword level parallelism (SLP), a type of …

Combinatorial register allocation and instruction scheduling

RC Lozano, M Carlsson, GH Blindell… - ACM Transactions on …, 2019 - dl.acm.org
This article introduces a combinatorial optimization approach to register allocation and
instruction scheduling, two central compiler problems. Combinatorial optimization has the …

Rl4real: Reinforcement learning for register allocation

S VenkataKeerthy, S Jain, A Kundu… - Proceedings of the …, 2023 - dl.acm.org
We aim to automate decades of research and experience in register allocation, leveraging
machine learning. We tackle this problem by embedding a multi-agent reinforcement …

Constraint-based register allocation and instruction scheduling

RC Lozano, M Carlsson, F Drejhammar… - … Conference on Principles …, 2012 - Springer
This paper introduces a constraint model and solving techniques for code generation in a
compiler back-end. It contributes a new model for global register allocation that combines …

Compiling code for an enhanced application binary interface (ABI) with decode time instruction optimization

RJ Blainey, M Gschwind, JL McInnes… - US Patent …, 2013 - Google Patents
A code sequence made up multiple instructions and specifying an offset from a base
address is identified in an object file. The offset from the base address corresponds to an …

Linking code for an enhanced application binary interface (ABI) with decode time instruction optimization

RJ Blainey, MK Gschwind, JL McInnes… - US Patent …, 2013 - Google Patents
(57) ABSTRACT A code sequence made up multiple instructions and specify ing an offset
from a base address is identified in an object file. The offset from the base address …

Generating compiled code that indicates register liveness

MK Gschwind, V Salapura - US Patent 8,756,591, 2014 - Google Patents
Object code is generated from an internal representation that includes a plurality of source
operands. The generating includes performing for each source operand in the internal …

Fast and Clean: Auditable high-performance assembly via constraint solving

A Abdulrahman, H Becker, MJ Kannwischer… - Cryptology ePrint …, 2022 - eprint.iacr.org
Handwritten assembly is a widely used tool in the development of high-performance
cryptography: By providing full control over instruction selection, instruction scheduling, and …

Integrated code generation for loops

M Eriksson, C Kessler - ACM Transactions on Embedded Computing …, 2012 - dl.acm.org
Code generation in a compiler is commonly divided into several phases: instruction
selection, scheduling, register allocation, spill code generation, and, in the case of clustered …