0

当我尝试在基本块中插入一些指令时,我发现它很麻烦。

AllocaInst* pa = new AllocaInst(Type::getInt32Ty(getGlobalContext()), 0, 4, "dataKey");
Value* dataValue = ConstantInt::get(IntegerType::get(getGlobalContext(),6) , 100);

以上是我使用的一些代码。到现在我还是不明白在basicblock中插入各种指令的原理。(我只是可以插入一个allocaInst)。我希望有人能告诉我一些在基本块中插入各种指令的例子。

4

1 回答 1

1

首先,插入指令的话题在 LLVM Programmer's Manual中有介绍,推荐看一下。程序员手册对于初学者来说是一个很好的起点。

此外,LLVM 源代码本身也有大量示例。例如:

或者,如果您想添加多个新指令,请考虑使用IRBuilder,这样添加它们会稍微方便一些;这是一个关于如何使用 IRBuilder 的教程

于 2012-12-26T05:49:33.243 回答