Cyclic Register Pressure and Allocation for Modulo Scheduled Loops - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 2002

Cyclic Register Pressure and Allocation for Modulo Scheduled Loops

Sid Touati
  • Fonction : Auteur
  • PersonId : 962200
Christine Eisenbeis
  • Fonction : Auteur
  • PersonId : 833430

Résumé

In a previous work, we have introduced the notion of register saturation in directed acyclic graphs (basic blocks) which is the maximal number of registers needed to complete a computation in a multiple issue processor. In this report, we extend our work to the cyclic case¸: given a data dependence graph of a simple loop, the cyclic register saturation is the maximal number of registers needed by any modulo schedule of this DDG. If the register saturation is lower than the number of available registers R, then we can build a software pipelining schedule without including the registers constraints¸: we are sure that any schedule does not need more than R registers, and so no spill code has to be generated. If not, we add some arcs in the DDG such that any modulo schedule would not require more than R registers, while minimizing the critical circuit. Next, we introduce and study the dual notion¸: the cyclic register sufficiency is the minimal number of registers needed by any modulo schedule of the DDG. If this factor is greater than R, spill code cannot be avoided. Finally, we shall show how to construct a cyclic register allocation in the data dependence graph independently from any software pipelined schedule. We insert some anti-depend- ences into the original DDG to express the register reuse relations between statements, such that the number of consumed registers does not exceed R under a fixed execution rate (initiation interval).
Fichier principal
Vignette du fichier
RR-4442.pdf (1.64 Mo) Télécharger le fichier

Dates et versions

inria-00072146 , version 1 (23-05-2006)

Identifiants

  • HAL Id : inria-00072146 , version 1

Citer

Sid Touati, Christine Eisenbeis. Cyclic Register Pressure and Allocation for Modulo Scheduled Loops. [Research Report] RR-4442, INRIA. 2002. ⟨inria-00072146⟩
158 Consultations
284 Téléchargements

Partager

Gmail Facebook X LinkedIn More