On 09/21/2011 07:55 AM, Bernd Schmidt wrote: > On 09/15/11 21:42, Richard Henderson wrote: >> On 09/14/2011 06:12 PM, Bernd Schmidt wrote: >>> + unsigned int orig_regno = REGNO (reg); >>> + int nregs = hard_regno_nregs[orig_regno][GET_MODE (reg)]; >>> + while (nregs-- > 0) >> >> The rest of the file seems to use targetm.dwarf_register_span. >> This probably ought to do the same. > > I guess I am confused what dwarf_register_span is supposed to accomplish > that a loop over nregs couldn't. For little endian MIPS, it returns > NULL, so I don't think it would solve the problem I'm trying to fix.
Why, then, is this the only place in dwarf2cfi that needs to handle registers via a loop over nregs? It seems to me that we should either be handling multi-register spans everywhere or nowhere. Because alternately, this could be a bug in your backend that you failed to add two RESTORE notes instead of just one... r~