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 dc90701f5e5bb41a9f8bac7b460ae2037bed1b77..80363e61e177f4b8169dd254459b61d92387ee04 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 38a2e3212f85284644548b48cb2bc8741d869722..b64c8ccd04f9ca45bb5a165b87d1b9cc2efd1b22 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 e2c1f635180f9d52e4cf904a694dc6a2e343418f..fe932a6f0edb30f02d8a6960c9416192a2948707 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