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