Commit 0abdfaef authored by Matthias Braun's avatar Matthias Braun
Browse files

invalidate phase info before starting the code selection; temporary disable...

invalidate phase info before starting the code selection; temporary disable freeing of old phases in dead code elimination to avoid problems

[r27309]
parent 21585109
......@@ -412,6 +412,11 @@ void be_transform_graph(be_irg_t *birg, arch_pretrans_nodes *func)
irg->obst = new_obst;
irg->last_node_idx = 0;
/* invalidate phase info as (at least vrp info) is used inside the
* equivalent/compute_value functions and might replace our newly
* created nodes with middleend nodes */
irg_invalidate_phases(irg);
/* create new value table for CSE */
del_identities(irg->value_table);
irg->value_table = new_identities();
......@@ -436,7 +441,6 @@ void be_transform_graph(be_irg_t *birg, arch_pretrans_nodes *func)
free_trouts();
free_loop_information(irg);
set_irg_doms_inconsistent(irg);
irg_invalidate_phases(irg);
be_liveness_invalidate(be_get_birg_liveness(birg));
/* Hack for now, something is buggy with invalidate liveness... */
......
......@@ -124,7 +124,10 @@ static void copy_graph_env(ir_graph *irg)
if (old_ph == NULL)
continue;
phase_free(old_ph);
/* Matze: commented out for now: This is a memory leak, but for a real
* fix we must not create new phases here, but reuse the old phases
* and just create a new data array */
/* phase_free(old_ph); */
irg->phases[i] = new_phases[i];
}
}
......
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