On 08/10/2009 08:20 AM, Michael Matz wrote:
It's not that they _create_ side-effects, but they depend on some.
Ah, fair enough. I hadn't actually thought that all through.
Btw, it's really wonderful that someone tackles EH-on-gimple ;-)
I hadn't been planning on it, but my trans-mem branch is stalled on the dominator-breaking representation we have in gimple atm. I tried fixing that, but ran quite afoul of Honza's critical edge splitting pass. There's absolutely no way to split a resx edge in the current representation, and we're saved only by the fact that resx statements don't have edges at the moment. Though you wouldn't know it by looking at the code. Lots of places seem to think resx should have edges. But deep down in the middle you'd find that resx doesn't satisfy stmt_could_throw_p, which stops the eh edge creation right in its tracks. So it seems there's nothing to do but rewrite it all. ;-) r~