This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] REG_EQUAL notes on cond_jumps (take 2)
Roger Sayle <firstname.lastname@example.org> writes:
> The following patch is an update of "REG_EQUAL notes on cond_jumps"
> The patch below is identical to the original except that it has been
> updated to apply cleanly to mainline, and includes some much improved
> commentary suggested by Joern Rennecke. Many thanks.
> This patch fixes gcc.c-torture/execute/20010119-1.c failures on
> PA, Sparc, H8300 and SH, and reportedly several other failures.
> If patches awaiting approval held a popularity contest this one
> would probably win. At the last count, its been requested by
> David Anglin, Eric Botcazou, DJ Delorie, Kazu Hirata, Joern
> Rennecke and, of course, myself. Thanks all for your support.
> The following patch has been retested on i686-pc-linux-gnu with a
> full "make bootstrap", all languages except treelang (including
> Ada), and regression checked with a top-level "make -k check"
> with no new failures.
> Ok for mainline?
This is OK.
> Very many thanks in advance,
> 2003-05-20 Roger Sayle <email@example.com>
> Kazu Hirata <firstname.lastname@example.org>
> Joern Rennecke <email@example.com>
> * gcse.c (cprop_jump): Make use of REG_EQUAL notes on both
> setcc and jump, if they exist. If substituted instruction
> fails to validate, store current effort in a REG_EQUAL note.
> (cprop_insn): Don't attempt further substitutions if the
> current instruction has been deleted.
> (local_cprop_pass): Likewise.
> * jump.c (redirect_jump): Also update REG_EQUAL note, if
> one is attached to the jump instruction.
> (invert_jump): Delete REG_EQUAL note on jump, if one exists.
- Geoffrey Keating <firstname.lastname@example.org>