diff options
| author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-02-21 13:16:11 +0000 |
|---|---|---|
| committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-02-21 13:16:11 +0000 |
| commit | 956460dcaa0ece3732b9f8a763c1e79f22e9f5c3 (patch) | |
| tree | 0461d058afc7f828d1b0d7e92585337b14a2e83c /gcc | |
| parent | 5f977103a08977974afc9d912676dedcf2b12b13 (diff) | |
| download | ppe42-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/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 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) |

