Commit 05e35241 authored by Michael Beck's avatar Michael Beck
Browse files

improved fixpoint iteration for optimize_graph_df()

[r15010]
parent a6843eac
......@@ -169,13 +169,19 @@ static void enqueue_users(ir_node *n, pdeq *waitq) {
static void opt_walker(ir_node *n, void *env) {
pdeq *waitq = env;
ir_node *optimized;
ir_node *oldn = n;
for (;;) {
optimized = optimize_in_place_2(n);
set_irn_link(optimized, NULL);
if (optimized == n)
break;
n = optimized;
}
optimized = optimize_in_place_2(n);
set_irn_link(optimized, NULL);
if (optimized != n) {
enqueue_users(n, waitq);
exchange(n, optimized);
if (optimized != oldn) {
enqueue_users(oldn, waitq);
exchange(oldn, optimized);
}
}
......
Supports Markdown
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