<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Jun 17, 2015 at 6:18 PM, Philip Reames <span dir="ltr"><<a href="mailto:listmail@philipreames.com" target="_blank">listmail@philipreames.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">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.  <br></div></blockquote><div><br></div><div>We should do an updated summary, but I've been busy.</div><div><br></div><div>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.</div><div><br></div><div>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.</div></div></div></div>