summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2017-01-12 22:29:43 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2017-01-12 22:29:43 +0100
commitb34f29a19deb8c59bd151d50435e28472f1d23ae (patch)
tree6964cd1bdd162148238167b927da6a6a64beabc7
parent940242cd07ef363026e6b231395edd2316b4c36a (diff)
downloadgcc-b34f29a19deb8c59bd151d50435e28472f1d23ae.tar.gz
re PR bootstrap/79069 (Bootstrap failure on s390x-linux while building libgo)
PR bootstrap/79069 * cfgrtl.c (rtl_tidy_fallthru_edge): For any_uncondjump_p that can't be removed due to side-effects, don't remove following barrier nor turn the successor edge into fallthru edge. From-SVN: r244383
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/cfgrtl.c4
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8c75c474421..488fac979f6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2017-01-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/79069
+ * cfgrtl.c (rtl_tidy_fallthru_edge): For any_uncondjump_p that can't
+ be removed due to side-effects, don't remove following barrier nor
+ turn the successor edge into fallthru edge.
+
2017-01-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/79044
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
index 760434609c5..bba4a99161a 100644
--- a/gcc/cfgrtl.c
+++ b/gcc/cfgrtl.c
@@ -1794,6 +1794,10 @@ rtl_tidy_fallthru_edge (edge e)
q = PREV_INSN (q);
}
+ /* Unconditional jumps with side-effects (i.e. which we can't just delete
+ together with the barrier) should never have a fallthru edge. */
+ else if (JUMP_P (q) && any_uncondjump_p (q))
+ return;
/* Selectively unlink the sequence. */
if (q != PREV_INSN (BB_HEAD (c)))