Early Control of Register Pressure for Software Pipelined Loops

Sid Touati 1 Christine Eisenbeis 1
1 A3 - Advanced analysis to code optimization
UP11 - Université Paris-Sud - Paris 11, Inria Saclay - Ile de France
Abstract : The register allocation in loops is generally performed after or during the software pipelining process. This is because doing a conventional register allocation at first step without assuming a schedule lacks the information of interferences between variable lifetime intervals. Thus, the register allocator may introduce an excessive amount of false dependences that reduce dramatically the ILP (Instruction Level Parallelism).We present a new framework for controlling the register pressure before software pipelining. This is based on inserting some anti-dependences edges (register reuse edges) labeled with reuse distances, directly on the data dependence graph. In this new graph, we are able to guarantee that the number of simultaneously alive variables in any schedule does not exceed a limit. The determination of register and distance reuse is parameterized by the desired critical circuit ratio (MII) as well as by the register pressure constraints - either can be minimized while the other one is fixed. After scheduling, register allocation is done cyclically on conventional register sets or on rotating register files. We give an optimal exact model, and another approximative one that generalizes the Ning-Gao [13] buffer optimization heuristics.
Type de document :
Communication dans un congrès
12th International Conference (CC 2003), Held as Part of the Joint European Conferences on Theory and Practice of Software (ETAPS 2003), Apr 2003, Varsovie, Poland. Springer, 2622, pp.17-32, 2003, LNCS. 〈http://www.springerlink.com/content/7h5qflrrajn4plcx/〉. 〈10.1007/3-540-36579-6_2〉
Liste complète des métadonnées

Littérature citée [22 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/inria-00637264
Contributeur : Sid Touati <>
Soumis le : lundi 31 octobre 2011 - 15:35:05
Dernière modification le : jeudi 30 novembre 2017 - 01:19:30
Document(s) archivé(s) le : mercredi 1 février 2012 - 02:22:47

Fichier

Early_Control.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

Collections

Citation

Sid Touati, Christine Eisenbeis. Early Control of Register Pressure for Software Pipelined Loops. 12th International Conference (CC 2003), Held as Part of the Joint European Conferences on Theory and Practice of Software (ETAPS 2003), Apr 2003, Varsovie, Poland. Springer, 2622, pp.17-32, 2003, LNCS. 〈http://www.springerlink.com/content/7h5qflrrajn4plcx/〉. 〈10.1007/3-540-36579-6_2〉. 〈inria-00637264〉

Partager

Métriques

Consultations de la notice

166

Téléchargements de fichiers

80