退出时释放LLVM分配的所有内存

我正在使用LLVM-C编程一些玩具语言。 我也使用valgrind检查内存泄漏。

这是我的基本婴儿程序:

#include <stdio.h>
#include <llvm-c/Core.h>

int main()
{
    size_t length;
    LLVMModuleRef module = LLVMModuleCreateWithName("llvm.hello");
    printf("Module name: %s\n", LLVMGetModuleIdentifier(module, &length));
    LLVMDisposeModule(module);
    LLVMShutDown();
    return 0;
}

我可以按预期正常编译并运行该程序。但是,当我通过valgrind运行程序时,它告诉我有一些“仍可访问”的已分配内存,如下所示。

valgrind  --leak-check=full  out/hello_llvm
==5807== LEAK SUMMARY:
==5807==    definitely lost: 0 bytes in 0 blocks
==5807==    indirectly lost: 0 bytes in 0 blocks
==5807==      possibly lost: 0 bytes in 0 blocks
==5807==    still reachable: 56 bytes in 2 blocks
==5807==         suppressed: 0 bytes in 0 blocks

在此站点上搜索答案时,我发现许多编码人员都在说“仍然可以到达”的内存泄漏并不是什么大问题。我不想为此争论。我想要的是终止程序之前摆脱所有分配的内存。

有什么办法可以在终止之前将分配的内存减少到零?