LLVM IRBuilder:在特定指令之后设置插入点



LLVM IRBuilder类成员函数SetInsertPoint (Instruction *I)指定创建的指令必须插入到指定的指令之前。

如何在特定指令之后设置插入点?我找不到可以直接做的函数

插入点不能设置在给定指令之后,而应该设置在下一条指令之前。

要获得指向下一条指令的指针,您可以使用getNextNode()方法,该方法在Instruction上可用:

Builder.SetInsertPoint(I->getNextNode());

或者你可以把指令指针变成一个迭代器并推进它:

BasicBlock::iterator it(I);
it++;
Builder.SetInsertPoint(it);

最新更新