On 10/15/2014 11:07 AM, Olivier Hainque wrote:
   for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
     {
+      enum machine_mode save_mode = targetm.dwarf_frame_reg_mode (i);
+      rtx span;

+      span = targetm.dwarf_register_span (gen_rtx_REG (save_mode, i));
+      if (!span)
+       init_one_dwarf_reg_size (i, save_mode, mem, mode, &wrote_return_column);
+      else
        {
+         for (int si = 0; si < XVECLEN (span, 0); si++)
            {
+             rtx reg = XVECEXP (span, 0, si);

+             init_one_dwarf_reg_size
+               (REGNO (reg), GET_MODE (reg), mem, mode, &wrote_return_column);
+           }
        }
     }

What happens when the outer loop hits a register that we've already seen as part of a span?

Jason

Reply via email to