Michael Eager <[EMAIL PROTECTED]> writes:

> The insn was previously recognized before the following
> code at the end of reload replaces the pseudo-reg with the reg-equivalent:
>
> 1107   /* Now eliminate all pseudo regs by modifying them into
> 1108      their equivalent memory references.
> 1109      The REG-rtx's for the pseudos are modified in place,
> 1110      so all insns that used to refer to them now refer to memory.
> 1111
> 1112      For a reg that has a reg_equiv_address, all those insns
> 1113      were changed by reloading so that no insns refer to it any longer;
> 1114      but the DECL_RTL of a variable decl may refer to it,
> 1115      and if so this causes the debugging info to mention the variable.  
> */

This loop only changes pseudo-registers.  At this point in reload, any
pseudo-register which appears in an insn should have reg_renumber set.
If you have an insn which still refers to a pseudo-register, and
reg_regnumber for that pseudo-register is -1, then the question is why
that operand was not reloaded into a hard register.

Ian

Reply via email to