From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeffrey A Law To: John Carr Cc: egcs@cygnus.com Subject: Re: cse.c bug? Date: Mon, 09 Feb 1998 02:36:00 -0000 Message-id: <5899.887020715@hurl.cygnus.com> References: <199802012043.PAA13035@jfc.> X-SW-Source: 1998-02/msg00351.html In message < 199802012043.PAA13035@jfc. >you write: > > I think there is a bug in the CSE code to scan skipped blocks. It's > been about 5 years since I worked on this code and I can't remember > why invalidate_skipped_set ignores CLOBBERs, but I found a case where > it shouldn't. > > On SPARC, in a sequence like > set cc > branch on cc > label > clobber cc > set cc > branch on cc > > the second compare was being eliminated even though the CC was no > longer valid. The clobber was in a PARALLEL. > > Can anyone see where CLOBBER in a skipped block is supposed to be > handled? If not, I suggest this patch. Hmmm, your alias analysis changes removed a call to invalidate_from_clobbers: note_stores (PATTERN (insn), invalidate_skipped_set); - invalidate_from_clobbers (&skipped_writes_memory, PATTERN (insn)); Which might be the problem. You might just need to add the call back (without the skipped_writes_memory argument). jeff