34、静态单赋值形式与函数式中间表示

静态单赋值形式与函数式中间表示

1. 从SSA形式转换回来

在将静态单赋值(SSA)形式的程序转换回普通形式时,需要进行活跃性分析并构建干涉图。以下是相关算法:

LivenessAnalysis() =
for each variable v
    M ←{}
    for each site-of-use s of v
        if s is a φ-function with
            v as its ith argument
            let p be the ith predecessor of
                the block containing s
            LiveOutAtBlock(p, v)
        else LiveInAtStatement(s, v)

LiveOutAtBlock(n, v) =
    v is live-out at n
    if n ∉ M
        M ← M ∪ {n}
        let s be the last statement in n
        LiveOutAtStatement(s, v)

LiveInAtStatement(s, v) =
    v is live-in at s
    if s is the first statement of some block n
        v is live-in at n
        for each predecessor p of n
            LiveOutAtBlock(p, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值