Eliminación de subexpresiones comunes
(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.»