Si S est non vide, on introduit un temporaire s pour représenter
l'emplacement en pile et on appelle A1 le code obtenu en remplaçant dans
j *(A):
- chaque multimove
move Kj, pj issu d'une lecture par
move s, pi suivi de move Kj Ç R, pi
- chaque multimove
move ri Ki, qi issu d'une écriture par
- move ri, s suivi de move Ki Ç R, ri si qi Î S et
- move ri Ki Ç R, qi sinon.
- On effectue l'analyse de durée de vie (du registre s) sur le code A1.
On appelle A2 le code obtenu en éliminant dans A1 les moves superflus
(de ou vers s).
- On appelle A3 le code obtenu en remplaçant dans A2 les
move de ou vers s restant par des lecture ou
des écriture en pile.
On applique le coloriage et la coalescence définis par le coloriage q
(sans refaire de calcul) au code A3, ou à j *(A) si S est vide.
On obtient le code final j ¥(A).