Commit 1f0db3df by Ulrich Weigand Committed by Ulrich Weigand

loop.c (force_movables): Transitively increase the priorities of all insns forces by an insn...

	* loop.c (force_movables): Transitively increase the priorities of
	all insns forces by an insn, not just the first one.

From-SVN: r77419
parent 014a1138
2004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
* loop.c (force_movables): Transitively increase the priorities of
all insns forces by an insn, not just the first one.
2004-02-06 Josef Zlomek <zlomekj@suse.cz> 2004-02-06 Josef Zlomek <zlomekj@suse.cz>
Daniel Berlin <dberlin@dberlin.org> Daniel Berlin <dberlin@dberlin.org>
......
...@@ -1469,12 +1469,18 @@ force_movables (struct loop_movables *movables) ...@@ -1469,12 +1469,18 @@ force_movables (struct loop_movables *movables)
m = 0; m = 0;
/* Increase the priority of the moving the first insn /* Increase the priority of the moving the first insn
since it permits the second to be moved as well. */ since it permits the second to be moved as well.
Likewise for insns already forced by the first insn. */
if (m != 0) if (m != 0)
{ {
struct movable *m2;
m->forces = m1; m->forces = m1;
m1->lifetime += m->lifetime; for (m2 = m1; m2; m2 = m2->forces)
m1->savings += m->savings; {
m2->lifetime += m->lifetime;
m2->savings += m->savings;
}
} }
} }
} }
......
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