Free memory used by initializers of global variables, created during linking
Manman Ren
mren at apple.com
Fri Jan 9 15:08:01 PST 2015
> On Jan 9, 2015, at 12:43 PM, Rafael EspĂndola <rafael.espindola at gmail.com> wrote:
>
> On 9 January 2015 at 13:25, Manman Ren <mren at apple.com> wrote:
>>
>> Hi Rafael,
>>
>> Updated patch is attached. It updates the comments as suggested.
>
> Looking nice.
>
> Just two comments.
>
> *) The full list of constant stores seems to be
>
> ArrayConstants
> CAZConstants
> CDSConstants
> CPNConstants
> ExprConstants
> FPConstants
> InlineAsms
> IntConstants
> StructConstants
> VectorConstants
> UVConstants
>
> So it looks like we are still missing
>
> CAZConstants
> CPNConstants
> FPConstants
> InlineAsms
> IntConstants
> UVConstants
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.
InlineAsm is not a subclass of Constant.
>
> * 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,
Manman
>
> Cheers,
> Rafael
More information about the llvm-commits
mailing list