rs6000.c (rs6000_stack_info): Remove insn_chain_scanned.
authorAldy Hernandez <aldyh@redhat.com>
Wed, 12 Mar 2003 01:30:56 +0000 (01:30 +0000)
committerAldy Hernandez <aldyh@gcc.gnu.org>
Wed, 12 Mar 2003 01:30:56 +0000 (01:30 +0000)
2003-03-11  Aldy Hernandez  <aldyh@redhat.com>

        * config/rs6000/rs6000.c (rs6000_stack_info): Remove
        insn_chain_scanned.  Use insn_chain_scanned_p in machine_function.

        * config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p.

From-SVN: r64210

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

index dc90701..80363e6 100644 (file)
@@ -1,3 +1,10 @@
+2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
+
+        * config/rs6000/rs6000.c (rs6000_stack_info): Remove
+        insn_chain_scanned.  Use insn_chain_scanned_p in machine_function.
+
+        * config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p.
+
 Tue Mar 11 21:19:03 2003  Alexandre Oliva  <aoliva@redhat.com>
 
        * toplev.c (independent_decode_option): Return success for --help,
index 38a2e32..b64c8cc 100644 (file)
@@ -9169,7 +9169,6 @@ rs6000_stack_info ()
   enum rs6000_abi abi;
   int ehrd_size;
   int total_raw_size;
-  static int insn_chain_scanned = -1;
 
   /* Zero all fields portably.  */
   info = zero_info;
@@ -9177,9 +9176,11 @@ rs6000_stack_info ()
   if (TARGET_SPE)
     {
       /* Cache value so we don't rescan instruction chain over and over.  */
-      if (insn_chain_scanned < 0)
-       insn_chain_scanned = (int) spe_func_has_64bit_regs_p ();
-      info_ptr->spe_64bit_regs_used = insn_chain_scanned;
+      if (cfun->machine->insn_chain_scanned_p == 0)
+       {
+         cfun->machine->insn_chain_scanned_p = 1;
+         info_ptr->spe_64bit_regs_used = (int) spe_func_has_64bit_regs_p ();
+       }
     }
 
   /* Select which calling sequence.  */
index e2c1f63..fe932a6 100644 (file)
@@ -1649,6 +1649,8 @@ typedef struct machine_function GTY(())
   int sysv_varargs_p;
   /* Flags if __builtin_return_address (n) with n >= 1 was used.  */
   int ra_needs_full_frame;
+  /* Whether the instruction chain has been scanned already.  */
+  int insn_chain_scanned_p;
 } machine_function;
 
 /* Define a data type for recording info about an argument list