The SSA Representation Framework: Semantics, Analyses and GCC Implementation
La représentation SSA: sémantique, analyses et implémentation dans GCC
Résumé
The Static Single Assignment (SSA) language is one of the intermediate representations commonly used in industrial compilers. However, there was little interest from the static program analysis community in this intermediate representation due to the weak formal grounds of the SSA. This thesis presents a denotational semantics of the SSA language, allowing formal definitions of static analyses on the SSA language based on the classical abstract interpretation framework. From a practical point of view, we present the implementation of the formally described static analyses on the SSA in an industrial compiler: the GNU Compiler Collection (GCC).
Le langage d'assignation statique unique, SSA, est l'une des représentations intermédiaires les plus communément utilisées dans les compilateurs industriels. Cependant l'intérêt de la communauté d'analyse statique de programmes est minime, un fait dû aux faibles fondations formelles du langage SSA. Cette thèse présente une sémantique dénotationelle du langage SSA, permettant des définitions formelles des analyses statiques du langage SSA en se basant sur les méthodes classiques de l'interprétation abstraite. D'un point de vue pratique, cette thèse présente l'implémentation des analyseurs statiques définis formellement dans un compilateur industriel, la Collection de Compilateurs GNU, GCC.
Loading...