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 > >
tbaa-O0.patch
Description: Binary data
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
