<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>