A Polynomial Spilling Heuristic: Layered Allocation

Boubacar Diouf 1 Albert Cohen 1 Fabrice Rastello 2
1 Parkas - Parallélisme de Kahn Synchrone
DI-ENS - Département d'informatique de l'École normale supérieure, ENS Paris - École normale supérieure - Paris, Inria Paris-Rocquencourt, CNRS - Centre National de la Recherche Scientifique : UMR 8548
2 COMPSYS - Compilation and embedded computing systems
Inria Grenoble - Rhône-Alpes, LIP - Laboratoire de l'Informatique du Parallélisme
Résumé : L'allocation de registres est l'une des premières et des plus importantes optimisations effectuées par les compilateurs. Elle a pour but d'associer aux variables temporaires du programme des registres de la machine ou des locations mémoires et d'insérer, dans le code, des instructions de load/store explicites, appelées vidage. Dans ce papier, nous nous intéressons à la minimisation des latences mémoires dues au code de vidage, un des problèmes difficiles en allocation de registres. Nous proposons une approche heuristique d'allocation par couches. Ce travail se base sur les récentes avancées en allocation de registres sous SSA. Contrairement à l'approche conventionnelle de vidage incrémental, notre méthode alloue les variables de manière incrémentale par groupe. Nous comparons notre approche, appelée allocation-optimale par couche, aux méthodes de l'état de l'art à une approche optimale et nous montrons l'allocation-optimale par couche est quasi-optimale sur des benchmarks standard et sur deux architectures différentes.
Type de document :
Rapport
[Research Report] RR-8007, INRIA. 2012, pp.23
Liste complète des métadonnées


https://hal.inria.fr/hal-00713693
Contributeur : Boubacar Diouf <>
Soumis le : lundi 2 juillet 2012 - 15:07:03
Dernière modification le : mercredi 28 septembre 2016 - 16:16:39
Document(s) archivé(s) le : jeudi 15 décembre 2016 - 19:56:33

Fichier

RR-8007.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : hal-00713693, version 2

Collections

Citation

Boubacar Diouf, Albert Cohen, Fabrice Rastello. A Polynomial Spilling Heuristic: Layered Allocation. [Research Report] RR-8007, INRIA. 2012, pp.23. <hal-00713693v2>

Partager

Métriques

Consultations de
la notice

258

Téléchargements du document

328