This is the mail archive of the
mailing list for the GCC project.
Re: PR25514: A problem with note distribution in combine
- From: Roger Sayle <roger at eyesopen dot com>
- To: Richard Sandiford <richard at codesourcery dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Mon, 22 May 2006 08:03:57 -0600 (MDT)
- Subject: Re: PR25514: A problem with note distribution in combine
On Tue, 25 Apr 2006, Richard Sandiford wrote:
> PR rtl-optimization/25514
> * combine.c (replaced_rhs_insn): New variable.
> (combine_instructions): Set replaced_rhs_insn when trying to replace
> a SET_SRC with a REG_EQUAL note.
> (distribute_notes): Use replaced_rhs_insn when determining the live
> range of a REG_DEAD register.
> * gcc.c-torture/compile/pr25514.c: New test.
This is OK for mainline. I've confirmed by building a cross compiler
to m68k-linux-gnu that PR25514 is a regression from gcc 3.4.3, which
is able to compile the testcase without the "internal consistency
failure" ICE (that I can reproduce on mainline).
Combine.c changes of this type have been known to expose latent bugs
in the RTL optimizers due to subtle changes in the RTL. So although
the change itself looks reasonable (and reduces the code in combine!)
let's be on the look out for possible problems on other targets.
I'd appreciate it if someone could fill in the "known to work" and
"known to fail" fields for PR25514, so we can discover which active
branches have regressed. Once Richard's fix has been on mainline for
a while without problems we can decide what to do about 4.1.2 and 4.0.x
if they are affected.
Thanks for fixing this,