4

LLVM 関数によって割り当てられたメモリを解放する方法を見つけるのに少し苦労しています。たとえば、関数を呼び出してFunction::Create()LLVM 関数を作成する場合、割り当てられたメモリを解放するにはどうすればよいですか? IRBuilder::CreateAlloca()、 などの多くの LLVM 関数にも同じことが実際に当てはまりますIRBuilder::CreateStore()。何か考えはありますか?

4

1 に答える 1

4

まず第一に、あらゆる種類の を削除するときは、もはや sValueがないことを確認してください。User使用済みの値を削除すると、明らかにエラーが発生します (アサーションの形で)。getNumUses()これは、 、またはより良い (読み取り: より高速) を呼び出すことで簡単にテストできますhasNUses(0)

値がもう使用されていないことが確実な場合、異なる種類の値を削除するために異なる方法が必要になることがあります。あなたの2つの場合:

于 2012-05-04T07:09:52.557 に答える