aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-tail-merge.c
diff options
context:
space:
mode:
authorTom de Vries <tom@codesourcery.com>2017-07-03 07:20:49 +0000
committerTom de Vries <tom@codesourcery.com>2017-07-03 07:20:49 +0000
commit48df7e69190f6f7f9a825269225e534246b845ce (patch)
tree6b9e26dc612c92752cb02a9f4d674fe6ced5563f /gcc/tree-ssa-tail-merge.c
parentaf67cc4b12765cb51f345bf2752ce5150f77ce4f (diff)
Fix sigsegv in find_same_succ_bb
2017-07-03 Tom de Vries <tom@codesourcery.com> PR tree-optimization/81192 * tree-ssa-tail-merge.c (same_succ_flush_bb): Handle BB_SAME_SUCC (bb) == NULL. * gcc.dg/pr81192.c: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@249893 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-tail-merge.c')
-rw-r--r--gcc/tree-ssa-tail-merge.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/tree-ssa-tail-merge.c b/gcc/tree-ssa-tail-merge.c
index db836f7187f..e88072c1836 100644
--- a/gcc/tree-ssa-tail-merge.c
+++ b/gcc/tree-ssa-tail-merge.c
@@ -809,6 +809,9 @@ static void
same_succ_flush_bb (basic_block bb)
{
same_succ *same = BB_SAME_SUCC (bb);
+ if (! same)
+ return;
+
BB_SAME_SUCC (bb) = NULL;
if (bitmap_single_bit_set_p (same->bbs))
same_succ_htab->remove_elt_with_hash (same, same->hashval);