This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Small problem in cse
- To: chris at lslsun dot epfl dot ch (Christian Iseli)
- Subject: Re: Small problem in cse
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Sat, 06 Dec 1997 08:53:45 -0700
- cc: egcs at cygnus dot com
- Reply-To: law at cygnus dot com
In message <199712021510.QAA08509@lslsun17.epfl.ch>you write:
> Sorry for the long delay...
No problem. It's worth trying to fix this correctly.
> Turns out you were right, the problem was elsewhere.
>
> Basically, the code around line 74xx in cse.c tries to find some
> equivalence in the table and then sets classp to be the
> first_same_value of the equivalence chain. However, no check was
> done to ensure that this first_same_value was valid. So when
> remove_invalid_refs was called later, the element pointed to by
> classp was deleted, leading to trouble...
Sounds good to me. I first thought that your change might be too
late to catch the problems, but it turns out that merge_equiv_classes
will to the correct thing for invalid entries. So i think your patch
is correct and I've installed it.
> Tue Dec 2 16:07:45 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
>
> * cse.c (cse_insn): Check for invalid entries when taking references.
jeff