4

我正在努力寻找如何释放 LLVM 函数分配的内存。例如,当我调用该函数Function::Create()来创建 LLVM 函数时,如何释放分配给它的内存?这实际上适用于许多 LLVM 函数,如IRBuilder::CreateAlloca(),IRBuilder::CreateStore()等。知道吗?

4

1 回答 1

4

首先,当删除任何一种s 时Value,请确保它不再有任何Users。显然,删除使用的值会导致错误(以断言的形式)。这可以很容易地通过调用来测试getNumUses(),或者更好(阅读:更快) hasNUses(0)

当你确定你的值不再被使用时,不同类型的值有时需要不同的方式来删除它们。对于您的两种情况:

于 2012-05-04T07:09:52.557 回答