Das Entfernen gemeinsamer Teilausdrücke () beschreibt eine Compiler-Optimierung. Es wird dabei nach Teilausdrücken gesucht, die zuvor bereits berechnet wurden. Wenn solche gefunden werden, wird das vorherige Ergebnis in einer Variable gespeichert und die wiederholte Berechnung durch die Variable ersetzt.Steven S. Muchnick: Advanced Compiler Design & Implementation, Morgan Kaufmann Publishers, 1997, ISBN 1-55860-320-4
Beispiel
In folgendem Programmabschnitt wird zweimal der Wert von a * b berechnet:
x = a * b + c; y = a * b + d;
Die CSE transformiert den Abschnitt dann so, dass das erste Ergebnis zwischengespeichert wird:
_tmp = a * b; x = _tmp + c; y = _tmp + d;
Einzelnachweise
Kategorie:Compilerbau Kategorie:Compileroptimierung