<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <br>
    <div class="moz-cite-prefix">On 07/01/2015 04:45 PM, David Majnemer
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAL7bZ_dC8-vkjp2AZdZiC2aGr==dSAx+LsK9zSsH0H2XFnhPMg@mail.gmail.com"
      type="cite">
      <div dir="ltr"><br>
        <div class="gmail_extra"><br>
          <div class="gmail_quote">On Wed, Jul 1, 2015 at 4:42 PM, David
            Majnemer <span dir="ltr"><<a moz-do-not-send="true"
                href="mailto:david.majnemer@gmail.com" target="_blank">david.majnemer@gmail.com</a>></span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div dir="ltr"><br>
                <div class="gmail_extra"><br>
                  <div class="gmail_quote"><span class="">On Wed, Jul 1,
                      2015 at 2:10 PM, Joseph Tremoulet <span dir="ltr"><<a
                          moz-do-not-send="true"
                          href="mailto:jotrem@microsoft.com"
                          target="_blank">jotrem@microsoft.com</a>></span>
                      wrote:<br>
                      <blockquote class="gmail_quote" style="margin:0 0
                        0 .8ex;border-left:1px #ccc
                        solid;padding-left:1ex">
                        <div link="blue" vlink="purple" lang="EN-US">
                          <div>
                            <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Hi,</span></p>
                            <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span></p>
                            <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">I'd
                                be interested in an updated summary as
                                well, especially any thoughts you have
                                on when the various pieces might come
                                online and where extra hands could be
                                helpful; we're eager to build our EH
                                support in LLILC on top of this.</span></p>
                          </div>
                        </div>
                      </blockquote>
                      <div><br>
                      </div>
                    </span>
                    <div>A preliminary step was to push personality
                      routines off of LandingPadInst and onto functions,
                      this is already in trunk.</div>
                    <div><br>
                    </div>
                    <div>On the IR front, we ended up with the following
                      set of instructions:</div>
                    <div><br>
                    </div>
                    <div>catcblock, catchret, cleanupblock, cleanupret,
                      terminateblock</div>
                    <div><br>
                    </div>
                    <div>Of these, I've locally added basic support for
                      catchblock, catchret and cleanupret.  I'm working
                      on cleanupblock and terminateblock as we speak.</div>
                    <div><br>
                    </div>
                    <div>We'll still need to hook up CodeGenPrep and
                      SDAG up to the new representation.</div>
                    <div><br>
                    </div>
                    <div>Extra hands will be appreciated auditing LLVM's
                      optimizations to ensure that they do not
                      miscompile in the face of our new instructions.</div>
                  </div>
                </div>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>And I forgot to mention: I hope to see the new
              instructions out for review by the end of the week.</div>
          </div>
        </div>
      </div>
    </blockquote>
    I look forward to these patches.  Please CC me as a reviewer so that
    I see them; I'm a bit behind on commit traffic at the moment.<br>
    <br>
    Please make sure the LangRef changes are reasonable complete when
    you post the patch.  The semantics will be the part I'm most
    concerned about.  <br>
    <blockquote
cite="mid:CAL7bZ_dC8-vkjp2AZdZiC2aGr==dSAx+LsK9zSsH0H2XFnhPMg@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div> </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div dir="ltr">
                <div class="gmail_extra">
                  <div class="gmail_quote">
                    <div><br>
                    </div>
                    <blockquote class="gmail_quote" style="margin:0 0 0
                      .8ex;border-left:1px #ccc solid;padding-left:1ex"><span
                        class="">
                        <div link="blue" vlink="purple" lang="EN-US">
                          <div>
                            <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"></span></p>
                            <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span></p>
                            <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Thanks</span></p>
                            <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">-Joseph</span></p>
                            <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span></p>
                            <p class="MsoNormal"><a
                                moz-do-not-send="true"
                                name="14e4c007901a6a59_14e4b7ad6822f4de__MailEndCompose"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span></a></p>
                            <p class="MsoNormal"><b><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif"">From:</span></b><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif"">
                                <a moz-do-not-send="true"
                                  href="mailto:llvmdev-bounces@cs.uiuc.edu"
                                  target="_blank">llvmdev-bounces@cs.uiuc.edu</a>
                                [mailto:<a moz-do-not-send="true"
                                  href="mailto:llvmdev-bounces@cs.uiuc.edu"
                                  target="_blank">llvmdev-bounces@cs.uiuc.edu</a>]
                                <b>On Behalf Of </b>Reid Kleckner<br>
                                <b>Sent:</b> Thursday, June 18, 2015
                                12:22 PM<br>
                                <b>To:</b> Philip Reames<br>
                                <b>Cc:</b> Nick Lewycky; LLVM Developers
                                Mailing List<br>
                                <b>Subject:</b> Re: [LLVMdev] New EH
                                representation for MSVC compatibility</span></p>
                            <div>
                              <div>
                                <p class="MsoNormal"> </p>
                                <div>
                                  <div>
                                    <div>
                                      <p class="MsoNormal">On Wed, Jun
                                        17, 2015 at 6:18 PM, Philip
                                        Reames <<a
                                          moz-do-not-send="true"
                                          href="mailto:listmail@philipreames.com"
                                          target="_blank">listmail@philipreames.com</a>>
                                        wrote:</p>
                                      <blockquote
                                        style="border:none;border-left:solid
                                        #cccccc 1.0pt;padding:0in 0in
                                        0in
                                        6.0pt;margin-left:4.8pt;margin-right:0in">
                                        <div>
                                          <p class="MsoNormal">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.
                                             </p>
                                        </div>
                                      </blockquote>
                                      <div>
                                        <p class="MsoNormal"> </p>
                                      </div>
                                      <div>
                                        <p class="MsoNormal">We should
                                          do an updated summary, but
                                          I've been busy.</p>
                                      </div>
                                      <div>
                                        <p class="MsoNormal"> </p>
                                      </div>
                                      <div>
                                        <p class="MsoNormal">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.</p>
                                      </div>
                                      <div>
                                        <p class="MsoNormal"> </p>
                                      </div>
                                      <div>
                                        <p class="MsoNormal">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.</p>
                                      </div>
                                    </div>
                                  </div>
                                </div>
                              </div>
                            </div>
                          </div>
                        </div>
                        <br>
                      </span><span class="">_______________________________________________<br>
                        LLVM Developers mailing list<br>
                        <a moz-do-not-send="true"
                          href="mailto:LLVMdev@cs.uiuc.edu"
                          target="_blank">LLVMdev@cs.uiuc.edu</a>       
                         <a moz-do-not-send="true"
                          href="http://llvm.cs.uiuc.edu"
                          rel="noreferrer" target="_blank">http://llvm.cs.uiuc.edu</a><br>
                        <a moz-do-not-send="true"
                          href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev"
                          rel="noreferrer" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
                        <br>
                      </span></blockquote>
                  </div>
                  <br>
                </div>
              </div>
            </blockquote>
          </div>
          <br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a class="moz-txt-link-freetext" href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>