On Feb 13, 2012, Jakub Jelinek <ja...@redhat.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.

Thanks,

-- 
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

Reply via email to