OSDN Git Service

2005-05-30 Pat Haugen <pthaugen@us.ibm.com>
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 May 2005 23:34:08 +0000 (23:34 +0000)
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 May 2005 23:34:08 +0000 (23:34 +0000)
        * loop.c (loop_invariant_p, valid_initial_value_p): Use
        regs_invalidated_by_call instead of call_used_regs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100378 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/loop.c

index f28847d..830bfc6 100644 (file)
@@ -1,3 +1,8 @@
+2005-05-30  Pat Haugen  <pthaugen@us.ibm.com>
+
+       * loop.c (loop_invariant_p, valid_initial_value_p): Use
+       regs_invalidated_by_call instead of call_used_regs.
+
 2005-05-30  Paolo Carlini  <pcarlini@suse.de>
 
        PR middle-end/21743
index eaa1bd9..868b052 100644 (file)
@@ -3645,7 +3645,8 @@ loop_invariant_p (const struct loop *loop, rtx x)
        return 1;
 
       if (LOOP_INFO (loop)->has_call
-         && REGNO (x) < FIRST_PSEUDO_REGISTER && call_used_regs[REGNO (x)])
+         && REGNO (x) < FIRST_PSEUDO_REGISTER
+         && TEST_HARD_REG_BIT (regs_invalidated_by_call, REGNO (x)))
        return 0;
 
       /* Out-of-range regs can occur when we are called from unrolling.
@@ -6719,7 +6720,8 @@ valid_initial_value_p (rtx x, rtx insn, int call_seen, rtx loop_start)
      some machines, don't use any hard registers at all.  */
   if (REGNO (x) < FIRST_PSEUDO_REGISTER
       && (SMALL_REGISTER_CLASSES
-         || (call_used_regs[REGNO (x)] && call_seen)))
+         || (call_seen
+             && TEST_HARD_REG_BIT (regs_invalidated_by_call, REGNO (x)))))
     return 0;
 
   /* Don't use registers that have been clobbered before the start of the