Peephole optimization in compiler design