ifcvt.c (dead_or_predicable): Don't move code if eh regions would be disrupted.
* ifcvt.c (dead_or_predicable): Don't move code if eh regions would be disrupted. From-SVN: r39843
This commit is contained in:
parent
e0fff4b3a7
commit
3bd2411724
@ -1,3 +1,8 @@
|
|||||||
|
2001-02-18 Richard Henderson <rth@redhat.com>
|
||||||
|
|
||||||
|
* ifcvt.c (dead_or_predicable): Don't move code if eh regions
|
||||||
|
would be disrupted.
|
||||||
|
|
||||||
2001-02-18 Richard Henderson <rth@redhat.com>
|
2001-02-18 Richard Henderson <rth@redhat.com>
|
||||||
|
|
||||||
* config/ns32k/ns32k.h (ADJSP): Upcase arguments.
|
* config/ns32k/ns32k.h (ADJSP): Upcase arguments.
|
||||||
|
@ -1855,6 +1855,15 @@ dead_or_predicable (test_bb, merge_bb, other_bb, new_dest, reversep)
|
|||||||
{
|
{
|
||||||
rtx head, end, jump, earliest, old_dest;
|
rtx head, end, jump, earliest, old_dest;
|
||||||
|
|
||||||
|
/* No code movement can occur if we'd be scrogging EH regions.
|
||||||
|
Within MERGE_BB, ensure that we've not got stray EH_BEG or EH_END
|
||||||
|
notes within the block. Between the blocks, checking that the end
|
||||||
|
region numbers match ensures that we won't disrupt the nesting
|
||||||
|
between regions. */
|
||||||
|
if (merge_bb->eh_beg != merge_bb->eh_end
|
||||||
|
|| merge_bb->eh_end != test_bb->eh_end)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
jump = test_bb->end;
|
jump = test_bb->end;
|
||||||
|
|
||||||
/* Find the extent of the real code in the merge block. */
|
/* Find the extent of the real code in the merge block. */
|
||||||
|
Loading…
Reference in New Issue
Block a user