diff options
Diffstat (limited to 'gcc-4.4.0/gcc/tree-cfgcleanup.c')
-rw-r--r-- | gcc-4.4.0/gcc/tree-cfgcleanup.c | 7 |
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); |