Next: , Previous: Including Patterns, Up: Machine Desc


16.18 机器特定的窥孔优化

除了指令模式,md文件还可以包含关于机器特定的窥孔优化的定义。

当程序中的数据流没有建议进行尝试的时候, 组合器便不会注意某些可能存在的窥孔优化。 例如,有时两个连续的insn是可以被组合的, 虽然第二个没有显示出要使用在第一个中所计算的寄存器。 机器特定的窥孔优化器可以检测出这样的机会。

有两种窥孔定义形式可以使用。 最初的define_peephole运行于汇编输出时, 用于匹配insn和替换汇编文本。不赞成使用define_peephole

较新的define_peephole2用来匹配insn和替换新的insn。 peephole2过程运行于寄存器分配之后,调度之前, 其使进行调度的target获得更好的代码。