Eliminación de Código Muerto

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 2

Eliminacin de cdigo muerto

Podemos tener proposiciones que definen un nombre que nunca ms es referenciado, esta
muerto. Estas proposiciones pueden entonces ser eliminadas.
Dada la proposicin a= b op c, se dice que es cdigo muerto o inactivo si no es referenciada.
En general, el cdigo muerto aparece como consecuencia de la propagacin de copias y es
esto lo que hace que la tcnica de propagacin de copias sea tan til. Veamos como aplicar
esta tcnica:

Vemos que t6 y t7 no tienen ninguna referencia a partir de su definicin, por tanto pueden ser
eliminadas.
_

t1 = 4 - 2
t2 = t1 / 2
t3 = a * t2
t4 = t3 * t1
t5 = t4 + b
c = t5 * t5

Transformaciones aritmticas
Se pueden hacer uso de transformaciones algebraicas simples para reducir la cantidad de
computacin transformando operaciones ms costosas por otras menos costosas. Existen tres
tipos de transformaciones algebraicas bsicas.
Clculo previo de constantes
Se trata de calcular a nivel de compilacin el valor previo de constantes en vez de hacerlo en
tiempo de ejecucin que retardara la ejecucin de un programa. A esta optimizacin se le
llama clculo previo de constantes.
a) El siguiente cdigo puede ser mejorado
b) Haciendo una propagacin de copias y eliminacin de cdigo.
c) Realizando de nuevo un clculo previo de constantes obtenemos
d) Y finalmente podemos hacer de nuevo la propagacin de copias y la eliminacin de cdigo
muerto.
Hemos pasado de seis proposiciones a tener cuatro, eliminado una substraccin y una divisin
en el proceso.

También podría gustarte