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

Pra*_*eek 5 llvm

LLVM IRBuilder函数SetInsertPoint(指令*I)指定应在指定指令之前插入创建的指令.

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

Ism*_*awi 8

插入点不能设置为在给定指令之后 - 相反,您应将其设置为在下一条指令之前.

要获取指向下一条指令的指针,可以使用以下getNextNode()方法Instruction:

Builder.SetInsertPoint(I->getNextNode());
Run Code Online (Sandbox Code Playgroud)

或者你可以将指令指针转换为迭代器并推进它:

BasicBlock::iterator it(I);
it++;
Builder.SetInsertPoint(it);
Run Code Online (Sandbox Code Playgroud)

  • @IsmailBadawi 我想另一点是禁止在终止符之后插入。 (2认同)