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."