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
    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.
llvm-bugs mailing list

Reply via email to