[llvm-bugs] [Bug 30686] New: tread tsan llvm flags to driver

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Oct 13 01:12:04 PDT 2016


https://llvm.org/bugs/show_bug.cgi?id=30686

            Bug ID: 30686
           Summary: tread tsan llvm flags to driver
           Product: clang
           Version: trunk
          Hardware: All
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Driver
          Assignee: unassignedclangbugs at nondot.org
          Reporter: dvyukov at google.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

ThreadSanitizer (tsan) pass has some internal llvm flags:

static cl::opt<bool>  ClInstrumentMemoryAccesses(
    "tsan-instrument-memory-accesses", cl::init(true),
    cl::desc("Instrument memory accesses"), cl::Hidden);
static cl::opt<bool>  ClInstrumentFuncEntryExit(
    "tsan-instrument-func-entry-exit", cl::init(true),
    cl::desc("Instrument function entry and exit"), cl::Hidden);
static cl::opt<bool>  ClInstrumentAtomics(
    "tsan-instrument-atomics", cl::init(true),
    cl::desc("Instrument atomics"), cl::Hidden);
static cl::opt<bool>  ClInstrumentMemIntrinsics(
    "tsan-instrument-memintrinsics", cl::init(true),
    cl::desc("Instrument memintrinsics (memset/memcpy/memmove)"), cl::Hidden);

They are useful for instrumentation of some special source files. E.g. not
instrumenting memory accesses to get rid of massive known race reports; not
instrumenting very performance-critical code; not instrumenting atomics in
home-grown mutex implementation, etc.

Users should not use internal llvm flags, so they should be treaded to driver.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20161013/aee865ad/attachment.html>


More information about the llvm-bugs mailing list