Re: reload_combine vs. exceptions

2010-11-15 Thread Eric Botcazou
> Ahh, you mean something like this? (Fixes the testcase, but not > properly tested yet.) Yes, but I think you still need the regular treatment for these CALL_INSNs: Index: postreload.c === --- postreload.c(revision 166701)

Re: reload_combine vs. exceptions

2010-11-15 Thread Andreas Schwab
Eric Botcazou writes: >> JUMP_INSNs already invalidate the register use information. The problem >> is that CALL_INSNs that can throw don't. > > Sure, that's precisely what I was suggesting to change, like in rev 162301. Ahh, you mean something like this? (Fixes the testcase, but not properly

Re: reload_combine vs. exceptions

2010-11-15 Thread Eric Botcazou
> JUMP_INSNs already invalidate the register use information. The problem > is that CALL_INSNs that can throw don't. Sure, that's precisely what I was suggesting to change, like in rev 162301. -- Eric Botcazou

Re: reload_combine vs. exceptions

2010-11-15 Thread Andreas Schwab
Eric Botcazou 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 registe

Re: reload_combine vs. exceptions

2010-11-15 Thread Eric Botcazou
> 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 shou