LLVM的opt -S -mem2reg传递生成了所谓的"pruned" SSA,即删除了所有无效phi函数的形式。我想将这些phi指令保留在IR中,以获得“最小” SSA,但是我没有找到一种简单的方法来做到这一点。

我注定要从头开始实现整个SSA构造算法,还是有一种方法可以使用现有工具来实现?

最佳答案

LLVM除了修剪SSA表单外,不支持形成任何其他形式,因此不太可能发展这种机制。实际上,在进行phi放置时,我们甚至根本不做合成这些信息的工作。

关于llvm - 从LLVM获取 "minimal"SSA,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32037252/

10-13 08:16