Open yilin0518 opened 2 months ago
我觉得应该是所有后继,不过我想问一下活跃分析的目的是什么?
我觉得应该是所有后继,不过我想问一下活跃分析的目的是什么?
活跃分析的话会把一些后续根本用不到的寄存器操作去掉吧,比如连续多个赋值语句,只有最后一个赋值语句会起作用,中间的发现没作用就可以删掉了
n直接到达的后继节点。 temp在block A-->block B live, 那么对于A,该temp是live out,对B,是live in。严格上说是从A-->B 的边上live。 对于 A-->B-->C ,C live in 的temp,B上是live out,但在A里面还可能没有def,所以A上不一定是live out。
n直接到达的后继节点。 temp在block A-->block B live, 那么对于A,该temp是live out,对B,是live in。严格上说是从A-->B 的边上live。 对于 A-->B-->C ,C live in 的temp,B上是live out,但在A里面还可能没有def,所以A上不一定是live out。
助教,请问如何理解插入Phi任务中”如果变量在某个前驱没有live out,那我们还要插phi吗?“结论是需要呢?
这个问题是想让大家思考和理解一下live in和live out。实际上根据第二条公式,不存在后继live in,但某个前驱没有live out这样的情况。所以”如果变量在某个前驱没有live out‘’和“没有live in”是等同的。
请问括号中succ[n]指的是n直接到达的后继节点n的所有后继块呢?