编译器寄存器分配:从图着色到线性扫描的四十年算法博弈

1981年,IBM的研究员Gregory Chaitin面临一个棘手的问题:如何让PL.8编译器生成的代码更高效?当时,程序中的变量远多于处理器寄存器,编译器必须决定哪些变量驻留在寄存器,哪些被"驱逐"到内存。这个看似简单的资源分配问题,实际上是计算机科学中最经典的NP完全问题之一。 ...

10 min · 4809 words