En programación, la eliminación de código muerto es una técnica de optimización de software comúnmente llevada a cabo de forma automática por un compilador optimizador que consta en eliminar cualquier tipo de código muerto, código inalcanzable, código redundante y almacenamiento muerto.
[1][2] Resulta importante eliminar este tipo de código por varias razones entre las que se enumeran: ahorrar tiempo de cómputo innecesario, evitar accesos a memoria innecesarios y ejecutar código que no se utilice ya que puede arrojar excepciones.
[3] La eliminación del código inactivo puede reducir el tiempo de procesamiento y carga, y puede conducir a una reducción en el uso de recursos, como la cantidad de bytes transferidos.
[6] Más tarde se mejoró el algoritmo removiendo las operaciones de flujo de control innecesarias.
Utilizando otras técnicas de optimización como el plegamiento de constantes y la propagación de constantes de forma exhaustiva el código se podría llegar a reducir a lo siguiente: O dependiendo del plegamiento y otras técnicas de optimización se podría calcular 24<<2 e incluso eliminar la función y reemplazar cada llamada a la misma, por ese valor.