aboutsummaryrefslogtreecommitdiff
path: root/gcc/regmove.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1999-02-21 05:16:11 -0800
committerRichard Henderson <rth@gcc.gnu.org>1999-02-21 05:16:11 -0800
commite7f5b971ecfadaa0f1d217e168a5dcf8e7d91bd7 (patch)
tree0461d058afc7f828d1b0d7e92585337b14a2e83c /gcc/regmove.c
parent3f860e2bcd5333748b8e8dcac516c699e8cfaba5 (diff)
downloadgcc-e7f5b971ecfadaa0f1d217e168a5dcf8e7d91bd7.zip
gcc-e7f5b971ecfadaa0f1d217e168a5dcf8e7d91bd7.tar.gz
gcc-e7f5b971ecfadaa0f1d217e168a5dcf8e7d91bd7.tar.bz2
regmove.c (discover_flags_reg): Remove cc0 code.
* 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
Diffstat (limited to 'gcc/regmove.c')
-rw-r--r--gcc/regmove.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/gcc/regmove.c b/gcc/regmove.c
index 04fcb5d..1f5940a 100644
--- a/gcc/regmove.c
+++ b/gcc/regmove.c
@@ -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)