aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-threadupdate.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-ssa-threadupdate.c')
-rw-r--r--gcc/tree-ssa-threadupdate.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/gcc/tree-ssa-threadupdate.c b/gcc/tree-ssa-threadupdate.c
index 0e4cbc9..e84542c 100644
--- a/gcc/tree-ssa-threadupdate.c
+++ b/gcc/tree-ssa-threadupdate.c
@@ -1264,8 +1264,19 @@ thread_through_all_blocks (bool may_peel_loop_headers)
after fixing the SSA graph. */
void
-register_jump_thread (edge e, edge e2, edge e3)
+register_jump_thread (vec<edge> path)
{
+ /* Convert PATH into 3 edge representation we've been using. This
+ is temporary until we convert this file to use a path representation
+ throughout. */
+ edge e = path[0];
+ edge e2 = path[1];
+
+ if (path.length () <= 2)
+ e3 = NULL;
+ else
+ e3 = path[path.length () - 1];
+
/* This can occur if we're jumping to a constant address or
or something similar. Just get out now. */
if (e2 == NULL)