This is the mail archive of the
mailing list for the GCC project.
Re: execute/990628-1.c regression
- To: Geoff Keating <geoffk at redhat dot com>
- Subject: Re: execute/990628-1.c regression
- From: Mark Mitchell <mark at codesourcery dot com>
- Date: Mon, 11 Jun 2001 17:44:15 -0700
- cc: "gcc-regression at gcc dot gnu dot org" <gcc-regression at gcc dot gnu dot org>
--On Monday, June 11, 2001 05:27:09 PM -0700 Geoff Keating
> Hi Mark,
>> native gcc.sum gcc.c-torture/execute/990628-1.c
> this seems to be caused by
> 2001-06-09 Mark Mitchell <email@example.com>
> * toplev.c (rest_of_compilation): Remove dead code before
> The problem is that a REG_WAS_0 note pointed to an insn which had been
> deleted and so the pointer is NULL, and cse.c (around line 7488)
> wasn't expecting that.
> I suspect the right solution is to delete the note when the insn is
> deleted, but it could also be that fixing cse would be correct.
Interesting. I agree with your proposed solution, but rtl.h says:
/* The register set in this insn held 0 before the insn. The contents of
the note is the insn that stored the 0. If that insn is deleted or
patched to a NOTE, the REG_WAS_0 is inoperative. The REG_WAS_0 note
is actually an INSN_LIST, not an EXPR_LIST. */
which is confusing. I will try to work something out.
Mark Mitchell firstname.lastname@example.org
CodeSourcery, LLC http://www.codesourcery.com