[Bug rtl-optimization/85423] [8 Regression] ICE in code_motion_process_successors, at sel-sched.c:6403
abel at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Apr 21 11:01:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85423
Andrey Belevantsev <abel at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |abel at gcc dot gnu.org
--- Comment #4 from Andrey Belevantsev <abel at gcc dot gnu.org> ---
Sigh, I've put the condition that was too broad in the previous patch and also
allowed some legitimate dependencies between debug insns (so Alex was kind of
right when he expressed his concern). I'm testing the following after checking
that all of the previous PRs and this one passes:
diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c
index ee970522890..85ff5bd3eb4 100644
--- a/gcc/sel-sched-ir.c
+++ b/gcc/sel-sched-ir.c
@@ -3308,7 +3308,7 @@ has_dependence_note_dep (insn_t pro, ds_t ds
ATTRIBUTE_UNUSED)
that a bookkeeping copy should be movable as the original insn.
Detect that here and allow that movement if we allowed it before
in the first place. */
- if (DEBUG_INSN_P (real_con)
+ if (DEBUG_INSN_P (real_con) && !DEBUG_INSN_P (real_pro)
&& INSN_UID (NEXT_INSN (pro)) == INSN_UID (real_con))
return;
More information about the Gcc-bugs
mailing list