[LLVMdev] Memory leaks revisited (and many fixed)

Morten Ofstad morten at hue.no
Mon Nov 22 01:04:29 PST 2004


Chris Lattner wrote:
>>The four leaks are caused by the ConstantBool::True
>>and ConstantBool::False (1 for each object + 1 for the use list dummy) -
>>  unfortunately they are not so easy to wrap with accessor functions
>>since they are public member variables of the ConstantBool class... If
>>only everyone used the ConstantBool::get() there would be no problem,
>>but that's not the case. Any suggestions?
> 
> These should just be destroyed along with the rest of the constants, by
> Constant::clearAllValueMaps.

Hmmm, I was planning to call clearAllValueMaps once in a while to clear 
out the float constants which are building up on me... This shouldn't 
break anything as it stands, since the constants will be regenerated. 
However, deleting True and False will cause big problems. I think I'm 
just going to delete True and False directly from our own shutdown code. 
That way the leak detector won't complain and I can use 
clearAllValueMaps as I planned...

m.




More information about the llvm-dev mailing list