上面的代码中在if-else分支中会对receive这个变量产生一个定义。并且出了if-else分支后则离开了作用域.但是在toplevel的ssa中,在分支合并后产生了一个PhiNode,由于receive只能在if-else内访问到,或许这个PhiNode的生成是冗余的。除此之外,PhiNode是将两个或两个以上的定义合并,而函数中只有一次对receive变量的定义,从这个角度上来考虑貌似也不该生成PhiNode
登录 后才可以发表评论