diff options
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/basic-block.h | 4 | ||||
-rw-r--r-- | gcc/tree-ssa-threadupdate.c | 27 |
3 files changed, 7 insertions, 31 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 89ad55d0e5f..332499b6c0d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2006-03-05 Kazu Hirata <kazu@codesourcery.com> + * tree-ssa-threadupdate.c (rediscover_loops_after_threading): + Remove. + * basic-block.h: Remove the extern for + rediscover_loops_after_threading. + +2006-03-05 Kazu Hirata <kazu@codesourcery.com> + * recog.c (volatile_mem_p, validate_change_maybe_volatile): Remove. * recog.h: Remove the prototype for diff --git a/gcc/basic-block.h b/gcc/basic-block.h index 8179e094338..a07a517d39e 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -414,10 +414,6 @@ struct control_flow_graph GTY(()) #define BASIC_BLOCK(N) (VEC_index (basic_block, basic_block_info, (N))) #define SET_BASIC_BLOCK(N,BB) (VEC_replace (basic_block, basic_block_info, (N), (BB))) -/* TRUE if we should re-run loop discovery after threading jumps, FALSE - otherwise. */ -extern bool rediscover_loops_after_threading; - /* For iterating over basic blocks. */ #define FOR_BB_BETWEEN(BB, FROM, TO, DIR) \ for (BB = FROM; BB != TO; BB = BB->DIR) diff --git a/gcc/tree-ssa-threadupdate.c b/gcc/tree-ssa-threadupdate.c index 4a92effb5a4..444bbb72aea 100644 --- a/gcc/tree-ssa-threadupdate.c +++ b/gcc/tree-ssa-threadupdate.c @@ -131,8 +131,6 @@ struct redirection_data /* Main data structure to hold information for duplicates of BB. */ static htab_t redirection_data; -bool rediscover_loops_after_threading; - /* Data structure of information to pass to hash table traversal routines. */ struct local_info { @@ -735,30 +733,6 @@ thread_block (basic_block bb) update_bb_profile_for_threading (e->dest, EDGE_FREQUENCY (e), e->count, e->aux); - /* If we thread to a loop exit edge, then we will need to - rediscover the loop exit edges. While it may seem that - the new edge is a loop exit edge, that is not the case. - Consider threading the edge (5,6) to E in the CFG on the - left which creates the CFG on the right: - - - 0<--+ 0<---+ - / \ | / \ | - 1 2 | 1 2 | - / \ | | / \ | | - 3 4 | | 3 4 6--+ - \ / | | \ / - 5 | | 5 - \ / | | - 6---+ E - | - E - - After threading, the edge (0, 1) is the loop exit edge and - the nodes 0, 2, 6 are the only nodes in the loop. */ - if (e2->flags & EDGE_LOOP_EXIT) - rediscover_loops_after_threading = true; - /* Insert the outgoing edge into the hash table if it is not already in the hash table. */ lookup_redirection_data (e2, e, INSERT); @@ -859,7 +833,6 @@ thread_through_all_blocks (void) return false; threaded_blocks = BITMAP_ALLOC (NULL); - rediscover_loops_after_threading = false; memset (&thread_stats, 0, sizeof (thread_stats)); mark_threaded_blocks (threaded_blocks); |