HAL will be down for maintenance from Friday, June 10 at 4pm through Monday, June 13 at 9am. More information
Skip to Main content Skip to Navigation

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 :
Complete list of metadata

Contributor : Rapport de Recherche Inria Connect in order to contact the contributor
Submitted on : Wednesday, May 24, 2006 - 11:28:01 AM
Last modification on : Friday, January 21, 2022 - 4:04:22 AM
Long-term archiving on: : Sunday, April 4, 2010 - 11:29:25 PM


  • HAL Id : inria-00072959, version 1


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



Record views


Files downloads