在代码生成之后,还有可能进行进一步优化.代码每次被扫瞄一些指令集(窥孔)以寻找可以用更有效的代码组合来替换的代码组合.通常优化通过一个窥孔优化程序来执行,包括通过寄存器装入和存储的副本传播,在算术运算和内存访问的强度简化,和分支链接.
我们不说明Simp的窥孔优化程序.
x := x +1 ld x ld x
inc inc
store x dup
y := x+3 ld x
ld 3 ld 3
add add
store y store y
x := x + z ld x
ld z ld z
add add
store x store x