图着色寄存器分配

如果寄存器分配问题被抽象成图着色问题,那么图中的每个节点代表某个变量的活跃期或生存期(Live range)。活跃期定义是从变量第一次被定义(赋值)开始,到它下一次被赋值前的最后一次被使用为止。两个节点之间的边表示这两个变量活跃期因为生命期(lifetime)重叠导致互相冲突或干涉。一般说来,如果两个变量在函数的某一点是同时活跃(live)的,它们就相互冲突,不能占有同一个寄存器。

详情参考知乎:https://zhuanlan.zhihu.com/p/55287942

猜你喜欢

转载自blog.csdn.net/zilan23/article/details/104062522