This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Exception handling problem: return address dead


On Tue, Nov 20, 2001 at 06:25:28PM -0800, Boehm, Hans wrote:
> <stuff 1>
> r36 = b0
> <stuff 2>
> conditional branch to L1
> <code that returns normally>
> L1:
> <code that always raises an exception. Without my patch r36 is dead here>
> 
> Since r36 is dead if the branch is taken, the scheduler appears to decide
> that it's OK to move the save of b0 to below the branch.  As far as I can
> tell, this is correct based on the information it currently has.

Hmm.  Yes, I can see that that would be a problem.  I think we need
a new target hook akin to EPILOGUE_USES, perhaps called EH_USES, 
that forces particular registers live at EH edges.

I'll see about this soonish.


r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]