reload bug
Jeffrey A Law
law@cygnus.com
Mon Nov 30 21:50:00 GMT 1998
In message <199812010125.BAA18188@phal.cygnus.co.uk>you write:
> > Joern, Bernd, if one of you could dive into this I'm sure everyone would
> > appreciate it. This is causing the x86 port to mis-compile itself in som
> e
> > circumstances.
>
> I don't have any CPU cycles to spare right now, but from your analysis
> of the problem, I'd think this patch should help by clearing
> spill_reg_store[0] when processing reload 0 of insn 32.
>
> Tue Dec 1 01:21:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
>
> * reload1.c (emit_reload_insns): Clear spill_reg_store
> when doing a new non-inherited reload from the same pseudo.
A note, if I move your new code out one nesting level, then it appears to
work. ie, I put your new code before this statement:
/* I is nonneg if this reload used a register.
If reload_reg_rtx[r] is 0, this is an optional reload
that we opted to ignore. */
if (i >= 0 && reload_reg_rtx[r] != 0)
[ ... ]
I have no clue if that's the right thing to do or not.
jeff
More information about the Gcc-bugs
mailing list