SIRA: Schedule Independent Register Allocation for Software Pipelining - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2001

SIRA: Schedule Independent Register Allocation for Software Pipelining

Sid Touati
  • Function : Author
  • PersonId : 962200
Christine Eisenbeis
  • Function : Author
  • PersonId : 833430


The register allocation in loops is generally carried out after or during the software pipelining process. This is because doing the register allocation at first step without assuming a schedule lacks the information of interferences between values live ranges. The register allocator introduces extra false dependencies which reduces dramatically the original ILP (Instruction Level Parallelism). In this paper, we give a new formulation to carry out the register allocation before the scheduling process, directly on the data dependence graph by inserting some anti dependencies arcs (reuse edges). This graph extension is first constrained by minimizing the critical cycle and hence minimizing the ILP loss due to the register pressure. The second constraint is to ensure that there is always a cyclic register allocation with the set of available registers, and this for any software pipelining of the new graph. We give the exact formulation of this problem with linear integer programming.


Other [cs.OH]
Fichier principal
Vignette du fichier
SIRA-2.pdf (159.67 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-00647138 , version 1 (01-12-2011)


  • HAL Id : hal-00647138 , version 1


Sid Touati, Christine Eisenbeis. SIRA: Schedule Independent Register Allocation for Software Pipelining. Workshop on Compilers for Parallel Computers, Jun 2001, Edinburgh, United Kingdom. ⟨hal-00647138⟩
284 View
85 Download


Gmail Facebook Twitter LinkedIn More