stack variable liveness analysis
Xinliang David Li
davidxl@google.com
Wed Aug 26 17:56:00 GMT 2009
On Wed, Aug 26, 2009 at 2:37 AM, Michael Matz<matz@suse.de> wrote:
> Hi,
>
> On Tue, 25 Aug 2009, Xinliang David Li wrote:
>
>> > Too old. 4.5 has changed expansion, we don't do TER anymore explicitely
>> > and this:
>> >
>> >> *(p + (long unsigned int) a.x * 4) = b.y;
>> >
>> > is an artifact of TER.
>>
>> I noticed this change for trunk compiler -- the question is if this
>> can be safely relied upon or it is just an implementation choice which
>> can change in the future?
>
> It can be relied upon, yes. (And in the unlikely case that we change this
> back to do tree combining again, we can always change the function parsing
> this again)
>
Proper assertions will be added then.
Thanks,
David
>> > [... fear of large bitvectors ...]
>>
>> This is a valid concern. There are ways to optimize for bitvector size
>> -- for instance, array member of the structure can be collapsed into
>> one bit. For the rest, the tracking can be done at field level -- only
>> those fields that are explicitly referenced are tracked.
>
> Right, that would be another possibility. Maybe the nicer one.
>
>
> Ciao,
> Michael.
More information about the Gcc-patches
mailing list