On Thu, Apr 5, 2012 at 1:56 PM, Chris Lattner <[email protected]> wrote:

>
> On Apr 5, 2012, at 10:50 AM, Kostya Serebryany wrote:
>
>
>
> On Thu, Apr 5, 2012 at 10:37 AM, Chris Lattner <[email protected]> wrote:
>
>>
>> On Apr 5, 2012, at 9:43 AM, Kostya Serebryany wrote:
>>
>> > Hello,
>> >
>> > Please review the following patch:
>> > ThreadSanitizer instrumentation relies on TBAA for correctness, so we
>> need to generate TBAA at "-O0 -fthread-sanitizer".
>>
>> 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).
>>
>> The right fix is for TSAN to generate *vtable* TBAA info, but not other
>> TBAA info.
>>
>
> Ok...
> Do you mean that we need to check "CodeGenOpts.OptimizationLevel > 0"
> inside CodeGenTBAA methods?
> Or pass a flag to CodeGenTBAA::CodeGenTBAA saying that we need only vtable
> TBAA?
>
>
> The former is probably the right way.
>

New patch attached, please take a look.

Alternatively we may create a CodeGenTBAA object unconditionally and check
all the flags
(CodeGenOpts.RelaxedAliasing, CodeGenOpts.OptimizationLevel,
LangOpts.ThreadSanitizer)
inside CodeGenTBAA methods.

--kcc


>
> -Chris
>
>

Attachment: tbaa-O0.patch
Description: Binary data

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to