aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.4.0/gcc/tree-cfgcleanup.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.4.0/gcc/tree-cfgcleanup.c')
-rw-r--r--gcc-4.4.0/gcc/tree-cfgcleanup.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc-4.4.0/gcc/tree-cfgcleanup.c b/gcc-4.4.0/gcc/tree-cfgcleanup.c
index af2c88275..1539ac2f0 100644
--- a/gcc-4.4.0/gcc/tree-cfgcleanup.c
+++ b/gcc-4.4.0/gcc/tree-cfgcleanup.c
@@ -421,7 +421,8 @@ remove_forwarder_block (basic_block bb)
gsi_next (&gsi))
{
gimple phi = gsi_stmt (gsi);
- add_phi_arg (phi, gimple_phi_arg_def (phi, succ->dest_idx), s);
+ source_location l = gimple_phi_arg_location_from_edge (phi, succ);
+ add_phi_arg (phi, gimple_phi_arg_def (phi, succ->dest_idx), s, l);
}
}
}
@@ -764,6 +765,7 @@ remove_forwarder_block_with_phi (basic_block bb)
{
gimple phi = gsi_stmt (gsi);
tree def = gimple_phi_arg_def (phi, succ->dest_idx);
+ source_location locus = gimple_phi_arg_location_from_edge (phi, succ);
if (TREE_CODE (def) == SSA_NAME)
{
@@ -783,12 +785,13 @@ remove_forwarder_block_with_phi (basic_block bb)
if (def == old_arg)
{
def = new_arg;
+ locus = redirect_edge_var_map_location (vm);
break;
}
}
}
- add_phi_arg (phi, def, s);
+ add_phi_arg (phi, def, s, locus);
}
redirect_edge_var_map_clear (e);