Université Djilali Bounaama Khemis Miliana Master1 Ingénierie du logiciel TD de

Université Djilali Bounaama Khemis Miliana Master1 Ingénierie du logiciel TD de compilation - 1 - Exercice 1. On considère le code intermédiaire suivant : 1. Donner les instructions tête 2. Donner les blocs de base 3. Construire le graphe de flot de contrôle Exercice 2. On considère les expressions suivantes : ( a + a * (b - c) ) + (b - c) * d (a+b)*(c+d)/(a-c)*(b+d)*e 1. Générer le code intermédiaire correspondant 2. Proposer une optimisation pour ces expressions Exercice 3. On étudie dans cet exercice quelques optimisations sur du code trois adresses découpé en blocs de base. On considère le petit programme suivant : for i :=0 to 10 { a :=i+1 ; b :=i+1 ; c :=i+2 ; a+b ; } 1. Traduire le programme en code trois adresses. 2. Découper ce code trois adresses en blocs de base. 3. Représenter le graphe de flot de contrôle ainsi obtenu. 4. Effectuer une élimination de sous-expressions communes sur chacun des blocs. 5. Effectuer une élimination de code mort sur chacun des blocs. Travaux dirigés N° 2 - 2 - Exercice 4. Soit le code suivant: i = m − 1 ; j = n ; v = a [ n ] ; while ( true ) { do { i = i + 1 ; } while ( a [ i ] < v ) ; do { j = j − 1 ; } while ( a [ j ] > v ) ; i f ( i >= j ) break ; x = a [ i ] ; // interchanger a[i] et a[j] a [ i ] = a [ j ] ; a [ j ] = x ; } x = a [ i ] ; // interchanger a[i] et a[n] a [ i ] = a [ n ] ; a [ n ] = x ; 1. Donner le code intermédiaire correspondant (code 3 adresses) 2. Construire le graphe de flot de contrôle 3. Identifier les différentes boucles 4. Optimiser le code trouvé uploads/S4/ td-3-optimisation-de-code-intermediaire.pdf

  • 18
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Nov 02, 2022
  • Catégorie Law / Droit
  • Langue French
  • Taille du fichier 0.0253MB