summaryrefslogtreecommitdiffstats
path: root/gcc
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>1999-02-21 13:16:11 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>1999-02-21 13:16:11 +0000
commit956460dcaa0ece3732b9f8a763c1e79f22e9f5c3 (patch)
tree0461d058afc7f828d1b0d7e92585337b14a2e83c /gcc
parent5f977103a08977974afc9d912676dedcf2b12b13 (diff)
downloadppe42-gcc-956460dcaa0ece3732b9f8a763c1e79f22e9f5c3.tar.gz
ppe42-gcc-956460dcaa0ece3732b9f8a763c1e79f22e9f5c3.zip
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25341 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/regmove.c13
2 files changed, 14 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7e3d0548452..312bfdde687 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/regmove.c b/gcc/regmove.c
index 04fcb5da5a4..1f5940a7fef 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)
OpenPOWER on IntegriCloud