diff options
author | Richard Henderson <rth@cygnus.com> | 1999-02-21 05:16:11 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1999-02-21 05:16:11 -0800 |
commit | e7f5b971ecfadaa0f1d217e168a5dcf8e7d91bd7 (patch) | |
tree | 0461d058afc7f828d1b0d7e92585337b14a2e83c | |
parent | 3f860e2bcd5333748b8e8dcac516c699e8cfaba5 (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/regmove.c | 13 |
2 files changed, 14 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7e3d054..312bfdd 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 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) |