summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2006-11-21 01:08:40 +0000
committerrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2006-11-21 01:08:40 +0000
commit8543a44827ae51f7ae6f3ba02b9472746cbc825c (patch)
tree62f9209bb475165a417f48acb5220a1a6c098b40 /gcc
parent749ea85f0162cbb4f17e2c28b779260bc3a6da36 (diff)
downloadgcc-8543a44827ae51f7ae6f3ba02b9472746cbc825c.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119040 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/cfgloop.c50
-rw-r--r--gcc/cfgloop.h4
-rw-r--r--gcc/cfgloopmanip.c6
4 files changed, 13 insertions, 57 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c960ed934f7..7f99e2255a7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,15 @@
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,
hoist_memory_references, loop_suitable_for_sm, determine_lsm_loop):
Use vector of edges instead of array.
diff --git a/gcc/cfgloop.c b/gcc/cfgloop.c
index 4a5631df081..e00e6a62ea4 100644
--- a/gcc/cfgloop.c
+++ b/gcc/cfgloop.c
@@ -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);
diff --git a/gcc/cfgloop.h b/gcc/cfgloop.h
index b02b4c7879a..0874f54f832 100644
--- a/gcc/cfgloop.h
+++ b/gcc/cfgloop.h
@@ -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;
diff --git a/gcc/cfgloopmanip.c b/gcc/cfgloopmanip.c
index edb36976cc8..028db02afe3 100644
--- a/gcc/cfgloopmanip.c
+++ b/gcc/cfgloopmanip.c
@@ -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. */