Hi,

On Mon, 19 Mar 2012, Steven Bosscher wrote:

> On Mon, Mar 19, 2012 at 4:41 PM, Richard Guenther <rguent...@suse.de> wrote:
> > Comments?
> 
> What does rtl_eh do for no-SJLJ exceptions?

Emitting the landing pad code (copy-out from EH_RETURN_DATA_REGNO, or 
target specific code) and redirecting edges to that one.

> (Can/should we move that code to GIMPLE?)

We could, but for the sjlj case it's some work to rework the whole 
thing to gimple, and for bb-reorder we at least need the dwarf landing pad 
expander also on RTL (meaning also the target expander for that).  Not 
much gain there, so IMO we shouldn't.

We could also do away with the separation of landing pad and post landing 
pad (e.g. by a new _builtin_landing_pad_magic()), but that would get rid 
of the RTL redirecting of edges only for the dwarf case, as the sjlj still 
would rewrite the CFG by emitting explicit switch statements.  Might be 
slightly nicer nevertheless, but also not terribly important gain.


Ciao,
Michael.

Reply via email to