Free memory used by initializers of global variables, created during linking

Rafael EspĂ­ndola rafael.espindola at gmail.com
Fri Jan 9 15:13:05 PST 2015


> CAZConstants, CPNConstants and UVConstants are special constants (AggregateZero, PointerNull, UndefValue), it is likely that they will occupy a small amount of space and will be used quite often.
> Same arguments apply to IntConstants and FPConstants.
>
> But for completeness, we can include them.

Thanks. The main intention is to make sure that any code that calls
this while holding a Constant pointer will noticed the problem
quickly.

> InlineAsm is not a subclass of Constant.

True. It is a bit odd that it is also uniqued at the Context. We can
just skip it.

>>
>> * Deleting a constant can cause other constants to become dead. Should
>> we iterate until no constants are deleted in a pass?
>
> Theoretically yes, deleting a constant can cause other constants used by it, to be dead.

Cheers,
Rafael



More information about the llvm-commits mailing list