This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] Lazy updating of stmt operands
- From: law at redhat dot com
- To: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- Cc: Andrew MacLeod <amacleod at redhat dot com>, Diego Novillo <dnovillo at redhat dot com>, gcc mailing list <gcc at gcc dot gnu dot org>
- Date: Tue, 16 Dec 2003 20:29:56 -0700
- Subject: Re: [tree-ssa] Lazy updating of stmt operands
- Reply-to: law at redhat dot com
In message <20031215214727.GA31524@atrey.karlin.mff.cuni.cz>, Zdenek Dvorak wri
tes:
>Hello,
>
>> > > something like
>> > > bool immediate_uses_avail_p (tree ssa_name)
>> > > or
>> > > bool immediate_uses_avail_p (tree stmt)
>> > >
>> > > Presumably the latter, but both are easy to provide.
>> >
>> > ??? I don't really quite get you. Either the information should be
>> > available for every statement or not at all. Having something in the
>> > middle is just confusing.
>> >
>>
>> I dont see why. If you want to track just a few variables, why should
>> you pay for tracking 45,000?
>
>because you generally don't know which variables you are interested in.
But sometimes you do (for example CCP) and not computing it for all those
variables you don't care about is a significant win.
>Also chosing the different ones in the different passes requieres
>recomputing the information, and it is not at all obvious to me whether
>this would not make this actually more expensive.
True. There's now way to know for sure until you actually try it.
However, our experience so far has been that "pruning" the set of things
we're computing (whether they're immediate uses, variables which might
need PHIs, etc) has been very advantageous from both a compile time
standpoint and a runtime standpoint.
Jeff