<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<br>
<br>
<div class="moz-cite-prefix">On 02/01/2016 06:39 AM, JF Bastien via
llvm-dev wrote:<br>
</div>
<blockquote
cite="mid:CABdywOdqLZM_KBEVj2avBORVX_BHqZp4uHmZA54D8ONsDfz_iQ@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">On Sun, Jan 31, 2016 at 12:42 AM, Hal
Finkel via llvm-dev <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:llvm-dev@lists.llvm.org" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a></a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span
class="">----- Original Message -----<br>
> From: "Ben via llvm-dev Craig" <<a
moz-do-not-send="true"
href="mailto:llvm-dev@lists.llvm.org"><a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a></a>><br>
> To: <a moz-do-not-send="true"
href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
> Sent: Thursday, January 28, 2016 9:41:06 AM<br>
> Subject: Re: [llvm-dev] Adding sanity to the
Atomics implementation<br>
><br>
><br>
> I don't have much of substance to add, but I will
say that I like the<br>
> proposal (I too prefer Alternative A).<br>
<br>
</span>I also prefer alternative A.<br>
</blockquote>
<div><br>
</div>
<div>Same here: +1 to A.</div>
</div>
</div>
</div>
</blockquote>
Also, +1. <br>
<blockquote
cite="mid:CABdywOdqLZM_KBEVj2avBORVX_BHqZp4uHmZA54D8ONsDfz_iQ@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div><br>
</div>
<div>it makes it easier to support virtual ISAs. For targets
such as WebAssembly we don't know ahead-of time what's
atomic but we make certain assumptions (e.g. atomic_flag
has to be sufficiently sized to be lock-free). As David
pointed out this means that _Atomic and std::atomic have
to be "sufficiently sized" e.g. sizeof(T) ==
sizeof(std::atomic<T>) isn't guaranteed (the
guarantee is also there for other academic reasons, but I
don't think they matter in this case).</div>
<div><br>
</div>
<div>Another consideration: we want to get the atomic
optimizations, which option B would forbid because the
middle-end would see libcalls instead of atomics.</div>
</div>
</div>
</div>
</blockquote>
Strongly agreed with this part.<br>
<blockquote
cite="mid:CABdywOdqLZM_KBEVj2avBORVX_BHqZp4uHmZA54D8ONsDfz_iQ@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div><br>
</div>
<div>Also, I'd like LLVM to eventually be able to patch code
at load-time and transform maybe-lock-free operations into
the proper instruction or libcall.</div>
<div><br>
</div>
<div>Related to always lock-free: <a moz-do-not-send="true"
href="http://wg21.link/n4509">wg21.link/n4509</a></div>
<div>Note that C has macros that return never / sometimes /
always lock-free.</div>
</div>
</div>
</div>
<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>
</body>
</html>