LoRA: a Package for Loop Optimal Register Allocation - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 1999

LoRA: a Package for Loop Optimal Register Allocation

Résumé

Instruction-level code parallelization increases the register pressure and renders the register allocation phase crucial. In the case of software pipelined loops, unrolling has to be performed when variables are alive during more than one iteration resulting in code size increases. Loop unrolling also influences the register pressure. LoRA is a package that implements several algorithms for trading the register pressure against code size. In LoRA either the register pressure or the unrolling degree can be constrained. We explain the different strategies used in LoRA and show experimental results on a large benchmark of loops. Our experiments show that in concrete cases the unrolling degree can be kept reasonable although the worst case is exponential in the number of registers thought.

Domaines

Autre [cs.OH]
Fichier principal
Vignette du fichier
RR-3709.pdf (402.89 Ko) Télécharger le fichier

Dates et versions

inria-00072959 , version 1 (24-05-2006)

Identifiants

  • HAL Id : inria-00072959 , version 1

Citer

Christine Eisenbeis, Sylvain Lelait. LoRA: a Package for Loop Optimal Register Allocation. [Research Report] RR-3709, INRIA. 1999. ⟨inria-00072959⟩
264 Consultations
241 Téléchargements

Partager

Gmail Facebook X LinkedIn More