如何将第一条指令插入到llvm中的空基本块
How to insert the first instruction to an empty basic block in llvm
向非空基本块插入新的 llvm 指令
确实非常简单:只需迭代现有指令
直到你到达想要的地方并使用
newInst->insertBefore(thatInst);
命令。但是,当我查看 BasicBlock
界面 here 时,
我似乎找不到 如何插入第一条指令?
我的意思是当刚刚分配了一个新的基本块并且它仍然是空的时,如何将第一条指令插入其中?谢谢!
您可以像这样使用 IRBuilder
:
llvm::IRBuilder builder(basicBlock);
builder.createAdd(...); // Replace "Add" as appropriate
或者,如果您想插入一个已经存在的指令对象:
builder.insert(instruction);
向非空基本块插入新的 llvm 指令 确实非常简单:只需迭代现有指令 直到你到达想要的地方并使用
newInst->insertBefore(thatInst);
命令。但是,当我查看 BasicBlock
界面 here 时,
我似乎找不到 如何插入第一条指令?
我的意思是当刚刚分配了一个新的基本块并且它仍然是空的时,如何将第一条指令插入其中?谢谢!
您可以像这样使用 IRBuilder
:
llvm::IRBuilder builder(basicBlock);
builder.createAdd(...); // Replace "Add" as appropriate
或者,如果您想插入一个已经存在的指令对象:
builder.insert(instruction);