[LLVMdev] Questions about deallocation responsibilities

Rodney M. Bates rodney_bates at lcwb.coop
Wed Dec 3 07:43:38 PST 2014


Thanks.  These posts help a lot.

On 12/02/2014 01:18 PM, David Blaikie wrote:
>
>
> On Tue, Dec 2, 2014 at 10:55 AM, Rodney M. Bates <rodney_bates at lcwb.coop <mailto:rodney_bates at lcwb.coop>> wrote:
>
>     I am, from a front end, calling functions like LLVMModuleCreateWithName, found
>     in Core.h, ultimately calling LLVMWriteBitcodeToFile, found in BitWriter.h.
>
>     Do I correctly presume, from the existence of LLVMDisposeModule, that
>     I am responsible for calling it when I'm done?  Will I need to do deeper
>     disposing myself?  I presume at least I will need to free strings I allocated
>     myself, such as the module name I passed in.
>
>     What about, for example, llvm::DIBuilder::__DICreateCompileUnit?  I haven't
>     been able so far to find a companion dispose for this object.
>
>
> Metadata is owned by the LLVMContext on construction. (except temporary metadata, which must be destroyed manually (there's a corresponding destroy function in llvm::MDNode) usually after RAUWing it with something else).
>
>
>
>
>     --
>     Rodney Bates
>     rodney.m.bates at acm.org <mailto:rodney.m.bates at acm.org>
>     _________________________________________________
>     LLVM Developers mailing list
>     LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu> http://llvm.cs.uiuc.edu
>     http://lists.cs.uiuc.edu/__mailman/listinfo/llvmdev <http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev>
>
>

-- 
Rodney Bates
rodney.m.bates at acm.org



More information about the llvm-dev mailing list