INC
que permite
incrementar eficientemente una expresión. Recorremos el código buscando
por un patrón "sumar 1" y lo reeemplazamos adecuadamente.
package Peephole::Optimization; sub transform { $target = shift; $target =~ s/PUSH 1\nPLUS/INC/g; }
Otro ejemplo de optimización peephole consiste en reemplazar las operaciones flotantes de división por una constante por la multiplicación por la inversa de la misma (aquí se pueden introducir diferencias en el resultado, debido a la inexactitud de las operaciones en punto flotante y a que, si se trata de un compilador cruzado la aritmética flotante en la máquina en la que se ejecuta el compilador puede ser diferente de la de la máquina que ejecutará el código objeto).