diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 41e4ebaf365..b9160e387d1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2004-12-15 Daniel Berlin + + * cfgloop.c (flow_loops_dump): Don't print out levels. + (flow_loops_find): Don't set loop->levels. + (flow_loops_level_compute): Make void. + * cfgloop.h (struct loops): Remove levels member. + Add comment about loops in parray possibly being NULL. + 2004-12-15 Alexandre Oliva * reload.c (SMALL_REGISTER_CLASS_P): New. diff --git a/gcc/cfgloop.c b/gcc/cfgloop.c index 303c2187c50..26a9cdee898 100644 --- a/gcc/cfgloop.c +++ b/gcc/cfgloop.c @@ -46,7 +46,7 @@ static int flow_loop_nodes_find (basic_block, struct loop *); static void flow_loop_pre_header_scan (struct loop *); static basic_block flow_loop_pre_header_find (basic_block); static int flow_loop_level_compute (struct loop *); -static int flow_loops_level_compute (struct loops *); +static void flow_loops_level_compute (struct loops *); static void establish_preds (struct loop *); static void canonicalize_loop_headers (void); static bool glb_enum_p (basic_block, void *); @@ -173,8 +173,7 @@ flow_loops_dump (const struct loops *loops, FILE *file, void (*loop_dump_aux) (c if (! num_loops || ! file) return; - fprintf (file, ";; %d loops found, %d levels\n", - num_loops, loops->levels); + fprintf (file, ";; %d loops found\n", num_loops); for (i = 0; i < num_loops; i++) { @@ -592,10 +591,10 @@ flow_loop_level_compute (struct loop *loop) hierarchy tree specified by LOOPS. Return the maximum enclosed loop level. */ -static int +static void flow_loops_level_compute (struct loops *loops) { - return flow_loop_level_compute (loops->tree_root); + flow_loop_level_compute (loops->tree_root); } /* Scan a single natural loop specified by LOOP collecting information @@ -953,7 +952,7 @@ flow_loops_find (struct loops *loops, int flags) /* Assign the loop nesting depth and enclosed loop level for each loop. */ - loops->levels = flow_loops_level_compute (loops); + flow_loops_level_compute (loops); /* Scan the loops. */ for (i = 1; i < num_loops; i++) diff --git a/gcc/cfgloop.h b/gcc/cfgloop.h index 9df217eb509..1562736faae 100644 --- a/gcc/cfgloop.h +++ b/gcc/cfgloop.h @@ -217,16 +217,16 @@ struct loops /* Number of natural loops in the function. */ unsigned num; - /* Maximum nested loop level in the function. */ - unsigned levels; - /* Array of natural loop descriptors (scanning this array in reverse order will find the inner loops before their enclosing outer loops). */ struct loop *array; /* The above array is unused in new loop infrastructure and is kept only for purposes of the old loop optimizer. Instead we store just pointers to - loops here. */ + loops here. + Note that a loop in this array may actually be NULL, if the loop + has been removed and the entire loops structure has not been + recomputed since that time. */ struct loop **parray; /* Pointer to root of loop hierarchy tree. */