tree-cfg.c (thread_jumps): Speed up by pretending to have ENTRY_BLOCK_PTR in worklist.

* tree-cfg.c (thread_jumps): Speed up by pretending to have
	ENTRY_BLOCK_PTR in worklist.

From-SVN: r89699
This commit is contained in:
Kazu Hirata 2004-10-27 18:24:13 +00:00 committed by Kazu Hirata
parent 7f604986cc
commit af88d4ec96
2 changed files with 11 additions and 4 deletions

View file

@ -1,3 +1,8 @@
2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
* tree-cfg.c (thread_jumps): Speed up by pretending to have
ENTRY_BLOCK_PTR in worklist.
2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary)

View file

@ -3949,6 +3949,10 @@ thread_jumps (void)
bb->flags &= ~BB_VISITED;
}
/* We pretend to have ENTRY_BLOCK_PTR in WORKLIST. This way,
ENTRY_BLOCK_PTR will never be entered into WORKLIST. */
ENTRY_BLOCK_PTR->flags |= BB_VISITED;
/* Initialize WORKLIST by putting non-forwarder blocks that
immediately precede forwarder blocks because those are the ones
that we know we can thread jumps from. We use BB_VISITED to
@ -3973,8 +3977,6 @@ thread_jumps (void)
/* We are not interested in threading jumps from a forwarder
block. */
if (!bb_ann (e->src)->forwardable
/* We don't want to visit ENTRY_BLOCK_PTR. */
&& e->src->index >= 0
/* We don't want to put a duplicate into WORKLIST. */
&& (e->src->flags & BB_VISITED) == 0)
{
@ -4014,8 +4016,6 @@ thread_jumps (void)
/* We are not interested in threading jumps from a
forwarder block. */
if (!bb_ann (f->src)->forwardable
/* We don't want to visit ENTRY_BLOCK_PTR. */
&& f->src->index >= 0
/* We don't want to put a duplicate into WORKLIST. */
&& (f->src->flags & BB_VISITED) == 0)
{
@ -4028,6 +4028,8 @@ thread_jumps (void)
}
}
ENTRY_BLOCK_PTR->flags &= ~BB_VISITED;
free (worklist);
return retval;