IRA undoing scheduling decisions
Peter Bergner
bergner@vnet.ibm.com
Tue Sep 1 20:34:00 GMT 2009
On Wed, 2009-08-26 at 17:12 -0500, Peter Bergner wrote:
> On Wed, 2009-08-26 at 23:30 +0200, Richard Guenther wrote:
> > Hmm. I suppose if you conditionalize it on flag_schedule_insns it might be
> > an overall win. Care to SPEC test that change?
>
> I assume you mean like the change below? Yeah, I can SPEC test that.
>
> Peter
>
>
> Index: ira.c
> ===================================================================
> --- ira.c (revision 151111)
> +++ ira.c (working copy)
> @@ -2510,6 +2510,8 @@ update_equiv_regs (void)
> calls. */
>
> if (REG_N_REFS (regno) == 2
> + && (!flag_schedule_insns
> + || REG_BASIC_BLOCK (regno) < NUM_FIXED_BLOCKS)
> && (rtx_equal_p (x, src)
> || ! equiv_init_varies_p (src))
> && NONJUMP_INSN_P (insn)
Pat ran the patch on SPEC2000 and it was very neutral. The overall
SPECFP number didn't change and the SPECINT number only improved by
0.2%, which is pretty much in the noise.
I think Vlad's suggestion of moving update_equiv_regs() to its own pass
before sched1 sounds interesting. If that works, it's probably better
than this patch.
Peter
More information about the Gcc
mailing list