sched-rgn.c (add_branch_dependences): Don't allow insns that throw to move away from the end of the block.
* sched-rgn.c (add_branch_dependences): Don't allow insns that throw to move away from the end of the block. From-SVN: r50548
This commit is contained in:
parent
32810ba3df
commit
8d8a083e9c
2 changed files with 10 additions and 4 deletions
|
@ -1,3 +1,8 @@
|
|||
2002-03-10 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* sched-rgn.c (add_branch_dependences): Don't allow insns that throw
|
||||
to move away from the end of the block.
|
||||
|
||||
2002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
|
||||
|
||||
PR preprocessor/5899
|
||||
|
|
|
@ -2277,10 +2277,10 @@ add_branch_dependences (head, tail)
|
|||
{
|
||||
rtx insn, last;
|
||||
|
||||
/* For all branches, calls, uses, clobbers, and cc0 setters, force them
|
||||
to remain in order at the end of the block by adding dependencies and
|
||||
giving the last a high priority. There may be notes present, and
|
||||
prev_head may also be a note.
|
||||
/* For all branches, calls, uses, clobbers, cc0 setters, and instructions
|
||||
that can throw exceptions, force them to remain in order at the end of
|
||||
the block by adding dependencies and giving the last a high priority.
|
||||
There may be notes present, and prev_head may also be a note.
|
||||
|
||||
Branches must obviously remain at the end. Calls should remain at the
|
||||
end since moving them results in worse register allocation. Uses remain
|
||||
|
@ -2293,6 +2293,7 @@ add_branch_dependences (head, tail)
|
|||
|| (GET_CODE (insn) == INSN
|
||||
&& (GET_CODE (PATTERN (insn)) == USE
|
||||
|| GET_CODE (PATTERN (insn)) == CLOBBER
|
||||
|| can_throw_internal (insn)
|
||||
#ifdef HAVE_cc0
|
||||
|| sets_cc0_p (PATTERN (insn))
|
||||
#endif
|
||||
|
|
Loading…
Add table
Reference in a new issue