summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-ssa-threadedge.c3
2 files changed, 7 insertions, 1 deletions
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 <law@redhat.com>
+
+ * tree-ssa-threadedge.c (thread_across_edge): Mark the start of the
+ jump thread path properly.
+
2013-11-22 Trevor Saunders <tsaunders@mozilla.com>
* 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<jump_thread_edge *> *path = new vec<jump_thread_edge *> ();
/* Record whether or not we were able to thread through a successor
OpenPOWER on IntegriCloud