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