This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: PPC EH failure
> On Thu, Mar 07, 2002 at 05:01:42PM +0100, Jan Hubicka wrote:
> > It is obviously incorrect to move the use
> > after EH_REGION insn and sheduler already do contain code:
> > /* If this instruction can throw an exception, then moving it changes
> > where block boundaries fall. This is mighty confusing elsewhere.
> > Therefore, prevent such an instruction from being moved. */
> > if (can_throw_internal (insn))
> > reg_pending_barrier = true;
> > that does care it, but it does not hit on use as it barriers only registers,
>
> Grr. Ok, fix this by changing sched-rgn.c add_branch_dependences
>
> while (GET_CODE (insn) == CALL_INSN
> || GET_CODE (insn) == JUMP_INSN
> || (GET_CODE (insn) == INSN
> && (GET_CODE (PATTERN (insn)) == USE
> || GET_CODE (PATTERN (insn)) == CLOBBER
> + || can_throw_internal (insn)
I see. Would you mind installing the change? I am on the trip right now
with limited time for gcc...
Thanks! I expected there must be something I missed.
Honza