Hello, <div>Please review the following updated patch. </div><div>TBAA should be generated for ThreadSanitizer regardless of opt level and relaxed-aliasing. </div><div><br></div><div>Thanks,</div><div>--kcc </div><div><br>
</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br><br><div class="gmail_quote">On Wed, Apr 11, 2012 at 4:37 AM, Kostya Serebryany <span dir="ltr"><<a href="mailto:kcc@google.com">kcc@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">ping? <div class="HOEnZb"><div class="h5"><div><br></div><div><br><div class="gmail_quote">On Thu, Apr 5, 2012 at 5:17 PM, Kostya Serebryany <span dir="ltr"><<a href="mailto:kcc@google.com" target="_blank">kcc@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br><br><div class="gmail_quote"><div><div>On Thu, Apr 5, 2012 at 1:56 PM, Chris Lattner <span dir="ltr"><<a href="mailto:clattner@apple.com" target="_blank">clattner@apple.com</a>></span> wrote:<br><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><br><div><div>On Apr 5, 2012, at 10:50 AM, Kostya Serebryany wrote:</div><br><blockquote type="cite"><br><br><div class="gmail_quote">On Thu, Apr 5, 2012 at 10:37 AM, Chris Lattner <span dir="ltr"><<a href="mailto:clattner@apple.com" target="_blank">clattner@apple.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div><br>
On Apr 5, 2012, at 9:43 AM, Kostya Serebryany wrote:<br>
<br>
> Hello,<br>
><br>
> Please review the following patch:<br>
> ThreadSanitizer instrumentation relies on TBAA for correctness, so we need to generate TBAA at "-O0 -fthread-sanitizer".<br>
<br>
</div></div>This is close, but not the right solution.  TBAA can cause a semantic change when enabled (though I admit it is unlikely given that nearly all of the optimizers are disabled at -O0).<br>
<br>
The right fix is for TSAN to generate *vtable* TBAA info, but not other TBAA info.<br></blockquote><div><br></div><div>Ok... </div><div>Do you mean that we need to check "CodeGenOpts.OptimizationLevel > 0" inside CodeGenTBAA methods? </div>



<div>Or pass a flag to CodeGenTBAA::CodeGenTBAA saying that we need only vtable TBAA?</div></div></blockquote><br></div></div></div><div>The former is probably the right way.</div></div></blockquote><div><br></div></div>

</div><div>New patch attached, please take a look. </div>
<div><br></div><div>Alternatively we may create a CodeGenTBAA object unconditionally and check all the flags</div><div>(CodeGenOpts.RelaxedAliasing, CodeGenOpts.OptimizationLevel, LangOpts.ThreadSanitizer)</div><div>inside CodeGenTBAA methods.</div>


<div><br></div><div>--kcc </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><span><font color="#888888"><div>
<br></div><div>-Chris</div><br></font></span></div>
</blockquote></div><br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>