Commit 99f8a411 by Zdenek Dvorak Committed by Zdenek Dvorak

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
parent ca83d385
2006-11-21 Zdenek Dvorak <dvorakz@suse.cz> 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, * tree-ssa-loop-im.c (schedule_sm, determine_lsm_ref,
hoist_memory_references, loop_suitable_for_sm, determine_lsm_loop): hoist_memory_references, loop_suitable_for_sm, determine_lsm_loop):
Use vector of edges instead of array. Use vector of edges instead of array.
......
...@@ -41,8 +41,6 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ...@@ -41,8 +41,6 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
#define LATCH_EDGE(E) (*(int *) (E)->aux) #define LATCH_EDGE(E) (*(int *) (E)->aux)
static void flow_loops_cfg_dump (const struct loops *, FILE *); 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 establish_preds (struct loop *);
static void canonicalize_loop_headers (void); static void canonicalize_loop_headers (void);
static bool glb_enum_p (basic_block, void *); static bool glb_enum_p (basic_block, void *);
...@@ -110,9 +108,8 @@ flow_loop_dump (const struct loop *loop, FILE *file, ...@@ -110,9 +108,8 @@ flow_loop_dump (const struct loop *loop, FILE *file,
fprintf (file, ";; header %d, latch %d\n", fprintf (file, ";; header %d, latch %d\n",
loop->header->index, loop->latch->index); loop->header->index, loop->latch->index);
fprintf (file, ";; depth %d, level %d, outer %ld\n", fprintf (file, ";; depth %d, outer %ld\n",
loop->depth, loop->level, loop->depth, (long) (loop->outer ? loop->outer->num : -1));
(long) (loop->outer ? loop->outer->num : -1));
fprintf (file, ";; nodes:"); fprintf (file, ";; nodes:");
bbs = get_loop_body (loop); bbs = get_loop_body (loop);
...@@ -355,45 +352,6 @@ flow_loop_tree_node_remove (struct loop *loop) ...@@ -355,45 +352,6 @@ flow_loop_tree_node_remove (struct loop *loop)
loop->pred = NULL; 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 /* A callback to update latch and header info for basic block JUMP created
by redirecting an edge. */ by redirecting an edge. */
...@@ -707,10 +665,6 @@ flow_loops_find (struct loops *loops) ...@@ -707,10 +665,6 @@ flow_loops_find (struct loops *loops)
loop->num_nodes = flow_loop_nodes_find (loop->header, loop); 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; loops->num = num_loops;
initialize_loops_parallel_p (loops); initialize_loops_parallel_p (loops);
......
...@@ -104,10 +104,6 @@ struct loop ...@@ -104,10 +104,6 @@ struct loop
/* Superloops of the loop. */ /* Superloops of the loop. */
struct loop **pred; 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. */ /* The outer (parent) loop or NULL if outermost loop. */
struct loop *outer; struct loop *outer;
......
...@@ -379,7 +379,6 @@ add_loop (struct loops *loops, struct loop *loop, struct loop *outer) ...@@ -379,7 +379,6 @@ add_loop (struct loops *loops, struct loop *loop, struct loop *outer)
/* Add it to loop structure. */ /* Add it to loop structure. */
place_new_loop (loops, loop); place_new_loop (loops, loop);
flow_loop_tree_node_add (outer, loop); flow_loop_tree_node_add (outer, loop);
loop->level = 1;
/* Find its nodes. */ /* Find its nodes. */
bbs = XCNEWVEC (basic_block, n_basic_blocks); bbs = XCNEWVEC (basic_block, n_basic_blocks);
...@@ -653,10 +652,7 @@ duplicate_loop (struct loops *loops, struct loop *loop, struct loop *target) ...@@ -653,10 +652,7 @@ duplicate_loop (struct loops *loops, struct loop *loop, struct loop *target)
cloop = XCNEW (struct loop); cloop = XCNEW (struct loop);
place_new_loop (loops, cloop); place_new_loop (loops, cloop);
/* Initialize copied loop. */ /* Mark the new loop as copy of LOOP. */
cloop->level = loop->level;
/* Set it as copy of loop. */
loop->copy = cloop; loop->copy = cloop;
/* Add it to target. */ /* Add it to target. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment