sh.c (calc_live_regs): Also check GET_CODE when checking if initial value for PR_REG...
authorJ"orn Rennecke <joern.rennecke@superh.com>
Tue, 18 Feb 2003 20:20:11 +0000 (20:20 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Tue, 18 Feb 2003 20:20:11 +0000 (20:20 +0000)
* sh.c (calc_live_regs): Also check GET_CODE when checking if initial value
for PR_REG is still the PR_REG register.

From-SVN: r63064

gcc/ChangeLog
gcc/config/sh/sh.c

index b23bec780029db7128ceb8748ad3179e6d192d86..e7529f15d39a7685c97fd2a8ef549e0d447201dc 100644 (file)
@@ -1,3 +1,8 @@
+Tue Feb 18 20:15:54 2003  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * sh.c (calc_live_regs): Also check GET_CODE when checking if initial value
+       for PR_REG is still the PR_REG register.
+
 2003-02-18  Jim Wilson  <wilson@redhat.com>
 
        * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
index b1df940dd9d826a5f05ad1e59bc7193c5113c29a..0bb0d94bc39286ec72dba86581bdaac5979cea86 100644 (file)
@@ -4571,7 +4571,9 @@ calc_live_regs (count_ptr, live_regs_mask)
     {
       rtx pr_initial = has_hard_reg_initial_val (Pmode, PR_REG);
       pr_live = (pr_initial
-                ? REGNO (pr_initial) != (PR_REG) : regs_ever_live[PR_REG]);
+                ? (GET_CODE (pr_initial) != REG
+                   || REGNO (pr_initial) != (PR_REG))
+                : regs_ever_live[PR_REG]);
     }
   /* Force PR to be live if the prologue has to call the SHmedia
      argument decoder or register saver.  */