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. See PR46395 for a test case.
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."