This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [new-regalloc-branch]: Fix bunch of thinkos, stop useless spilling
On Fri, Jul 27, 2001 at 11:38:09PM -0400, Daniel Berlin wrote:
> Code in propagate_one_insn like, fer instance, :
>
> /* If this is not the final pass, and this insn is copying the value of
> a library call and it's dead, don't scan the insns that perform the
> library call, so that the call's arguments are not marked live. */
> if (libcall_is_dead)
> {
> /* Record the death of the dest reg. */
> mark_set_regs (pbi, PATTERN (insn), insn);
>
> insn = XEXP (note, 0);
> return PREV_INSN (insn);
> }
>
> will jump to the first argument set, which in a case above, would be
> already before the bb->head we are looking for to end the loop, and we
> screw up as i said above.
That's already wrong. A libcall _must_ be contained within
a single block.
r~