aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2011-01-26 05:59:53 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2011-01-26 05:59:53 +0000
commit48bb58b1bb6742355f4da7c4be6421a38df5bd8d (patch)
treedb2e7a77585aea3a927eb65484b997f9e5ff7c62 /gcc
parent58c741a62e5f940a8e6f26b3154eebed3c03a466 (diff)
downloadgcc-48bb58b1bb6742355f4da7c4be6421a38df5bd8d.zip
gcc-48bb58b1bb6742355f4da7c4be6421a38df5bd8d.tar.gz
gcc-48bb58b1bb6742355f4da7c4be6421a38df5bd8d.tar.bz2
re PR debug/45454 (ICE: in verify_target_availability, at sel-sched.c:1614)
PR debug/45454 * sel-sched.c (moveup_expr): Don't let debug insns prevent non-debug insns from moving up. From-SVN: r169275
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/sel-sched.c9
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 71ae981..9bd387c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2011-01-26 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/45454
+ * sel-sched.c (moveup_expr): Don't let debug insns prevent
+ non-debug insns from moving up.
+
2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
PR target/40125
diff --git a/gcc/sel-sched.c b/gcc/sel-sched.c
index d40885c..e26ddac 100644
--- a/gcc/sel-sched.c
+++ b/gcc/sel-sched.c
@@ -2142,6 +2142,15 @@ moveup_expr (expr_t expr, insn_t through_insn, bool inside_insn_group,
ds_t *has_dep_p;
ds_t full_ds;
+ /* ??? We use dependencies of non-debug insns on debug insns to
+ indicate that the debug insns need to be reset if the non-debug
+ insn is pulled ahead of it. It's hard to figure out how to
+ introduce such a notion in sel-sched, but it already fails to
+ support debug insns in other ways, so we just go ahead and
+ let the deug insns go corrupt for now. */
+ if (DEBUG_INSN_P (through_insn) && !DEBUG_INSN_P (insn))
+ return MOVEUP_EXPR_SAME;
+
/* When inside_insn_group, delegate to the helper. */
if (inside_insn_group)
return moveup_expr_inside_insn_group (expr, through_insn);