0

basicblockに命令を挿入しようとすると、非常に問題が発生しました。

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

上記は私が使用したいくつかのコードです。今でも、basicblockにすべての種類の命令を挿入する原理がわかりません(allocaInstを挿入できます)。誰かがbasicblockにすべての種類の命令を挿入するいくつかの例を教えてくれたらいいのにと思います。

4

1 に答える 1

1

まず、命令の挿入のトピックはLLVMプログラマーのマニュアルでカバーされています。一見することをお勧めします。プログラマーマニュアルは、初心者が始めるのに最適な場所です。

さらに、LLVMソースコード自体にはたくさんの例があります。例えば:

または、複数の新しい命令を追加する場合は、IRBuilderの使用を検討してください。これにより、命令を追加するのが少し便利になります。IRBuilderの使用方法に関するチュートリアルは次のとおりです。

于 2012-12-26T05:49:33.243 に答える