<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 15, 2016 at 10:43 AM, Anna Zaks <span dir="ltr"><<a href="mailto:zaks.anna@gmail.com" target="_blank">zaks.anna@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">zaks.anna added a comment.<br>
<br>
dvyukov's point is that there are no "benign races" based on LLVM semantics. People might argue that their race is benign because it will result in atomic reads/writes on the architectures they care about. </blockquote><div><br></div><div>It is not about this assumption, but more about racy counter updates not being a problem practically  (other than the precision of the profile data might be affected slightly in practice).</div><div><br></div><div>David</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">However, in that case, they should annotate their loads and stores as atomic explicitly, which would lower to no-op on the architectures they care about but will also be modeled correctly at the LLVM level. (TSan's pass reasons about LLVM semantics.) This is why I suggested to use "Monotonic". (<a href="http://llvm.org/docs/Atomics.html#id10" rel="noreferrer" target="_blank">http://llvm.org/docs/Atomics.html#id10</a>)<br></blockquote><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
<a href="http://reviews.llvm.org/D18164" rel="noreferrer" target="_blank">http://reviews.llvm.org/D18164</a><br>
<br>
<br>
<br>
</blockquote></div><br></div></div>