2000-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
authorm.hayes <m.hayes@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 25 Jan 2000 00:38:09 +0000 (00:38 +0000)
committerm.hayes <m.hayes@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 25 Jan 2000 00:38:09 +0000 (00:38 +0000)
* loop.h (LOOP_INFO): New accessor macro.
* basic-block.h (struct loop): Rename field `info' to `aux'.
* loop.c (scan_loop): Replace loop->info with LOOP_INFO (loop).
(prescan_loop, strength_reduce, check_dbra_loop, insert_bct): Likewise.
* unroll.c (loop_iterations, unroll_loop): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31596 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/basic-block.h
gcc/loop.c
gcc/loop.h
gcc/unroll.c

index c37e2ac..9c1c1b3 100644 (file)
@@ -1,3 +1,11 @@
+2000-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * loop.h (LOOP_INFO): New accessor macro.
+       * basic-block.h (struct loop): Rename field `info' to `aux'.
+       * loop.c (scan_loop): Replace loop->info with LOOP_INFO (loop).
+       (prescan_loop, strength_reduce, check_dbra_loop, insert_bct): Likewise.
+       * unroll.c (loop_iterations, unroll_loop): Likewise.
+
 2000-01-24  Christopher Faylor <cgf@cygnus.com>
 
        * config/i386/t-cygwin: Accomodate new winsup directory layout
index c5c29c9..a4e970d 100644 (file)
@@ -274,7 +274,7 @@ struct loop
   int invalid;
 
   /* Auxiliary info specific to a pass.  */
-  void *info;
+  void *aux;
 
   /* The following are currently used by loop.c but they are likely to
      disappear as loop.c is converted to use the CFG.  */
index 152f9cf..b297504 100644 (file)
@@ -467,7 +467,7 @@ loop_optimize (f, dumpfile, unroll_p, bct_p)
   /* Allocate and initialize auxiliary loop information.  */
   loops_info = xcalloc (loops->num, sizeof (struct loop_info));
   for (i = 0; i < loops->num; i++)
-    loops->array[i].info = loops_info + i;
+    loops->array[i].aux = loops_info + i;
 
   /* Now find all register lifetimes.  This must be done after
      find_and_verify_loops, because it might reorder the insns in the
@@ -590,7 +590,7 @@ scan_loop (loop, unroll_p, bct_p)
   register int i;
   rtx loop_start = loop->start;
   rtx loop_end = loop->end;
-  struct loop_info *loop_info = loop->info;
+  struct loop_info *loop_info = LOOP_INFO (loop);
   rtx p;
   /* 1 if we are scanning insns that could be executed zero times.  */
   int maybe_never = 0;
@@ -2366,7 +2366,7 @@ constant_high_bytes (p, loop_start)
 #endif
 \f
 /* Scan a loop setting the elements `cont', `vtop', `loops_enclosed',
-   `has_call', `has_volatile', and `has_tablejump' within LOOP_INFO.
+   `has_call', `has_volatile', and `has_tablejump' within LOOP.
    Set the global variables `unknown_address_altered',
    `unknown_constant_address_altered', and `num_mem_sets'.  Also, fill
    in the array `loop_mems' and the list `loop_store_mems'.  */
@@ -2377,7 +2377,7 @@ prescan_loop (loop)
 {
   register int level = 1;
   rtx insn;
-  struct loop_info *loop_info = loop->info;
+  struct loop_info *loop_info = LOOP_INFO (loop);
   rtx start = loop->start;
   rtx end = loop->end;
   /* The label after END.  Jumping here is just like falling off the
@@ -3716,7 +3716,7 @@ strength_reduce (loop, insn_count, unroll_p, bct_p)
   int past_loop_latch = 0;
   /* Temporary list pointers for traversing loop_iv_list.  */
   struct iv_class *bl, **backbl;
-  struct loop_info *loop_info = loop->info;
+  struct loop_info *loop_info = LOOP_INFO (loop);
   /* Ratio of extra register life span we can justify
      for saving an instruction.  More if loop doesn't call subroutines
      since in that case saving an insn makes more difference
@@ -7854,7 +7854,7 @@ check_dbra_loop (loop, insn_count)
   int compare_and_branch;
   rtx loop_start = loop->start;
   rtx loop_end = loop->end;
-  struct loop_info *loop_info = loop->info;
+  struct loop_info *loop_info = LOOP_INFO (loop);
 
   /* If last insn is a conditional branch, and the insn before tests a
      register value, try to optimize it.  Otherwise, we can't do anything.  */
@@ -9278,7 +9278,7 @@ insert_bct (loop)
   unsigned HOST_WIDE_INT n_iterations;
   rtx loop_start = loop->start;
   rtx loop_end = loop->end;
-  struct loop_info *loop_info = loop->info;  
+  struct loop_info *loop_info = LOOP_INFO (loop);  
   int loop_num = loop->num;
 
 #if 0
@@ -9374,7 +9374,7 @@ insert_bct (loop)
       /* Mark all enclosing loops that they cannot use count register.  */
       for (outer_loop = loop; outer_loop; outer_loop = outer_loop->outer)
        {
-         outer_loop_info = outer_loop->info;
+         outer_loop_info = LOOP_INFO (outer_loop);
          outer_loop_info->used_count_register = 1;
        }
       instrument_loop_bct (loop_start, loop_end, GEN_INT (n_iterations));
index 8c46653..10a7131 100644 (file)
@@ -21,6 +21,9 @@ Boston, MA 02111-1307, USA.  */
 #include "varray.h"
 #include "basic-block.h"
 
+/* Get the loop info pointer of a loop.  */
+#define LOOP_INFO(LOOP) ((struct loop_info *) (LOOP)->aux) 
+
 /* Get the luid of an insn.  Catch the error of trying to reference the LUID
    of an insn added during loop, since these don't have LUIDs.  */
 
index b166298..f325cea 100644 (file)
@@ -256,7 +256,7 @@ unroll_loop (loop, insn_count, end_insert_before, strength_reduce_p)
   rtx last_loop_insn;
   rtx loop_start = loop->start;
   rtx loop_end = loop->end;
-  struct loop_info *loop_info = loop->info;
+  struct loop_info *loop_info = LOOP_INFO (loop);
 
   /* Don't bother unrolling huge loops.  Since the minimum factor is
      two, loops greater than one half of MAX_UNROLLED_INSNS will never
@@ -3635,7 +3635,7 @@ loop_iterations (loop)
   int unsigned_p, compare_dir, final_larger;
   rtx last_loop_insn;
   rtx reg_term;
-  struct loop_info *loop_info = loop->info;
+  struct loop_info *loop_info = LOOP_INFO (loop);
 
   loop_info->n_iterations = 0;
   loop_info->initial_value = 0;