LLVM 分配的空闲内存

Raf*_*fid 5 memory-management llvm

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

Job*_*Job 4

首先,删除任何类型的时Value,请确保它不再包含任何Users。显然,删除使用的值会导致错误(以断言的形式)。getNumUses()这可以通过调用或 better(读:更快) 轻松测试hasNUses(0)

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