如何在LLVM中将Reg2Mem传递添加到addRequired()?

时间:2017-03-10 18:42:23

标签: c++ llvm llvm-ir llvm-c++-api

我想从我的llvm IR文件中删除phi节点,所以我读过Reg2Mem pass是一个解决方案(为什么?)。

通过将opt指定为参数,我可以轻松地使用-reg2mem工具中的此传递。

但是,我希望将此功能内置到我自己的名为FlattenO的传递中。因此,我尝试将Reg2Mem传递添加为我的传递的必需依赖项(它应该自动调用?)。

void FlattenO::getAnalysisUsage(AnalysisUsage &AU) const {
    AU.addRequired<Reg2Mem>();
}

上面的代码不起作用,因为它无法找到任何Reg2Mem传递。我应该包含哪些文件才能使用Reg2Mem通行证?另外,请更正我的代码,以便一切都按预期工作。

0 个答案:

没有答案