summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-manip.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-ssa-loop-manip.c')
-rw-r--r--gcc/tree-ssa-loop-manip.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/gcc/tree-ssa-loop-manip.c b/gcc/tree-ssa-loop-manip.c
index e2e76058251a..7d3cc2aa7437 100644
--- a/gcc/tree-ssa-loop-manip.c
+++ b/gcc/tree-ssa-loop-manip.c
@@ -121,8 +121,9 @@ create_iv (tree base, tree step, tree var, struct loop *loop,
stmt = create_phi_node (vb, loop->header);
SSA_NAME_DEF_STMT (vb) = stmt;
- add_phi_arg (stmt, initial, loop_preheader_edge (loop), UNKNOWN_LOCATION);
- add_phi_arg (stmt, va, loop_latch_edge (loop), UNKNOWN_LOCATION);
+ add_phi_arg (stmt, initial, loop_preheader_edge (loop), UNKNOWN_LOCATION,
+ NULL);
+ add_phi_arg (stmt, va, loop_latch_edge (loop), UNKNOWN_LOCATION, NULL);
}
/* Add exit phis for the USE on EXIT. */
@@ -152,7 +153,7 @@ add_exit_phis_edge (basic_block exit, tree use)
create_new_def_for (gimple_phi_result (phi), phi,
gimple_phi_result_ptr (phi));
FOR_EACH_EDGE (e, ei, exit->preds)
- add_phi_arg (phi, use, e, UNKNOWN_LOCATION);
+ add_phi_arg (phi, use, e, UNKNOWN_LOCATION, NULL);
}
/* Add exit phis for VAR that is used in LIVEIN.
@@ -485,12 +486,14 @@ split_loop_exit_edge (edge exit)
use_operand_p op_p;
gimple_stmt_iterator psi;
source_location locus;
+ tree block;
for (psi = gsi_start_phis (dest); !gsi_end_p (psi); gsi_next (&psi))
{
phi = gsi_stmt (psi);
op_p = PHI_ARG_DEF_PTR_FROM_EDGE (phi, single_succ_edge (bb));
locus = gimple_phi_arg_location_from_edge (phi, single_succ_edge (bb));
+ block = gimple_phi_arg_block_from_edge (phi, single_succ_edge (bb));
name = USE_FROM_PTR (op_p);
@@ -504,7 +507,7 @@ split_loop_exit_edge (edge exit)
new_name = duplicate_ssa_name (name, NULL);
new_phi = create_phi_node (new_name, bb);
SSA_NAME_DEF_STMT (new_name) = new_phi;
- add_phi_arg (new_phi, name, exit, locus);
+ add_phi_arg (new_phi, name, exit, locus, block);
SET_USE (op_p, new_name);
}
@@ -1024,8 +1027,8 @@ tree_transform_and_unroll_loop (struct loop *loop, unsigned factor,
phi_rest = create_phi_node (new_init, rest);
SSA_NAME_DEF_STMT (new_init) = phi_rest;
- add_phi_arg (phi_rest, init, precond_edge, UNKNOWN_LOCATION);
- add_phi_arg (phi_rest, next, new_exit, UNKNOWN_LOCATION);
+ add_phi_arg (phi_rest, init, precond_edge, UNKNOWN_LOCATION, NULL);
+ add_phi_arg (phi_rest, next, new_exit, UNKNOWN_LOCATION, NULL);
SET_USE (op, new_init);
}