re PR bootstrap/79069 (Bootstrap failure on s390x-linux while building libgo)
authorJakub Jelinek <jakub@redhat.com>
Thu, 12 Jan 2017 21:29:43 +0000 (22:29 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 12 Jan 2017 21:29:43 +0000 (22:29 +0100)
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

gcc/ChangeLog
gcc/cfgrtl.c

index 8c75c4744219cd750a13bba5982c2d94ad4d7176..488fac979f67015dd1143b6715c3868aace86591 100644 (file)
@@ -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
index 760434609c5dfb33fd3ad91ac5b5c8d59651fd02..bba4a99161a4b407e67ef5f2f8bb77b0a4836866 100644 (file)
@@ -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)))