*** empty log message ***
authorRichard Kenner <kenner@gcc.gnu.org>
Sat, 8 Feb 1992 03:28:19 +0000 (22:28 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Sat, 8 Feb 1992 03:28:19 +0000 (22:28 -0500)
From-SVN: r291

gcc/reload1.c

index 566b18fbb2330209dbd2c826428dc8ae16ed7e94..3121b8b021078fc647357b7db0ccd5051ee1f542 100644 (file)
@@ -2163,9 +2163,16 @@ set_label_offsets (x, insn, initial_p)
       else if (x == insn
               && (tem = prev_nonnote_insn (insn)) != 0
               && GET_CODE (tem) == BARRIER)
-       for (i = 0; i < NUM_ELIMINABLE_REGS; i++)
-         reg_eliminate[i].offset = reg_eliminate[i].previous_offset
-           = offsets_at[CODE_LABEL_NUMBER (x)][i];
+       {
+         num_not_at_initial_offset = 0;
+         for (i = 0; i < NUM_ELIMINABLE_REGS; i++)
+           {
+             reg_eliminate[i].offset = reg_eliminate[i].previous_offset
+               = offsets_at[CODE_LABEL_NUMBER (x)][i];
+             if (reg_eliminate[i].offset != reg_eliminate[i].initial_offset)
+               num_not_at_initial_offset++;
+           }
+       }
 
       else
        /* If neither of the above cases is true, compare each offset
@@ -3215,9 +3222,16 @@ reload_as_needed (first, live_known)
       /* If we pass a label, copy the offsets from the label information
         into the current offsets of each elimination.  */
       if (GET_CODE (insn) == CODE_LABEL)
-       for (i = 0; i < NUM_ELIMINABLE_REGS; i++)
-         reg_eliminate[i].offset = reg_eliminate[i].previous_offset
-           = offsets_at[CODE_LABEL_NUMBER (insn)][i];
+       {
+         num_not_at_initial_offset = 0;
+         for (i = 0; i < NUM_ELIMINABLE_REGS; i++)
+           {
+             reg_eliminate[i].offset = reg_eliminate[i].previous_offset
+               = offsets_at[CODE_LABEL_NUMBER (insn)][i];
+             if (reg_eliminate[i].offset != reg_eliminate[i].initial_offset)
+               num_not_at_initial_offset++;
+           }
+       }
 
       else if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
        {