LLVM
IRBuilder
类成员函数SetInsertPoint (Instruction *I)
指定创建的指令应该插入到指定指令之前
如何在特定指令后设置插入点?我找不到可以直接做的功能。
插入点不能设置在给定指令之后——相反,您应该将其设置在下一条指令之前。
getNextNode()
方法,该方法可在Instruction
上获得:
Builder.SetInsertPoint(I->getNextNode());
或者你可以把指令指针变成一个迭代器并推进它:
BasicBlock::iterator it(I);
it++;
Builder.SetInsertPoint(it);