QCM5 Flashcards
1
Q
l’analyse de vivacité de variables
A
- est utilisée pour construire le graphe de conflit, lui même utilisé pour l’allocaton de registres
- n’est pas nécessaire pour une allocation naive qui alloue un registre physique par temporaire
1
Q
Un graphe de flot de controle
A
- permet de réaliser l’analyse de vivacité des variables
- est une représentation intermédiaire utilisée dans un compilateur
2
Q
Les étapes d’analyse et de transformation réalisées par un compilateur sont
A
- l’analyse syntaxique
- l’analyse lexicale
- la vérification de type
- la génération de codes 3 adresses
- l’allocation de registres
3
Q
La génération de code assembleur dans un compilateur
A
- peut utiliser un graphe de flot de contrôle (CFG) comme représentation intermédiaire mais pas forcément
4
Q
Dans un compilateur, sont NP-complets les problèmes suivants
A
- le coloriage de graphe de conflit avec un nombre minimal de couleurs
- l’ordonnancement d’instructions à l’intérieur d’un bloc de base
5
Q
Dans notre série de TP, les tests (infrastructure pytests)
A
- permettent d’avoir confiance en notre compilateur
- lancent le compilateur sur plusieurs fichiers source
- servent à tester le code final généré
- sont entièrement automatiques
6
Q
Dans la phase d’allocation de registres, l’analyse de vivacité des variables (liveness)
A
- sert à calculer des informations de conflit
- calcule un sous-ensemble des variables vivantes en chaque point
- calcule un sur-ensemble des variables vivantes en chaque point