From e44a45c610269bab661aa4ebce9ccd25262d6802 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Fri, 22 Nov 2013 00:36:12 -0700 Subject: [PATCH] tree-ssa-threadedge.c (thread_across_edge): Mark the start of the jump thread path properly. * tree-ssa-threadedge.c (thread_across_edge): Mark the start of the jump thread path properly. From-SVN: r205245 --- gcc/ChangeLog | 5 +++++ gcc/tree-ssa-threadedge.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3aa74c0329b..50c615a82d5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-11-22 Jeff Law + + * tree-ssa-threadedge.c (thread_across_edge): Mark the start of the + jump thread path properly. + 2013-11-22 Trevor Saunders * vec.h (auto_vec): New class. diff --git a/gcc/tree-ssa-threadedge.c b/gcc/tree-ssa-threadedge.c index a1448757ead..7600d7b9914 100644 --- a/gcc/tree-ssa-threadedge.c +++ b/gcc/tree-ssa-threadedge.c @@ -1078,8 +1078,9 @@ thread_across_edge (gimple dummy_cond, /* Avoid threading to any block we have already visited. */ bitmap_clear (visited); - bitmap_set_bit (visited, taken_edge->dest->index); + bitmap_set_bit (visited, e->src->index); bitmap_set_bit (visited, e->dest->index); + bitmap_set_bit (visited, taken_edge->dest->index); vec *path = new vec (); /* Record whether or not we were able to thread through a successor -- 2.11.4.GIT