<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 01/12/2017 06:20 PM, Reid Kleckner
      via llvm-dev wrote:<br>
    </div>
    <blockquote
cite="mid:CACs=tyKWmdPAQGJkJdrF9xdov-TnV02ofpPURjMGo7rwo28V8w@mail.gmail.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">On Wed, Jan 11, 2017 at 8:13 PM,
            Mehdi Amini <span dir="ltr"><<a moz-do-not-send="true"
                href="mailto:mehdi.amini@apple.com" target="_blank">mehdi.amini@apple.com</a>></span>
            wrote:
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div style="word-wrap:break-word">
                <div>
                  <div>Can you elaborate why? I’m curious.</div>
                </div>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>The con of proposal c was that many passes would need
              to learn about many region intrinsics. With tokens, you
              only need to teach all passes about tokens, which they
              should already know about because WinEH and other things
              use them.</div>
            <div><br>
            </div>
            <div>With tokens, we can add as many region-introducing
              intrinsics as makes sense without any additional cost to
              the middle end. We don't need to make one omnibus region
              intrinsic set that describes every parallel loop
              annotation scheme supported by LLVM. Instead we would
              factor things according to other software design
              considerations.</div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    I think that, unless we allow frontends to add their own intrinsics
    without recompiling LLVM, this severely restricts the usefulness of
    this feature. The motivation here is to support frontends inserting
    custom region annotations which are handled by custom passes the
    frontends inject into the (end of the) pipeline.<br>
    <br>
     -Hal<br>
    <br>
    <blockquote
cite="mid:CACs=tyKWmdPAQGJkJdrF9xdov-TnV02ofpPURjMGo7rwo28V8w@mail.gmail.com"
      type="cite">
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory</pre>
  </body>
</html>