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>
|
||||
|
||||
* 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;
|
||||
|
||||
/* 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;
|
||||
|
||||
/* Find the extent of the real code in the merge block. */
|
||||
|
Loading…
Reference in New Issue
Block a user