diff options
author | Jakub Jelinek <jakub@redhat.com> | 2017-11-10 00:58:51 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2017-11-10 00:58:51 +0100 |
commit | e9b8a6284773c0043fe160db62fa834c9b6a5cab (patch) | |
tree | bfc2910581648bb0cec45bb071249e0816346648 /gcc/compare-elim.c | |
parent | 89759031c533742283a5dbad7674563dca663ec3 (diff) | |
download | gcc-e9b8a6284773c0043fe160db62fa834c9b6a5cab.zip gcc-e9b8a6284773c0043fe160db62fa834c9b6a5cab.tar.gz gcc-e9b8a6284773c0043fe160db62fa834c9b6a5cab.tar.bz2 |
re PR rtl-optimization/82913 (ICE: Segmentation fault in try_merge_compare)
PR rtl-optimization/82913
* compare-elim.c (try_merge_compare): Punt if def_insn is not
single set.
* gcc.c-torture/compile/pr82913.c: New test.
From-SVN: r254614
Diffstat (limited to 'gcc/compare-elim.c')
-rw-r--r-- | gcc/compare-elim.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/compare-elim.c b/gcc/compare-elim.c index 17d0884..b34a07f 100644 --- a/gcc/compare-elim.c +++ b/gcc/compare-elim.c @@ -683,6 +683,8 @@ try_merge_compare (struct comparison *cmp) rtx_insn *def_insn = cmp->in_a_setter; rtx set = single_set (def_insn); + if (!set) + return false; if (!can_merge_compare_into_arith (cmp_insn, def_insn)) return false; |