re PR middle-end/11414 (Segementation fault compiling csets.adb)

PR middle-end/11414
	* loop.c (load_mems): Use redirect_jump to forward jumps from
	the original loop end label to the new "loop sink" block's label.

From-SVN: r72876
This commit is contained in:
Roger Sayle 2003-10-24 00:53:05 +00:00 committed by Roger Sayle
parent 9ab791c044
commit 1b24cd79cb
2 changed files with 11 additions and 13 deletions

View File

@ -1,3 +1,9 @@
2003-10-23 Roger Sayle <roger@eyesopen.com>
PR middle-end/11414
* loop.c (load_mems): Use redirect_jump to forward jumps from
the original loop end label to the new "loop sink" block's label.
2003-10-23 Roger Sayle <roger@eyesopen.com>
PR middle-end/12705

View File

@ -10005,20 +10005,12 @@ load_mems (const struct loop *loop)
}
}
/* Now, we need to replace all references to the previous exit
label with the new one. */
if (label != NULL_RTX && end_label != NULL_RTX)
{
/* Now, we need to replace all references to the previous exit
label with the new one. */
replace_label_data rr;
rr.r1 = end_label;
rr.r2 = label;
rr.update_label_nuses = true;
for (p = loop->start; p != loop->end; p = NEXT_INSN (p))
{
for_each_rtx (&p, replace_label, &rr);
}
}
for (p = loop->start; p != loop->end; p = NEXT_INSN (p))
if (GET_CODE (p) == JUMP_INSN && JUMP_LABEL (p) == end_label)
redirect_jump (p, label, false);
cselib_finish ();
}