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

问题描述 投票:0回答:1

LLVM

IRBuilder
类成员函数
SetInsertPoint (Instruction *I)
指定创建的指令应该插入到指定指令之前

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

llvm
1个回答
16
投票

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

要获得指向下一条指令的指针,您可以使用

getNextNode()
方法,该方法可在
Instruction
上获得:

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

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

BasicBlock::iterator it(I);
it++;
Builder.SetInsertPoint(it);
© www.soinside.com 2019 - 2024. All rights reserved.