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