OPTIMISATION GLOBALE OPTIMISATION GLOBALE
Des optimisations qui dépendent des interactions entre plusieurs blocs de base

Une optimisation est possible si quelque chose est arrivée avant l'entrée de ce bloc ou va arriver après la fin

Nécessite une analyse des chemins possibles dans le graphe

[Supposition pas forcément vraie mais sans danger que chaque chemin dans le graphe correspond à une suite d'exécutions de blocs]

Cette analyse serait triviale si les programmes n'avaient pas de boucles ...

LES OPTIMISATIONS

LES ENSEMBLES A CALCULER

UTILISER CES ENSEMBLES

LES EQUATIONS

UN EXEMPLE: LES VARIABLES VIVANTES
Di: l'ensemble de variables vivantes au début de bloc numéro i
Fi: idem à la fin
Ui: les variables utilisées en bloc i (avant d'être définies)
Ci: les variables changées en bloc i (avant d'être utilisées)


Fi = Èj successeur de i Dj


Di = Fi ÈUi - Ci

Nous voulons la solution minimale

RESOUDRE LES EQUATIONS

LES COMPLICATIONS
On doit prendre un point de vue conservateur: ne faire que les optimisations qui ne pourraient pas changer l'effet d'un programme (tant que cet effet est défini?!)




File translated from TEX by TTH, version 3.05.
On 28 Apr 2003, 09:58.