[LLVMdev] New EH representation for MSVC compatibility

Reid Kleckner rnk at google.com
Thu Jun 18 09:22:14 PDT 2015


On Wed, Jun 17, 2015 at 6:18 PM, Philip Reames <listmail at philipreames.com>
wrote:

> Since I haven't been following the thread closely, is there an updated
> summary of the original proposal available?  I know that various parts I
> had concerns with (the unsplitable blocks for instance) got addressed, but
> I'm having trouble tracking all the changes in discussion.  Even just a
> quick list of "and we changed X" would be helpful.
>

We should do an updated summary, but I've been busy.

We really do need to keep the unsplittable catchblocks, though.
Fundamentally, what we have is control flow described by data. This
proposal essentially adds LLVM instructions that model that data. We can't
insert real instructions like loads and stores between EH dispatch table
entries, so it's forbidden.

We can compensate for all the other CFG merging operations after the fact
by duplicating code, but it's really hard to pattern match back EH dispatch
once it's been allowed to round trip through memory, phis, GVN, etc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150618/b4682288/attachment.html>


More information about the llvm-dev mailing list