Académique Documents
Professionnel Documents
Culture Documents
• Au départ Supp[B] =Ø
• Pour chaque instruction du bloc du type x=y op z, mettre dans Supp[B] toutes les expressions de
U qui contiennent x à condition qu’elle ne soit pas recalculée plus loin dans le bloc
Intersection entre
tous les
prédécesseurs
5.4 Algorithme d’élimination des expressions communes globales:
Exemple : Sur l’exemple les expressions à étudier sont e1, e2, e3 et e5 On obtient le graphe suivant
e 1 apparait dans l’instruction 13 du
bloc B4
Est- elle disponible ? e1 ϵIn(B4) oui
la dernière évaluation c ‘est l’instruction
(1) qui devient donc :
1) t3 :=m-1
1’) t1 :=t3
et l’instruction (13) devient t1 :=t3
e 2 apparait dans l’instruction (12) du
bloc B3
Est- elle disponible ? e2 ϵIn(B3) oui
la dernière évaluation c ‘est l’instruction
(2) qui devient donc :
2)t4 :=m+n
2’) t2 :=t4
et l’instruction (12) devient c :=t4
e 3 apparait dans l’instruction 9 du
bloc B2 et l’instruction 15 du B4
- 9 de B2
Est- elle disponible ? e 3 ϵIn(B2) non
Donc on ne peut pas l’éliminer.
-15 de B4
la dernière évaluation c ‘est l’instruction
(9) qui devient donc :
9)t5:=a+1
9’) d :=t5
et l’instruction (15) devient c :=t5
e5 apparait dans (6) de B2,(11) de B3
et (14) de B4
- (6) de B2 Est- elle disponible ? e 5
ϵIn(B2) non
-11 de B3 Est- elle disponible ? e 5
ϵIn(B3) oui la dernière évaluation c‘est
l’instruction (6) qui devient donc :
6)b:=2*c
6’) b :=t6
et l’instruction (11) devient d :=t6
-14 de B4 Est- elle disponible ? e 5
ϵIn(B4) oui la dernière évaluation c‘est
l’instruction (6) qui devient donc :
6)t7:=2*c
6’’) t6 :=t7
et l’instruction (14) devient b :=t7
6 Propagation de copies
Les instrucctions de copie (i) x=y peuvent détreminées en remplaçant x par y dans chaqye
expression utilisant x à un point p si et seulement si :
• L’instruction (i) est la seule définition de x qui atteint le point p
• Sur chaque chemin de (i) à p (y compris les boucles) il n’ya aucune affectation de y
Références :
- Cours de « Saoudi Lalia »
- Compilation, théorie des langages ; cours de « l’université Bretagne occidentale »