LoRA: a Package for Loop Optimal Register Allocation - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Reports (Research Report) Year : 1999

LoRA: a Package for Loop Optimal Register Allocation

Abstract

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.

Domains

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

Dates and versions

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

Identifiers

  • HAL Id : inria-00072959 , version 1

Cite

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

Share

Gmail Facebook X LinkedIn More