next up previous
Next: Recherche des sous-expressions Up: 2.2.3 Les différentes étapes Previous: Découpage en instructions

Ordonner les instructions élémentaires


La recherche des sous-expressions communes est une phase complexe [2], pour laquelle il nous est apparu intéressant d'ordonner les expressions élémentaire de sorte que les plus "courtes" soient examinées en premier lieu (cela permet d'avoir une vision plus "globale"). Il faut bien entendu respecter les dépendances de flot (réutilisation des variables).

Sur l'exemple de la figure 1, l'expression t est tout d'abord atomisée, puis la recherche des sous expressions communes et le déplacement de code sont effectués. Pour chaque variable temporaire ( pour i de 1 à 5) on essaie de réutiliser les résultats déjà obtenus. Or, plusieurs solutions sont équivalentes (en terme de réutilisation) à un instant donné, mais ne le sont plus si l'on examine les utilisations "futures". Il est donc intéressant de "ranger" les expressions élémentaires de sorte qu'une vision "à long terme" soit favorisée (en s'attachant à respecter les dépendances de flot).

  
Table 1: Ordonner pour améliorer la recherche des sous-expressions.



Julien Zory
Thu Mar 12 17:35:23 MET 1998