Eliminación de subexpresiones comunes
Apariencia
(Redirigido desde «Eliminación de Subexpresiones Comunes»)
En teoría de compiladores, la eliminación de subexpresiones comunes (CSE por las siglas en inglés) es una optimización que consiste en buscar expresiones que se repitan, y analizar si vale la pena reemplazarlas por una variable para computar el valor una sola vez.[1]
Ejemplo
[editar]En el código siguiente:
a = b * c + g; d = b * c * e;
Puede valer la pena transformar el código a:
tmp = b * c; a = tmp + g; d = tmp * e;
Si el coste de guardar y leer tmp
es menor que el coste de calcular b * c
la segunda vez.
Referencias
[editar]- ↑ Steven Muchnick; Muchnick and Associates (15 de agosto de 1997). Advanced Compiler Design Implementation. Morgan Kaufmann. ISBN 978-1-55860-320-2. «Common subexpression elimination.»