Eric Botcazou <ebotca...@adacore.com> writes:

>> It appears that reload_combine does not take exceptions into account.
>> When it encounters a BARRIER it forgets all register uses after this
>> point.  But an exception can transfer control to any of the CODE_LABELs
>> and jump back to after the BARRIER, with the registers still in use.
>
> There should be nothing special to do, as the control flow transfer should be 
> represented in the RTL by means of a control_flow_insn_p insn.

In which way? reload_combine_recognize_pattern does not look at
last_jump_ruid.

> Perhaps the related change made by Bernd in rev 162301 should be
> extended to the JUMP_P block a few lines below?

JUMP_INSNs already invalidate the register use information.  The problem
is that CALL_INSNs that can throw don't.

Andreas.

-- 
Andreas Schwab, sch...@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

Reply via email to