"Encoding Compile Flags into the IR"? Yes, that's the same problem. Great! I can wait.
--kcc On Wed, Aug 22, 2012 at 9:55 PM, Eric Christopher <[email protected]>wrote: > > On Aug 22, 2012, at 12:20 AM, Kostya Serebryany <[email protected]> wrote: > > > Hello, > > > > I'd like to resurrect an old discussion: how to selectively disable > ThreadSanitizer (or AddressSanitizer, etc) instrumentation > > for particular functions. > > For AddressSanitizer we currently use a function attribute > "AddressSafety" (if it is not set, instrumentation does not happen), > > but Chris doesn't like this idea (attributes are a scarce resource) and > he suggested to use module-level metadata instead of an attribute. > > > > The attached clang patch adds such metadata node for all functions when > -fthread-sanitizer is given. > > If that is what we want, I'll gradually change AddressSanitizer to use > similar approach and will kill the "AddressSafety" attribute. > > > > BTW, the code looks like this: > > llvm::Value *Fn[] = { F }; ... > > llvm::MDNode::get(VMContext, Fn); > > Do we want this code to look like > > llvm::MDNode::get(VMContext, F); > > (i.e. to add more llvm::MDNode::get() methods)? > > Bill has been working on something similar for command line options and > LTO. There's still been some chatting about it, but Bill's planning on > updating the list in the next few days with what's going on if waiting a > bit is ok? > > -eric > >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
