你这个就是instruction scheduling 对RA的影响
说老实话真的没有非常好的系统化的解决方法
llvm上的做法是在schedule的时候同时跟踪寄存器压力,每次选择下一条指令时,检查
所有待选指令对寄存器压力的影响,尽量避免寄存器压力超过物理寄存器数目
【 在 snnn (cm) 的大作中提到: 】
: 首先我们只考虑简单代码块,就是一段代码片段,它不含有if/else/for/jump等任何跳转指令,不管是条件跳转但是非条件跳转。
: 比如下面这样的代码:
: int a=3,b=4,c=5;
: ...................
--
FROM 104.133.8.*