aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2015-04-14 15:24:53 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2015-04-14 15:24:53 +0200
commitb3a3ae0934e08c54835855e794d50ee804eaff65 (patch)
tree69186c5617ba843643a58bafef5b351f811391c6
parent1b4c5bf0fbede4fad83d49765214d09fe33ce126 (diff)
downloadgcc-b3a3ae0934e08c54835855e794d50ee804eaff65.zip
gcc-b3a3ae0934e08c54835855e794d50ee804eaff65.tar.gz
gcc-b3a3ae0934e08c54835855e794d50ee804eaff65.tar.bz2
re PR rtl-optimization/65761 (internal compiler error: in patch_jump_insn, at cfgrtl.c:1296)
PR rtl-optimization/65761 * cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)). From-SVN: r222090
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/cfgrtl.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6dd82e3..33c3d92 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2015-04-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/65761
+ * cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use
+ get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)).
+
2015-04-14 Richard Biener <rguenther@suse.de>
* graphite-scop-detection.c: Do not include cp/cp-tree.h.
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
index 0e27edd..46fd958 100644
--- a/gcc/cfgrtl.c
+++ b/gcc/cfgrtl.c
@@ -1928,7 +1928,7 @@ rtl_split_edge (edge edge_in)
&& (edge_in->flags & EDGE_CROSSING))
{
after = last_bb_in_partition (edge_in->src);
- before = NEXT_INSN (BB_END (after));
+ before = get_last_bb_insn (after);
/* The instruction following the last bb in partition should
be a barrier, since it cannot end in a fall-through. */
gcc_checking_assert (BARRIER_P (before));