LLVM IRBuilder函数SetInsertPoint(指令* I)指定应在指定指令之前插入创建的指令。
如何在特定指令后设置插入点?我无法找到可以直接执行的功能。
答案 0 :(得分:8)
插入点不能设置为在给定指令之后 - 相反,您应将其设置为在下一条指令之前。
要获取指向下一条指令的指针,您可以使用Instruction
上提供的getNextNode()
方法:
Builder.SetInsertPoint(I->getNextNode());
或者您可以将指令指针转换为迭代器并将其前进:
BasicBlock::iterator it(I);
it++;
Builder.SetInsertPoint(it);