Skip to Main content Skip to Navigation
Reports

LoRA: a Package for Loop Optimal Register Allocation

Christine Eisenbeis 1 Sylvain Lelait 1
1 A3 - Advanced analysis to code optimization
UP11 - Université Paris-Sud - Paris 11, Inria Saclay - Ile de France
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.
Document type :
Reports
Complete list of metadata

https://hal.inria.fr/inria-00072959
Contributor : Rapport de Recherche Inria <>
Submitted on : Wednesday, May 24, 2006 - 11:28:01 AM
Last modification on : Wednesday, October 14, 2020 - 3:41:31 AM
Long-term archiving on: : Sunday, April 4, 2010 - 11:29:25 PM

Identifiers

  • HAL Id : inria-00072959, version 1

Collections

Citation

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

Share

Metrics

Record views

665

Files downloads

427