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.