regmove.c (discover_flags_reg): Remove cc0 code.
authorRichard Henderson <rth@cygnus.com>
Sun, 21 Feb 1999 13:16:11 +0000 (05:16 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Sun, 21 Feb 1999 13:16:11 +0000 (05:16 -0800)
        * regmove.c (discover_flags_reg): Remove cc0 code.
        (mark_flags_life_zones) [HAVE_cc0]: Force use of cc0; bail if
        a potential flags register was identified.

From-SVN: r25341

gcc/ChangeLog
gcc/regmove.c

index 7e3d05484525a458dd432752c40982bd6fe62a27..312bfdde687e61d0b220feb2a0e457154b85050c 100644 (file)
@@ -1,3 +1,9 @@
+Sun Feb 21 13:15:40 1999  Richard Henderson  <rth@cygnus.com>
+
+       * regmove.c (discover_flags_reg): Remove cc0 code.
+       (mark_flags_life_zones) [HAVE_cc0]: Force use of cc0; bail if
+       a potential flags register was identified.
+
 Sat Feb 20 16:16:07 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
 
        * rs6000.md (scc plus ltu): Fix typo in last change.
index 04fcb5da5a4878abc48b75dff5894cfca84d7eea..1f5940a7fef2c556c5fee3c3b130e4a0dc7ae535 100644 (file)
@@ -193,12 +193,7 @@ discover_flags_reg ()
        return pc_rtx;
       found = (GET_CODE (tmp) == REG && REGNO (tmp) < FIRST_PSEUDO_REGISTER);
 
-#ifdef HAVE_cc0
-      /* If we're cc0, and we found a potential flags reg, bail.  */
-      return (found ? pc_rtx : cc0_rtx);
-#else
       return (found ? tmp : NULL_RTX);
-#endif
     }
 
   return pc_rtx;
@@ -228,6 +223,14 @@ mark_flags_life_zones (flags)
   int flags_nregs;
   int block;
 
+#ifdef HAVE_cc0
+  /* If we found a flags register on a cc0 host, bail.  */
+  if (flags == NULL_RTX)
+    flags = cc0_rtx;
+  else if (flags != cc0_rtx)
+    flags = pc_rtx;
+#endif
+    
   /* Simple cases first: if no flags, clear all modes.  If confusing,
      mark the entire function as being in a flags shadow.  */
   if (flags == NULL_RTX || flags == pc_rtx)