<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jan 12, 2017, at 5:02 PM, Hal Finkel <<a href="mailto:hfinkel@anl.gov" class="">hfinkel@anl.gov</a>> wrote:</div><div class=""><div bgcolor="#FFFFFF" text="#000000" class=""><p class="">On 01/12/2017 06:20 PM, Reid Kleckner
      via llvm-dev wrote:</p>
    <blockquote cite="mid:CACs=tyKWmdPAQGJkJdrF9xdov-TnV02ofpPURjMGo7rwo28V8w@mail.gmail.com" type="cite" class="">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" class="">
      <div dir="ltr" class="">
        <div class="gmail_extra">
          <div class="gmail_quote">On Wed, Jan 11, 2017 at 8:13 PM,
            Mehdi Amini <span dir="ltr" class=""><<a moz-do-not-send="true" href="mailto:mehdi.amini@apple.com" target="_blank" class="">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" class="">
                <div class="">
                  <div class="">Can you elaborate why? I’m curious.</div>
                </div>
              </div>
            </blockquote>
            <div class=""><br class="">
            </div>
            <div class="">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 class=""><br class="">
            </div>
            <div class="">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 class="">
    I think that, unless we allow frontends to add their own intrinsics
    without recompiling LLVM, this severely restricts the usefulness of
    this feature.</div></div></blockquote><div><br class=""></div><div>I’m not convinced that “building a frontend without recompiling LLVM while injecting custom passes” is a strong compelling use-case, i.e. can you explain why requiring such use-case/frontends to rebuild LLVM is so limiting?</div><div><br class=""></div><div>Thanks,</div><div><br class=""></div><div>— </div><div>Mehdi</div><div><br class=""></div></div></body></html>