如何在llvm中使用SplitEdge方法

How could I use SplitEdge method in llvm

本文关键字:SplitEdge 方法 llvm      更新时间:2023-10-16

我需要在边中插入一个基本块。我尝试在以下链接中使用SplitEdge方法:http://llvm.org/docs/doxygen/html/BasicBlockUtils_8cpp_source.html我在这里找到了答案:http://lists.cs.uiuc.edu/pipermail/llvmdev/2010-July/033288.html但是,我不想在runonFunction中设置它,我如何使用它而不面临pass不等于null的问题感谢

我认为最简单的方法是将SplitEdge方法的实现复制到您自己的代码中,并修改它们以在pass为NULL时工作。在当前的实现中,这意味着修改它以调用您自己的SplitBlock版本,在该版本中,只需在调用P之前添加return new

然而,如果您在LLVM IR上执行这些操作,请考虑在适当的过程中执行这些操作——这将使您的代码与现有的过程配合得更好。