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.
Type de document :
Rapport
[Research Report] RR-3709, INRIA. 1999
Liste complète des métadonnées

https://hal.inria.fr/inria-00072959
Contributeur : Rapport de Recherche Inria <>
Soumis le : mercredi 24 mai 2006 - 11:28:01
Dernière modification le : jeudi 9 février 2017 - 15:56:01
Document(s) archivé(s) le : dimanche 4 avril 2010 - 23:29:25

Fichiers

Identifiants

  • 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〉

Partager

Métriques

Consultations de la notice

255

Téléchargements de fichiers

343