OSDN Git Service

*** empty log message ***
authorrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 Jun 1992 01:12:43 +0000 (01:12 +0000)
committerrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 Jun 1992 01:12:43 +0000 (01:12 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@1349 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/sdbout.c

index e5d36e7..b8e0a4e 100644 (file)
@@ -659,7 +659,12 @@ sdbout_symbol (decl, local)
       if (DECL_RTL (decl) == 0)
        return;
 
-      value = eliminate_regs (DECL_RTL (decl), 0, 0);
+      DECL_RTL (decl) = eliminate_regs (DECL_RTL (decl), 0, 0);
+#ifdef LEAF_REG_REMAP
+      if (leaf_function)
+       leaf_renumber_regs_insn (DECL_RTL (decl));
+#endif
+      value = DECL_RTL (decl);
 
       /* Don't mention a variable at all
         if it was completely optimized into nothingness.
@@ -671,11 +676,9 @@ sdbout_symbol (decl, local)
        {
          regno = REGNO (DECL_RTL (decl));
          if (regno >= FIRST_PSEUDO_REGISTER)
-           regno = reg_renumber[REGNO (DECL_RTL (decl))];
-         if (regno < 0)
            return;
        }
-      else if (GET_CODE (DECL_RTL (decl)) == SUBREG)
+      else if (GET_CODE (value) == SUBREG)
        {
          int offset = 0;
          while (GET_CODE (value) == SUBREG)
@@ -687,10 +690,11 @@ sdbout_symbol (decl, local)
            {
              regno = REGNO (value);
              if (regno >= FIRST_PSEUDO_REGISTER)
-               regno = reg_renumber[REGNO (value)];
-             if (regno >= 0)
-               regno += offset;
+               return;
+             regno += offset;
            }
+         alter_subreg (DECL_RTL (decl));
+         value = DECL_RTL (decl);
        }
 
       /* Emit any structure, union, or enum type that has not been output.