在LLVM IR中设置指令的下一个节点

时间:2012-01-30 10:58:16

标签: llvm

1:%mul2 = fmul float%1,%1

2:%mul3 = fmul float%mul2,%1

3:%mul4 = fmul float%mul3,%1

4:%mul5 = fmul float%mul4,%1

5:%mul6 = fmul float%mul5,%1

6:%mul7 = fmul float%mul6,%1

7:存储浮动%mul5,浮动*%x,对齐4,!tbaa!0

我想将%mul5的下一个节点设置为%mul7。 getNextNode()函数将下一个节点作为%mul6(我想删除)。有没有这方面的功能?

1 个答案:

答案 0 :(得分:4)

getNextNode()是LLVM API内部内容的内部实现细节。你永远不应该使用它。您可以使用标准LLVM API来操作指令列表:迭代器和IRBuilder。有关详细信息,请参阅http://llvm.org/docs/ProgrammersManual.html#simplechangeshttp://llvm.org/doxygen/classllvm_1_1IRBuilder.html

此外,在删除%mul6之前,您必须替换它的所有用途。