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 /gcc/regmove.c | |
parent | 3f860e2bcd5333748b8e8dcac516c699e8cfaba5 (diff) | |
download | gcc-e7f5b971ecfadaa0f1d217e168a5dcf8e7d91bd7.tar.gz |
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.c | 13 |
1 files changed, 8 insertions, 5 deletions
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) |