Commit af88d4ec by Kazu Hirata Committed by Kazu Hirata

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
parent 7f604986
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)
<GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
......
......@@ -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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment