This is the mail archive of the gcc-patches@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: Do not produce empty try-finally statements


> 
> Yes.  Say, this could be surrounded by some try/catch, if we do it the first
> way, a would be still considered live across the EH path to whatever catches
> it.
> 
> The EH optimizations involving cleanups with only clobbers in them are that
> if at the end of the cleanup after only CLOBBER stmts you would rethrow the exception
> externally, then the clobber isn't needed and the whole cleanup can be
> removed.  And, if it rethrows somewhere internally, we can move the clobber
> stmts to the landing pad of wherever it would be caught.

OK, I still do not see how ehclanup1 can then safely remove them pre-inline
given that the whole function body can be inlined into another containing the
outer EH region.  If this is valid, why we can not just eliminate EH in those
outer clobber try..finally as part of ehlowering earlier?

Honza
> 
> 	Jakub


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