Constant folding
Un article de Wikipédia, l'encyclopédie libre.
Le constant folding est l'optimisation faite par les compilateurs au premier stade de la compilation d'un programme. En C, c'est l'optimisation qui donne la possibilité d'avoir des expressions constantes dans les declarations dans l'en-tête, comme par exemple:
#define WIDTH 320 #define HEIGHT 240 char buffer[WIDTH*HEIGHT];
Le constant folding remplace les expressions constantes par la valeur constante correspondante appropriée.
Le constant folding est semblable à la propagation constante, à la différence près que le constant folding doit être effectué avant que le langage haut niveau ne soit traduit en code intermédiaire à trois adresses (qui a pour structure globale A = B op C, où A, B et C sont des noms, des constantes ou des noms temporaires ; op peut être n'importe quel opérateur) pour faire en sorte que des codes comme ceux donnés en exemple ci-dessus fonctionnent. La propagation constante est appliquée sur le code intermédiaire.