From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeffrey A Law To: chris@lslsun.epfl.ch (Christian Iseli) Cc: egcs@cygnus.com Subject: Re: Small problem in cse Date: Sat, 06 Dec 1997 07:51:00 -0000 Message-id: <27855.881423625@hurl.cygnus.com> References: <199712021510.QAA08509@lslsun17.epfl.ch> X-SW-Source: 1997-12/msg00355.html 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 > > * cse.c (cse_insn): Check for invalid entries when taking references. jeff