Conception de l'IR du compilateur : décisions locales et optimisation
Cet article explore la conception de la représentation intermédiaire (IR) du compilateur, en se concentrant sur la prise de décisions en utilisant uniquement des informations locales. L'auteur compare les graphes de flux de contrôle (CFG), les IR basés sur les registres et le formulaire d'affectation unique statique (SSA), en introduisant des conceptions plus avancées telles que l'information unique statique (SSI) et la mer de nœuds (SoN). SSA simplifie l'analyse en affectant chaque variable une seule fois, tandis que SSI permet d'ajouter des informations plus granulaires à la même variable dans différentes branches du programme. SoN représente toutes les instructions comme des nœuds de graphe, représentant explicitement les dépendances de données et de contrôle pour une optimisation plus flexible. Ces conceptions visent à rendre les optimiseurs de compilateur plus efficaces, générant en fin de compte un code plus optimisé.