This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Bug target/32437] [4.3 Regression] MIPS: FAIL in gcc.dg/cleanup-[8|9|10|11].c
- From: Kenneth Zadeck <zadeck at naturalbridge dot com>
- To: gcc-bugzilla at gcc dot gnu dot org, Ian Lance Taylor <iant at google dot com>, Richard Sandiford <richard at codesourcery dot com>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Sun, 01 Jul 2007 10:45:02 -0400
- Subject: Re: [Bug target/32437] [4.3 Regression] MIPS: FAIL in gcc.dg/cleanup-[8|9|10|11].c
- References: <bug-32437-7151@http.gcc.gnu.org/bugzilla/> <20070630175725.18066.qmail@sourceware.org>
ian at airs dot com wrote:
> ------- Comment #23 from ian at airs dot com 2007-06-30 17:57 -------
> The patch in comment #19 of PR 32437 looks clearly correct. That
> patch should not be reverted, at least not by itself. I'm not clear
> on whether that was the patch that was reverted, but, if it was, I
> don't think it should have been. We are not in a time critical
> situation here. Let's take the time to figure out the right fix even
> if Richard doesn't have time to work on it.
>
> This is DCE, not DSE. In DSE we can not eliminate frame related
> instructions, because the stores into the frame are used by code which
> dataflow doesn't see: the exception unwinder. That does not apply to
> DCE. In DCE, we should be able to eliminate changes to the stack
> pointer when the stack pointer is not used, even though those changes
> are frame related.
>
> So I think this patch should be unreverted, and I don't think you should add a
> test for frame relatedness. Then we should fix PR 32475. Further comments
> over there.
>
>
>
2007-07-01 Richard Sandiford <richard@codesourcery.com>
Unreverting Richard's Revert of:
2007-06-27 Richard Sandiford <richard@codesourcery.com>
* dce.c (deletable_insn_p_1): New function, split out from...
(deletable_insn_p): ...here. Only treat bare USEs and CLOBBERs
specially, not those inside PARALLELs. Remove BODY argument
and adjust recursive call accordingly.
(prescan_insns_for_dce): Update call to delete_insn_p.