Commit 0b371c72 by Kazu Hirata Committed by Kazu Hirata

tree-cfg.c (thread_jumps): Speed up by reordering the two conditions for…

tree-cfg.c (thread_jumps): Speed up by reordering the two conditions for entering basic blocks into worklist.

	* tree-cfg.c (thread_jumps): Speed up by reordering the two
	conditions for entering basic blocks into worklist.

From-SVN: r89700
parent af88d4ec
2004-10-27 Kazu Hirata <kazu@cs.umass.edu> 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
* tree-cfg.c (thread_jumps): Speed up by reordering the two
conditions for entering basic blocks into worklist.
2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
* tree-cfg.c (thread_jumps): Speed up by pretending to have * tree-cfg.c (thread_jumps): Speed up by pretending to have
ENTRY_BLOCK_PTR in worklist. ENTRY_BLOCK_PTR in worklist.
......
...@@ -3974,11 +3974,11 @@ thread_jumps (void) ...@@ -3974,11 +3974,11 @@ thread_jumps (void)
among BB's predecessors. */ among BB's predecessors. */
FOR_EACH_EDGE (e, ei, bb->preds) FOR_EACH_EDGE (e, ei, bb->preds)
{ {
/* We are not interested in threading jumps from a forwarder /* We don't want to put a duplicate into WORKLIST. */
block. */ if ((e->src->flags & BB_VISITED) == 0
if (!bb_ann (e->src)->forwardable /* We are not interested in threading jumps from a forwarder
/* We don't want to put a duplicate into WORKLIST. */ block. */
&& (e->src->flags & BB_VISITED) == 0) && !bb_ann (e->src)->forwardable)
{ {
e->src->flags |= BB_VISITED; e->src->flags |= BB_VISITED;
worklist[size] = e->src; worklist[size] = e->src;
...@@ -4013,11 +4013,11 @@ thread_jumps (void) ...@@ -4013,11 +4013,11 @@ thread_jumps (void)
predecessors. */ predecessors. */
FOR_EACH_EDGE (f, ej, bb->preds) FOR_EACH_EDGE (f, ej, bb->preds)
{ {
/* We are not interested in threading jumps from a /* We don't want to put a duplicate into WORKLIST. */
forwarder block. */ if ((f->src->flags & BB_VISITED) == 0
if (!bb_ann (f->src)->forwardable /* We are not interested in threading jumps from a
/* We don't want to put a duplicate into WORKLIST. */ forwarder block. */
&& (f->src->flags & BB_VISITED) == 0) && !bb_ann (f->src)->forwardable)
{ {
f->src->flags |= BB_VISITED; f->src->flags |= BB_VISITED;
worklist[size] = f->src; worklist[size] = f->src;
......
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