OSDN Git Service

PR testsuite/33946
[pf3gnuchains/gcc-fork.git] / gcc / resource.c
index 7cb4d2a..d7e3339 100644 (file)
@@ -663,9 +663,8 @@ mark_set_resources (rtx x, struct resources *res, int in_dest,
          rtx link;
 
          res->cc = res->memory = 1;
-         for (r = 0; r < FIRST_PSEUDO_REGISTER; r++)
-           if (call_used_regs[r] || global_regs[r])
-             SET_HARD_REG_BIT (res->regs, r);
+
+         IOR_HARD_REG_SET (res->regs, regs_invalidated_by_call);
 
          for (link = CALL_INSN_FUNCTION_USAGE (x);
               link; link = XEXP (link, 1))
@@ -958,9 +957,8 @@ mark_target_live_regs (rtx insns, rtx target, struct resources *res)
      TARGET.  Otherwise, we must assume everything is live.  */
   if (b != -1)
     {
-      regset regs_live = df_get_live_in (BASIC_BLOCK (b));
+      regset regs_live = DF_LR_IN (BASIC_BLOCK (b));
       rtx start_insn, stop_insn;
-      reg_set_iterator rsi;
 
       /* Compute hard regs live at start of block -- this is the real hard regs
         marked live, plus live pseudo regs that have been renumbered to
@@ -968,13 +966,6 @@ mark_target_live_regs (rtx insns, rtx target, struct resources *res)
 
       REG_SET_TO_HARD_REG_SET (current_live_regs, regs_live);
 
-      EXECUTE_IF_SET_IN_REG_SET (regs_live, FIRST_PSEUDO_REGISTER, i, rsi)
-       {
-         if (reg_renumber[i] >= 0)
-           add_to_hard_reg_set (&current_live_regs, PSEUDO_REGNO_MODE (i),
-                               reg_renumber[i]);
-       }
-
       /* Get starting and ending insn, handling the case where each might
         be a SEQUENCE.  */
       start_insn = (b == ENTRY_BLOCK_PTR->next_bb->index ?