Recherche
Ceci est la page de mon travail de recherche. J'ai maintenant terminé ma thèse en informatique sous la direction de Fabrice Rastello et Alain Darte, intitulée :
J'ai soutenu ma thèse le jeudi 30 avril 2009 à 16h en amphi B de l'ENS Lyon. Vous pourrez trouver des informations plus précises sur ma thèse ainsi que les transparents de ma soutenance sur cette page. Pour ce qui est du reste, cette page présente les articles ou rapports de recherche faits durant cette thèse, à l'exception des articles sur le placement de données dans le cache ("Procedure placement..."). Les recherches effectuées concernent donc l'allocation de registres. Depuis que je travaille chez Kalray, j'ai également collaboré avec Artur Pietrek en thèse Cifre avec Verimag, sur l'échange de représentation intermédiaires entre compilateurs.
- La complexité du problème de l'allocation de registres
- Le problème du spill sous SSA
- Le problème du coalescing sous SSA
- Amélioration des algorithmes de coalescing, conservatifs et aggressifs ou à base de déplacement de permutation.
- Échanger des représentation intermédiaires entre compilateurs.
Publications
Voici les publications auxquels j'ai participé (et donc je fais partie des auteurs). Thèse Journaux Conférences et workshops Rapports de Recherche Présentations
Thèse
2009
A Study of Spilling and Coalescing in Register Allocation as Two Separate Phases
apr
See also this page.


Journaux
2005
Procedure placement using temporal-ordering information: dealing with code size expansion
Journal of Embedded Computing
Version améliorée de 11


Conférences et workshops
2012
A Tirex-based SSA Interpreter
DCE ’12: International Workshop on Dynamic Compilation Everywhere
Paris, France
jan


2011
Tirex: A Textual Target-Level Intermediate Representation for Compiler Exchange
WIR '11: International Workshop on Intermediate Representations
Chamonix, France
apr


2010
Parallel copy motion
{SCOPES}'10: Proceedings of the 13th International Workshop on Software \& Compilers for Embedded Systems
St. Goar, Germany


2008
Advanced conservative and optimistic register coalescing
CASES '08: Proceedings of the 2008 international conference on Compilers, architectures and synthesis for embedded systems
Atlanta, GA, USA
Acceptance rate: 27 of 82 submissions, 33%


2007
On the complexity of register coalescing
CGO '07: Proceedings of the International Symposium on Code Generation and Optimization
San Jose, CA, USA
mar
Best paper award
Acceptance rate: 32%
Version améliorée de 13


On the complexity of spill everywhere under SSA form
LCTES '07: Proceedings of the 2007 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
San Diego, California, USA
jun
Acceptance rate: 21 of 76 submissions, 28%




2006
Register allocation: What does the NP-Completeness proof of Chaitin et al. really prove? or revisiting register allocation: why and how?
LPCP '06: Proceedings of the 19th international workshop on languages and compilers for parallel computing
New Orleans, LA, USA
nov
Version améliorée de 10



Register allocation: What does the NP-Completeness proof of Chaitin et al. really prove?
5th annual workshop in duplicating, deconstructing, and debunking (wddd'06), held in conjunction with the 33rd international symposium on computer architecture (isca-33)
jul
Version améliorée de 14



2004
Procedure placement using temporal-ordering information: dealing with code size expansion
CASES '04: Proceedings of the 2004 international conference on Compilers, architecture, and synthesis for embedded systems
Washington DC, USA
Acceptance rate: 31 of 102 submissions, 30%
Version améliorée de 16


Rapports de Recherche
2010
GPGPU and Matlab
Indian Institude of Science
jan


2006
On the complexity of register coalescing
LIP
mar
http://www.ens-lyon.fr/LIP/Pub/rr2006.php

Register allocation: What does Chaitin's NP-completeness proof really prove?
LIP
mar
http://www.ens-lyon.fr/LIP/Pub/rr2006.php

2005
Register allocation and spill complexity under SSA
Language: French
LIP
aug
http://www.ens-lyon.fr/LIP/Pub/rr2005.php


2004
Procedure placement using temporal-ordering information: dealing with code size expansion
LIP
apr
http://www.ens-lyon.fr/LIP/Pub/rr2004.php

Présentations
2009
SSA Destruction after Register Allocation
oct
Part 5 of the Register Allocation tutorial of LCPC '09.
http://dynopt.ece.udel.edu/lcpc09/tutorial.shtml

2008
Register Allocation: Complexity Overview and Practical Recommendations
aug
Presentation for a Post Doc at IBM Research India

Talks
Quelques talks ou visites.
2009
- Part 5 of the Tutorial on Register Allocation under Static Single Assignment (SSA): SSA Destruction. This was held at LCPC '09.
- Presentation at CASES '08.
- Visit at Rice University in December for a talk about register coalescing to Keith Cooper, Linda Torczon, Timothy Harvey.
- Visit at MIT in December.
- Presentation at CGO '07.
2006
- Presentation at LCPC '06.
- Visit at UCLA to see Jens Palsberg and Fernando Pereira
Stages
Des informations sur les stages que j'ai effectués.
Programmation
Je recense ici tous les travaux de programmation qui peuvent se trouver utiles à d'autres personnes.
- mlcoal: a register coalescing program in OCaml initially written for Appel and George's Coalescing Challenge. Now bridged with the LAO compiler from STMicroelectronics.
- fmpc, le compilateur de mini-pascal développé avec Emmanuel Filiot durant le deuxième semestre de la maîtrise. C'est je pense un bon travail et la documentation que nous avons rédigé (~80 pages) explique bien les différentes parties d'un compilateur. Malheureusement, il est pour le moment indisponible car il sert de base à certains TPs de compilation.