Small problem in cse

Jeffrey A Law law@cygnus.com
Sat Dec 6 07:51:00 GMT 1997


  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



More information about the Gcc mailing list