Skip to Main content Skip to Navigation
Theses

Decoupled (SSA-based) register allocators : from theory to practice, coping with just-in-time compilation and embedded processors constraints

Quentin Colombet 1, 2
2 COMPSYS - Compilation and embedded computing systems
Inria Grenoble - Rhône-Alpes, LIP - Laboratoire de l'Informatique du Parallélisme
Résumé : Ma thèse porte sur l’allocation de registres. Durant cette étape, le compilateur doit assigner les variables du code source, en nombre arbitrairement grand, aux registres physiques du processeur, en nombre limité k. Des travaux récents, notamment ceux des thèses de F. Bouchez et S. Hack, ont montré qu’il était possible de séparer de manière complètement découplée cette étape en deux phases : le vidage (spill) – stockage de variables en mémoire pour libérer des registres – suivi de l’assignation aux registres proprement dite. Ces travaux démontraient la faisabilité de ce découpage en s’appuyant sur un cadre théorique et certaines hypothèses simplificatrices. En particulier, il est suffisant de s’assurer qu’après le spill, le nombre de variables simultanément en vie est inférieur à k.Ma thèse fait suite à ces travaux en montrant comment appliquer ce type d’approche dans un cadre réaliste, en prenant en compte les contraintes liées à l’encodage des instructions, à l’ABI (application binary interface), aux bancs de registres avec aliasing. Différentes approches sont proposées qui permettent soit de s’affranchir des problèmes précités, soit de les prendre en compte directement dans le modèle théorique. Les hypothèses des modèles et les solutions proposées sont évaluées et validées par une étude expérimentale poussée dans le compilateur de STMicroelectronics. Enfin, l’ensemble de ces travaux a été réalisé avec, en ligne de mire, les contraintes de la compilation moderne, la compilation JIT (just-in-time), où rapidité et consommation mémoire du compilateur sont des facteurs déterminants. Nous nous sommes efforcés d’offrir des solutions satisfaisant ces critères ou améliorant les résultats attendus tant qu’un certain budget n’a pas été dépassé, exploitant en particulier la forme SSA (static single assignment) pour définir des algorithmes de type tree scan qui généralisent les approches de type linear scan, proposées pour le JIT.
Document type :
Theses
Complete list of metadatas

Cited literature [109 references]  Display  Hide  Download

https://tel.archives-ouvertes.fr/tel-00764405
Contributor : Abes Star :  Contact
Submitted on : Thursday, February 21, 2013 - 3:57:16 PM
Last modification on : Thursday, November 21, 2019 - 2:12:31 AM
Document(s) archivé(s) le : Sunday, April 2, 2017 - 3:44:07 AM

File

COLOMBET_Quentin_2012_These.pd...
Version validated by the jury (STAR)

Identifiers

  • HAL Id : tel-00764405, version 2

Collections

Citation

Quentin Colombet. Decoupled (SSA-based) register allocators : from theory to practice, coping with just-in-time compilation and embedded processors constraints. Other [cs.OH]. Ecole normale supérieure de lyon - ENS LYON, 2012. English. ⟨NNT : 2012ENSL0777⟩. ⟨tel-00764405v2⟩

Share

Metrics

Record views

638

Files downloads

753