如何将第一条指令插入llvm中的空基本块

时间:2018-11-11 11:14:11

标签: llvm llvm-ir bitcode

将新的llvm指令插入非空基本块 确实非常简单:只需迭代现有说明 直到到达所需的位置并使用

newInst->insertBefore(thatInst);

命令。但是,当我查看BasicBlock界面here时, 我似乎找不到如何插入第一条说明? 我的意思是,当刚刚分配了一个新的基本块并且它仍然为空时,如何将第一条指令插入其中?谢谢!

1 个答案:

答案 0 :(得分:2)

您可以像这样使用IRBuilder

llvm::IRBuilder builder(basicBlock);
builder.createAdd(...); // Replace "Add" as appropriate

或者,如果您想插入一个已经存在的指令对象:

builder.insert(instruction);