rs6000.c (first_reg_to_save): Don't save fixed or call-used registers (call-saved...
authorIan Piumarta <piumarta@prof.inria.fr>
Wed, 8 Sep 1999 04:59:10 +0000 (06:59 +0200)
committerGeoffrey Keating <geoffk@gcc.gnu.org>
Wed, 8 Sep 1999 04:59:10 +0000 (04:59 +0000)
* config/rs6000/rs6000.c (first_reg_to_save): Don't save fixed or
call-used registers (call-saved registers must still be contiguous
and end with r31, of course).

Co-Authored-By: Geoff Keating <geoffk@cygnus.com>
Co-Authored-By: Melissa O'Neill <oneill@cs.sfu.ca>
From-SVN: r29181

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index 5770cfdb5ed1bac191d7c22288ee236aeb20beb4..15b8fbb630663dce9275fb8bbc91d18fc56729b2 100644 (file)
@@ -1,3 +1,11 @@
+Wed Sep  8 14:34:42 1999  Ian Piumarta  <piumarta@prof.inria.fr>
+                         Melissa O'Neill  <oneill@cs.sfu.ca>
+                         Geoffrey Keating  <geoffk@cygnus.com>
+
+       * config/rs6000/rs6000.c (first_reg_to_save): Don't save fixed or
+       call-used registers (call-saved registers must still be contiguous
+       and end with r31, of course).
+
 Tue Sep  7 21:41:38 1999  Richard Henderson  <rth@cygnus.com>
 
        * c-typeck.c (type_lists_compatible_p): Use simple_type_promotes_to.
index 2594863de85c68c6f71a8b67512d41973c5f35d5..db0bbb49ab494a2f4043aae51f9f1ea0bcbb7bfe 100644 (file)
@@ -3414,7 +3414,7 @@ first_reg_to_save ()
 
   /* Find lowest numbered live register.  */
   for (first_reg = 13; first_reg <= 31; first_reg++)
-    if (regs_ever_live[first_reg])
+    if (regs_ever_live[first_reg] && ! call_used_regs[first_reg])
       break;
 
   if (profile_flag)