A Tiling Perspective for Register Optimization

Register allocation is a much studied problem. A particularly important context for optimizing register allocation is within loops, since a significant fraction of the execution time of programs is often inside loop code. A variety of algorithms have been proposed in the past for register allocation, but the complexity of the problem has resulted in a decoupling of several important aspects, including loop unrolling, register promotion, and instruction reordering. In this paper, we develop an approach to register allocation and promotion in a unified optimization framework that simultaneously considers the impact of loop unrolling and instruction scheduling. This is done via a novel instruction tiling approach where instructions within a loop are represented along one dimension and innermost loop iterations along the other dimension. By exploiting the regularity along the loop dimension, and imposing essential dependence based constraints on intra-tile execution order, the problem of optimizing register pressure is cast in a constraint programming formalism. Experimental results are provided from thousands of innermost loops extracted from the SPEC benchmarks, demonstrating improvements over the current state-of-the-art.

Data and Resources

Additional Info

Field Value
Source https://inria.hal.science/hal-00998915
Author Rastello, Fabrice, Ponnuswany, Sadayappan, van Amstel, Duco
Maintainer CCSD
Last Updated May 5, 2026, 09:51 (UTC)
Created May 5, 2026, 09:51 (UTC)
Identifier Report N°: RR-8541
Language en
Rights https://about.hal.science/hal-authorisation-v1/
contributor Grenoble's Compiler Group (GCG) ; Centre Inria de l'Université Grenoble Alpes ; Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)
creator Rastello, Fabrice
date 2014-05-26T00:00:00
harvest_object_id c2a2bdfc-3781-456d-9ce2-2eb0ff34f4cc
harvest_source_id 3374d638-d20b-4672-ba96-a23232d55657
harvest_source_title test moissonnage SELUNE
metadata_modified 2025-10-06T00:00:00
relation info:eu-repo/semantics/altIdentifier/arxiv/1406.0582
set_spec type:REPORT