From 8543a44827ae51f7ae6f3ba02b9472746cbc825c Mon Sep 17 00:00:00 2001 From: rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Tue, 21 Nov 2006 01:08:40 +0000 Subject: [PATCH] * 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 --- gcc/ChangeLog | 10 ++++++++++ gcc/cfgloop.c | 50 ++-------------------------------------------- gcc/cfgloop.h | 4 ---- gcc/cfgloopmanip.c | 6 +----- 4 files changed, 13 insertions(+), 57 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c960ed934f77..7f99e2255a7e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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, diff --git a/gcc/cfgloop.c b/gcc/cfgloop.c index 4a5631df0816..e00e6a62ea46 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 b02b4c7879ae..0874f54f832e 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 edb36976cc8a..028db02afe32 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. */ -- GitLab