tree-into-ssa.c (insert_phi_nodes): Add PHI nodes in variable UID order.
2009-11-30 Richard Guenther <rguenther@suse.de> * tree-into-ssa.c (insert_phi_nodes): Add PHI nodes in variable UID order. From-SVN: r154776
This commit is contained in:
parent
831b9ef8f0
commit
e68c7b4306
|
@ -1,3 +1,8 @@
|
|||
2009-11-30 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* tree-into-ssa.c (insert_phi_nodes): Add PHI nodes in
|
||||
variable UID order.
|
||||
|
||||
2009-11-30 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* tree-dump.c (dump_option_value_in): Add TDF_NOUID.
|
||||
|
|
|
@ -1151,27 +1151,43 @@ static void
|
|||
insert_phi_nodes (bitmap *dfs)
|
||||
{
|
||||
referenced_var_iterator rvi;
|
||||
bitmap_iterator bi;
|
||||
tree var;
|
||||
bitmap vars;
|
||||
unsigned uid;
|
||||
|
||||
timevar_push (TV_TREE_INSERT_PHI_NODES);
|
||||
|
||||
/* Do two stages to avoid code generation differences for UID
|
||||
differences but no UID ordering differences. */
|
||||
|
||||
vars = BITMAP_ALLOC (NULL);
|
||||
FOR_EACH_REFERENCED_VAR (var, rvi)
|
||||
{
|
||||
struct def_blocks_d *def_map;
|
||||
bitmap idf;
|
||||
|
||||
def_map = find_def_blocks_for (var);
|
||||
if (def_map == NULL)
|
||||
continue;
|
||||
|
||||
if (get_phi_state (var) != NEED_PHI_STATE_NO)
|
||||
{
|
||||
idf = compute_idf (def_map->def_blocks, dfs);
|
||||
insert_phi_nodes_for (var, idf, false);
|
||||
BITMAP_FREE (idf);
|
||||
}
|
||||
bitmap_set_bit (vars, DECL_UID (var));
|
||||
}
|
||||
|
||||
EXECUTE_IF_SET_IN_BITMAP (vars, 0, uid, bi)
|
||||
{
|
||||
tree var = referenced_var (uid);
|
||||
struct def_blocks_d *def_map;
|
||||
bitmap idf;
|
||||
|
||||
def_map = find_def_blocks_for (var);
|
||||
idf = compute_idf (def_map->def_blocks, dfs);
|
||||
insert_phi_nodes_for (var, idf, false);
|
||||
BITMAP_FREE (idf);
|
||||
}
|
||||
|
||||
BITMAP_FREE (vars);
|
||||
|
||||
timevar_pop (TV_TREE_INSERT_PHI_NODES);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue