aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/cfgloop.c11
-rw-r--r--gcc/cfgloop.h8
3 files changed, 17 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 41e4eba..b9160e3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2004-12-15 Daniel Berlin <dberlin@dberlin.org>
+
+ * 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 <aoliva@redhat.com>
* reload.c (SMALL_REGISTER_CLASS_P): New.
diff --git a/gcc/cfgloop.c b/gcc/cfgloop.c
index 303c218..26a9cde 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 9df217e..1562736 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. */