aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@codesourcery.com>2011-08-05 18:22:36 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2011-08-05 18:22:36 +0000
commit2c331232e9ae426fc338928650355ecfab176290 (patch)
tree3b0691811f79a6103d1c1443b06988b05ff378a8 /gcc
parent44e9520681e7911fd6af8c180a1435a74c340a03 (diff)
downloadgcc-2c331232e9ae426fc338928650355ecfab176290.zip
gcc-2c331232e9ae426fc338928650355ecfab176290.tar.gz
gcc-2c331232e9ae426fc338928650355ecfab176290.tar.bz2
re PR rtl-optimization/49900 (ICE in advance_target_bb, at sched-ebb.c:691)
PR rtl-optimization/49900 * sched-ebb.c (add_deps_for_risky_insns): Also add dependencies to ensure basic blocks stay in the same order. From-SVN: r177475
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/sched-ebb.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2e897ae..ba172aa 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2011-08-05 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/49900
+ * sched-ebb.c (add_deps_for_risky_insns): Also add dependencies to
+ ensure basic blocks stay in the same order.
+
2011-08-05 Aldy Hernandez <aldyh@redhat.com>
* config/s390/s390.c (s390_expand_cs_hqi): Add new arguments to
diff --git a/gcc/sched-ebb.c b/gcc/sched-ebb.c
index 726c7c6..ca0e144 100644
--- a/gcc/sched-ebb.c
+++ b/gcc/sched-ebb.c
@@ -397,6 +397,9 @@ add_deps_for_risky_insns (rtx head, rtx tail)
bb = BLOCK_FOR_INSN (insn);
bb->aux = last_block;
last_block = bb;
+ /* Ensure blocks stay in the same order. */
+ if (last_jump)
+ add_dependence (insn, last_jump, REG_DEP_ANTI);
last_jump = insn;
}
else if (INSN_P (insn) && last_jump != NULL_RTX)