cfgloopmanip.c (add_loop, [...]): Do not set level of the loop.

* cfgloopmanip.c (add_loop, duplicate_loop): Do not set level
	of the loop.
	* cfgloop.c (flow_loop_level_compute, flow_loops_level_compute):
	Removed.
	(flow_loop_dump): Do not dump loop level.
	(flow_loops_find): Do not call flow_loops_level_compute.
	* cfgloop.h (struct loop): Remove level field.

From-SVN: r119040
This commit is contained in:
Zdenek Dvorak 2006-11-21 02:08:40 +01:00 committed by Zdenek Dvorak
parent ca83d38556
commit 99f8a411dc
4 changed files with 13 additions and 57 deletions

View file

@ -1,3 +1,13 @@
2006-11-21 Zdenek Dvorak <dvorakz@suse.cz>
* cfgloopmanip.c (add_loop, duplicate_loop): Do not set level
of the loop.
* cfgloop.c (flow_loop_level_compute, flow_loops_level_compute):
Removed.
(flow_loop_dump): Do not dump loop level.
(flow_loops_find): Do not call flow_loops_level_compute.
* cfgloop.h (struct loop): Remove level field.
2006-11-21 Zdenek Dvorak <dvorakz@suse.cz>
* tree-ssa-loop-im.c (schedule_sm, determine_lsm_ref,

View file

@ -41,8 +41,6 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
#define LATCH_EDGE(E) (*(int *) (E)->aux)
static void flow_loops_cfg_dump (const struct loops *, FILE *);
static int flow_loop_level_compute (struct loop *);
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 *);
@ -110,9 +108,8 @@ flow_loop_dump (const struct loop *loop, FILE *file,
fprintf (file, ";; header %d, latch %d\n",
loop->header->index, loop->latch->index);
fprintf (file, ";; depth %d, level %d, outer %ld\n",
loop->depth, loop->level,
(long) (loop->outer ? loop->outer->num : -1));
fprintf (file, ";; depth %d, outer %ld\n",
loop->depth, (long) (loop->outer ? loop->outer->num : -1));
fprintf (file, ";; nodes:");
bbs = get_loop_body (loop);
@ -355,45 +352,6 @@ flow_loop_tree_node_remove (struct loop *loop)
loop->pred = NULL;
}
/* Helper function to compute loop nesting depth and enclosed loop level
for the natural loop specified by LOOP. Returns the loop level. */
static int
flow_loop_level_compute (struct loop *loop)
{
struct loop *inner;
int level = 1;
if (! loop)
return 0;
/* Traverse loop tree assigning depth and computing level as the
maximum level of all the inner loops of this loop. The loop
level is equivalent to the height of the loop in the loop tree
and corresponds to the number of enclosed loop levels (including
itself). */
for (inner = loop->inner; inner; inner = inner->next)
{
int ilevel = flow_loop_level_compute (inner) + 1;
if (ilevel > level)
level = ilevel;
}
loop->level = level;
return level;
}
/* Compute the loop nesting depth and enclosed loop level for the loop
hierarchy tree specified by LOOPS. Return the maximum enclosed loop
level. */
static void
flow_loops_level_compute (struct loops *loops)
{
flow_loop_level_compute (loops->tree_root);
}
/* A callback to update latch and header info for basic block JUMP created
by redirecting an edge. */
@ -707,10 +665,6 @@ flow_loops_find (struct loops *loops)
loop->num_nodes = flow_loop_nodes_find (loop->header, loop);
}
/* Assign the loop nesting depth and enclosed loop level for each
loop. */
flow_loops_level_compute (loops);
loops->num = num_loops;
initialize_loops_parallel_p (loops);

View file

@ -104,10 +104,6 @@ struct loop
/* Superloops of the loop. */
struct loop **pred;
/* The height of the loop (enclosed loop levels) within the loop
hierarchy tree. */
int level;
/* The outer (parent) loop or NULL if outermost loop. */
struct loop *outer;

View file

@ -379,7 +379,6 @@ add_loop (struct loops *loops, struct loop *loop, struct loop *outer)
/* Add it to loop structure. */
place_new_loop (loops, loop);
flow_loop_tree_node_add (outer, loop);
loop->level = 1;
/* Find its nodes. */
bbs = XCNEWVEC (basic_block, n_basic_blocks);
@ -653,10 +652,7 @@ duplicate_loop (struct loops *loops, struct loop *loop, struct loop *target)
cloop = XCNEW (struct loop);
place_new_loop (loops, cloop);
/* Initialize copied loop. */
cloop->level = loop->level;
/* Set it as copy of loop. */
/* Mark the new loop as copy of LOOP. */
loop->copy = cloop;
/* Add it to target. */