aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-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 8c75c47..488fac9 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 7604346..bba4a99 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)))