diff options
author | Tom de Vries <tom@codesourcery.com> | 2017-07-03 07:20:49 +0000 |
---|---|---|
committer | Tom de Vries <vries@gcc.gnu.org> | 2017-07-03 07:20:49 +0000 |
commit | 0bbfd5540d15befe675f8bac6a5aa55df9064436 (patch) | |
tree | 6b9e26dc612c92752cb02a9f4d674fe6ced5563f /gcc/tree-ssa-tail-merge.c | |
parent | 37623e6ccce9722b4a780bfc24191fc4b0236d23 (diff) | |
download | gcc-0bbfd5540d15befe675f8bac6a5aa55df9064436.zip gcc-0bbfd5540d15befe675f8bac6a5aa55df9064436.tar.gz gcc-0bbfd5540d15befe675f8bac6a5aa55df9064436.tar.bz2 |
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.
From-SVN: r249893
Diffstat (limited to 'gcc/tree-ssa-tail-merge.c')
-rw-r--r-- | gcc/tree-ssa-tail-merge.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/tree-ssa-tail-merge.c b/gcc/tree-ssa-tail-merge.c index db836f7..e88072c 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); |