This is the mail archive of the
mailing list for the GCC project.
Re: [PR52001] too many cse reverse equiv exprs (take2)
On Feb 13, 2012, Jakub Jelinek <email@example.com> wrote:
> I'm not convinced you want the
>> + /* Keep VALUE equivalences around. */
>> + for (l = v->locs; l; l = l->next)
>> + if (GET_CODE (l->loc) == VALUE)
>> + return true;
> hunk in invariant_p,
Yeah, maybe âinvariant_pâ is a misnomer. The thinking is that, if we
preserve a value, we preserve other values based on it, and we do
preserve values with equivalences to avoid having to carry the
equivalences in the var-tracking dataflow sets.
> Otherwise the cselib.c changes look ok to me, but I don't understand
> why are you removing the var-tracking.c loop.
I thought completeness called for retaining those equivalences, but now
I see that, since they're always going to be computed values, rather
than locations, the constant value provides sufficient and better
information for completeness, rendering them irrelevant indeed. I'll
put that hunk back in and retest.
Alexandre Oliva, freedom fighter http://FSFLA.org/~lxoliva/
You must be the change you wish to see in the world. -- Gandhi
Be Free! -- http://FSFLA.org/ FSF Latin America board member
Free Software Evangelist Red Hat Brazil Compiler Engineer