热门问题
时间线
聊天
视角
稀疏有条件的常数传播
来自维基百科,自由的百科全书
Remove ads
在电脑科学的领域,稀疏有条件的常数传播(sparse conditional constant propagation)是一个优化的技术,常用在以静态单赋值形式(SSA)进行最佳化的编译器,它可以移除程式中一些无用的程式码以及进行常数传播。然而,它比起死码删除以及常数传播更加的强大。[1][2]
这个演算法在SSA中借由实现程式码的抽象释义来运作。在实现抽象释义的过程中,它使用常数的格(Lattice)以及在全域环境对应SSA变数到这个格的数值,演算法的关键在于它如何处理分支指令的诠释,当意外发生,分支的状态尽可能评估最佳的方式,使绑定变数的抽象数值更加的精确。在需要数值要绝对精确的案例之下,抽象执行可以决定分支的方向。如果数值不是常数,或是一个变数在为定义的状态,那么两个分支的方向必须都保留。
完成后的抽象表现,指令不会到达被标注为死码的程式区段,SSA变数在常数会使用到的地方可能会以内连(inline)的方式实现。[比如?]
Remove ads
参考文献
另见
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads