diff options
author | Xinliang David Li <davidxl@google.com> | 2017-04-14 03:03:24 +0000 |
---|---|---|
committer | Xinliang David Li <davidxl@google.com> | 2017-04-14 03:03:24 +0000 |
commit | 9a717667514cee0022d97e8b72e1c23a9a16a9c4 (patch) | |
tree | 5260e84658aae743067033118b306137a53aeb02 /llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp | |
parent | 3e8257e48e10b23c6969c46a7b4021ede099dd91 (diff) | |
download | bcm5719-llvm-9a717667514cee0022d97e8b72e1c23a9a16a9c4.tar.gz bcm5719-llvm-9a717667514cee0022d97e8b72e1c23a9a16a9c4.zip |
Fix test failure on windows: pass module to getInstrProfXXName calls
llvm-svn: 300302
Diffstat (limited to 'llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp')
-rw-r--r-- | llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp b/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp index c6a6f954d13..b6255f651fd 100644 --- a/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp +++ b/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp @@ -272,7 +272,7 @@ static bool isVtableAccess(Instruction *I) { // Do not instrument known races/"benign races" that come from compiler // instrumentatin. The user has no way of suppressing them. -static bool shouldInstrumentReadWriteFromAddress(Value *Addr) { +static bool shouldInstrumentReadWriteFromAddress(const Module *M, Value *Addr) { // Peel off GEPs and BitCasts. Addr = Addr->stripInBoundsOffsets(); @@ -280,7 +280,7 @@ static bool shouldInstrumentReadWriteFromAddress(Value *Addr) { if (GV->hasSection()) { StringRef SectionName = GV->getSection(); // Check if the global is in the PGO counters section. - if (SectionName.endswith(getInstrProfCountersSectionName())) + if (SectionName.endswith(getInstrProfCountersSectionName(M))) return false; } @@ -342,13 +342,13 @@ void ThreadSanitizer::chooseInstructionsToInstrument( for (Instruction *I : reverse(Local)) { if (StoreInst *Store = dyn_cast<StoreInst>(I)) { Value *Addr = Store->getPointerOperand(); - if (!shouldInstrumentReadWriteFromAddress(Addr)) + if (!shouldInstrumentReadWriteFromAddress(I->getModule(), Addr)) continue; WriteTargets.insert(Addr); } else { LoadInst *Load = cast<LoadInst>(I); Value *Addr = Load->getPointerOperand(); - if (!shouldInstrumentReadWriteFromAddress(Addr)) + if (!shouldInstrumentReadWriteFromAddress(I->getModule(), Addr)) continue; if (WriteTargets.count(Addr)) { // We will write to this temp, so no reason to analyze the read. |