This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: execute/990628-1.c regression

--On Monday, June 11, 2001 05:27:09 PM -0700 Geoff Keating 
<> wrote:

> Hi Mark,
>> native gcc.sum gcc.c-torture/execute/990628-1.c
> this seems to be caused by
> 2001-06-09  Mark Mitchell  <>
>        * toplev.c (rest_of_compilation): Remove dead code before
>        purge_addressof.
> 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         
CodeSourcery, LLC     

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]