Plongeon au cœur des optimisations de compilateur Static Single Assignment (SSA)
Cet article retrace l'évolution de plusieurs décennies des techniques d'optimisation de compilateur Static Single Assignment (SSA). Des premiers articles sur le déplacement de code et la numérotation de valeurs globales, en passant par le travail fondateur de Cytron sur la minimisation des instructions phi, jusqu'à l'approche de génération en une seule passe de Brandis et Mössenböck et le Sea of Nodes IR de Click et Paleczny, l'article suit plusieurs articles clés et discute de leurs forces et faiblesses. Il aborde également le travail d'Appel sur la relation entre la programmation fonctionnelle et SSA, la suppression itérative des nœuds phi d'Aycock et Horspool et les approches plus récentes basées sur l'interprétation abstraite. L'article se conclut par une liste d'articles et de ressources supplémentaires, offrant une perspective plus complète aux lecteurs intéressés à en apprendre davantage sur SSA.