summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/basic-block.h4
-rw-r--r--gcc/tree-ssa-threadupdate.c27
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);