regclass.c: Changed register set documentation to be consistent with GCC behaviour.
authorMichael Hayes <michaelh@ongaonga.chch.cri.nz>
Wed, 19 Aug 1998 12:49:17 +0000 (12:49 +0000)
committerJeff Law <law@gcc.gnu.org>
Wed, 19 Aug 1998 12:49:17 +0000 (06:49 -0600)
        * regclass.c: Changed register set documentation to be consistent
        with GCC behaviour.
        * final.c (final_start_function) Removed redundant test for
        call_fixed_regs.

From-SVN: r21847

gcc/ChangeLog
gcc/final.c
gcc/regclass.c

index 31bd3d10a5aef771f9bf14ac1bab5d4cb382be38..ef587f68cdb6bf7ca1b9f4799c4020239c2c8d43 100644 (file)
@@ -1,3 +1,11 @@
+1998-08-19  Michael Hayes  <michaelh@ongaonga.chch.cri.nz>
+
+       * regclass.c: Changed register set documentation to be consistent
+       with GCC behaviour.
+
+       * final.c (final_start_function) Removed redundant test for
+       call_fixed_regs.
+
 Wed Aug 19 13:28:41 1998  Mark Mitchell  <mark@markmitchell.com>
 
        * rtl.h (rtx_function): New type.
index e6a1d5347a67d97c083f91690c8cf5932daed5fa..621f61f60ce5943afe917e76cd7c4c67d15e4263 100644 (file)
@@ -1597,7 +1597,7 @@ final_start_function (first, file, optimize)
       int i;
 
       for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
-       if (!call_used_regs[i] && !call_fixed_regs[i])
+       if (!call_used_regs[i])
          regs_ever_live[i] = 1;
     }
 #endif
index 40bdc72f1cbb08bf51672ea3182fbb0bfb178f60..293b7c3c39c2373b03f6e901f825923076c7d3ad 100644 (file)
@@ -56,7 +56,7 @@ Boston, MA 02111-1307, USA.  */
 /* Indexed by hard register number, contains 1 for registers
    that are fixed use (stack pointer, pc, frame pointer, etc.).
    These are the registers that cannot be used to allocate
-   a pseudo reg whose life does not cross calls.  */
+   a pseudo reg for general use.  */
 
 char fixed_regs[FIRST_PSEUDO_REGISTER];
 
@@ -71,7 +71,8 @@ static char initial_fixed_regs[] = FIXED_REGISTERS;
 /* Indexed by hard register number, contains 1 for registers
    that are fixed use or are clobbered by function calls.
    These are the registers that cannot be used to allocate
-   a pseudo reg whose life crosses calls.  */
+   a pseudo reg whose life crosses calls unless we are able
+   to save/restore them across the calls.  */
 
 char call_used_regs[FIRST_PSEUDO_REGISTER];
 
@@ -87,10 +88,9 @@ HARD_REG_SET losing_caller_save_reg_set;
 static char initial_call_used_regs[] = CALL_USED_REGISTERS;
   
 /* Indexed by hard register number, contains 1 for registers that are
-   fixed use -- i.e. in fixed_regs -- or a function value return register
-   or STRUCT_VALUE_REGNUM or STATIC_CHAIN_REGNUM.  These are the
-   registers that cannot hold quantities across calls even if we are
-   willing to save and restore them.  */
+   fixed use or call used registers that cannot hold quantities across
+   calls even if we are willing to save and restore them.  call fixed
+   registers are a subset of call used registers.  */
 
 char call_fixed_regs[FIRST_PSEUDO_REGISTER];