re PR gcov-profile/59527 (ICE: in fixup_reorder_chain, at cfgrtl.c:3739 during PGO...
authorTeresa Johnson <tejohnson@google.com>
Tue, 17 Dec 2013 22:35:38 +0000 (22:35 +0000)
committerTeresa Johnson <tejohnson@gcc.gnu.org>
Tue, 17 Dec 2013 22:35:38 +0000 (22:35 +0000)
2013-12-17  Teresa Johnson  <tejohnson@google.com>

PR gcov-profile/59527
* cfgrtl.c (fixup_reorder_chain): Handle a region-crossing
        branch, which can't be eliminated.

From-SVN: r206072

gcc/ChangeLog
gcc/cfgrtl.c

index 2c10c04..a90f8af 100644 (file)
@@ -1,3 +1,9 @@
+2013-12-17  Teresa Johnson  <tejohnson@google.com>
+
+       PR gcov-profile/59527
+       * cfgrtl.c (fixup_reorder_chain): Handle a region-crossing
+       branch, which can't be eliminated.
+
 2013-12-18  Martin Liska  <marxin.liska@gmail.com>
            Jan Hubicka  <jh@suse.cz>
 
index 1a63249..18e65bd 100644 (file)
@@ -3736,7 +3736,8 @@ fixup_reorder_chain (void)
              if (!e_fall)
                {
                  gcc_assert (!onlyjump_p (bb_end_insn)
-                             || returnjump_p (bb_end_insn));
+                             || returnjump_p (bb_end_insn)
+                              || (e_taken->flags & EDGE_CROSSING));
                  emit_barrier_after (bb_end_insn);
                  continue;
                }