[LLVMdev] Possible Bad Assertion in Value.cpp

John Criswell criswell at cs.uiuc.edu
Fri Feb 15 15:01:17 PST 2008


Chris Lattner wrote:
>>> You probably have an instruction that you removed from the module but
>>> didn't delete.  The module dtor works fine: it uses
>>> 'dropAllReferences' to clear the operands of instructions before
>>> deleting the instructions themselves.
>>>
>>>       
>> Okay.  I wasn't aware I had to delete unneeded values as well as
>> remove
>> them.  I'll try that.
>>     
>
> The convention is that 'remove' unlinks the object from the IR, and
> 'erase' does remove and deletes the result.
>
> If someone wants to clarify this behavior in http://llvm.org/docs/ProgrammersManual.html#common
> , it would be nice :)
>   
No, I understood that part (granted, I read DoxyGen).  The part I didn't 
understand is that I'm required to erase an instruction that should have 
no more uses before deleting the Module.

If I get time, I can try to add some text about it.

-- John T.

> -Chris
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>   




More information about the llvm-dev mailing list