cfgrtl.c (rtl_merge_blocks): Call maybe_remove_eh_handler on labels we want to delete.
* cfgrtl.c (rtl_merge_blocks): Call maybe_remove_eh_handler on labels we want to delete. (cfg_layout_merge_blocks): Likewise. From-SVN: r102512
This commit is contained in:
parent
b188ebb19e
commit
2c97f8e4f3
|
@ -1,3 +1,9 @@
|
||||||
|
2005-07-28 Richard Henderson <rth@redhat.com>
|
||||||
|
|
||||||
|
* cfgrtl.c (rtl_merge_blocks): Call maybe_remove_eh_handler on
|
||||||
|
labels we want to delete.
|
||||||
|
(cfg_layout_merge_blocks): Likewise.
|
||||||
|
|
||||||
2005-07-28 Richard Henderson <rth@redhat.com>
|
2005-07-28 Richard Henderson <rth@redhat.com>
|
||||||
|
|
||||||
PR target/17692
|
PR target/17692
|
||||||
|
|
10
gcc/cfgrtl.c
10
gcc/cfgrtl.c
|
@ -539,6 +539,10 @@ rtl_merge_blocks (basic_block a, basic_block b)
|
||||||
/* If there was a CODE_LABEL beginning B, delete it. */
|
/* If there was a CODE_LABEL beginning B, delete it. */
|
||||||
if (LABEL_P (b_head))
|
if (LABEL_P (b_head))
|
||||||
{
|
{
|
||||||
|
/* This might have been an EH label that no longer has incoming
|
||||||
|
EH edges. Update data structures to match. */
|
||||||
|
maybe_remove_eh_handler (b_head);
|
||||||
|
|
||||||
/* Detect basic blocks with nothing but a label. This can happen
|
/* Detect basic blocks with nothing but a label. This can happen
|
||||||
in particular at the end of a function. */
|
in particular at the end of a function. */
|
||||||
if (b_head == b_end)
|
if (b_head == b_end)
|
||||||
|
@ -2733,7 +2737,13 @@ cfg_layout_merge_blocks (basic_block a, basic_block b)
|
||||||
|
|
||||||
/* If there was a CODE_LABEL beginning B, delete it. */
|
/* If there was a CODE_LABEL beginning B, delete it. */
|
||||||
if (LABEL_P (BB_HEAD (b)))
|
if (LABEL_P (BB_HEAD (b)))
|
||||||
|
{
|
||||||
|
/* This might have been an EH label that no longer has incoming
|
||||||
|
EH edges. Update data structures to match. */
|
||||||
|
maybe_remove_eh_handler (BB_HEAD (b));
|
||||||
|
|
||||||
delete_insn (BB_HEAD (b));
|
delete_insn (BB_HEAD (b));
|
||||||
|
}
|
||||||
|
|
||||||
/* We should have fallthru edge in a, or we can do dummy redirection to get
|
/* We should have fallthru edge in a, or we can do dummy redirection to get
|
||||||
it cleaned up. */
|
it cleaned up. */
|
||||||
|
|
Loading…
Reference in New Issue