aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp')
-rw-r--r--llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp28
1 files changed, 12 insertions, 16 deletions
diff --git a/llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp b/llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
index 289183e..88553d4 100644
--- a/llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
+++ b/llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
@@ -187,15 +187,15 @@ static cl::opt<bool>
cl::desc("Use selective instrumentation"),
cl::Hidden, cl::init(false));
-static cl::opt<int> HotPercentileCutoff(
+static cl::opt<int> ClHotPercentileCutoff(
"hwasan-percentile-cutoff-hot", cl::init(0),
cl::desc("Alternative hot percentile cuttoff."
"By default `-profile-summary-cutoff-hot` is used."));
static cl::opt<float>
- RandomSkipRate("hwasan-random-skip-rate", cl::init(0),
- cl::desc("Probability value in the range [0.0, 1.0] "
- "to skip instrumentation of a function."));
+ ClRandomSkipRate("hwasan-random-skip-rate", cl::init(0),
+ cl::desc("Probability value in the range [0.0, 1.0] "
+ "to skip instrumentation of a function."));
STATISTIC(NumTotalFuncs, "Number of total funcs");
STATISTIC(NumInstrumentedFuncs, "Number of instrumented funcs");
@@ -301,7 +301,7 @@ public:
? ClEnableKhwasan
: CompileKernel;
this->Rng =
- RandomSkipRate.getNumOccurrences() ? M.createRNG("hwasan") : nullptr;
+ ClRandomSkipRate.getNumOccurrences() ? M.createRNG("hwasan") : nullptr;
initializeModule();
}
@@ -1391,11 +1391,6 @@ bool HWAddressSanitizer::instrumentLandingPads(
return true;
}
-static bool isLifetimeIntrinsic(Value *V) {
- auto *II = dyn_cast<IntrinsicInst>(V);
- return II && II->isLifetimeStartOrEnd();
-}
-
static DbgAssignIntrinsic *DynCastToDbgAssign(DbgVariableIntrinsic *DVI) {
return dyn_cast<DbgAssignIntrinsic>(DVI);
}
@@ -1455,7 +1450,8 @@ bool HWAddressSanitizer::instrumentStack(memtag::StackInfo &SInfo,
AI->replaceUsesWithIf(Replacement, [AICast, AILong](const Use &U) {
auto *User = U.getUser();
- return User != AILong && User != AICast && !isLifetimeIntrinsic(User);
+ return User != AILong && User != AICast &&
+ !memtag::isLifetimeIntrinsic(User);
});
// Helper utility for adding DW_OP_LLVM_tag_offset to debug-info records,
@@ -1537,8 +1533,8 @@ void HWAddressSanitizer::sanitizeFunction(Function &F,
NumTotalFuncs++;
if (CSelectiveInstrumentation) {
- if (RandomSkipRate.getNumOccurrences()) {
- std::bernoulli_distribution D(RandomSkipRate);
+ if (ClRandomSkipRate.getNumOccurrences()) {
+ std::bernoulli_distribution D(ClRandomSkipRate);
if (D(*Rng))
return;
} else {
@@ -1547,10 +1543,10 @@ void HWAddressSanitizer::sanitizeFunction(Function &F,
MAMProxy.getCachedResult<ProfileSummaryAnalysis>(*F.getParent());
if (PSI && PSI->hasProfileSummary()) {
auto &BFI = FAM.getResult<BlockFrequencyAnalysis>(F);
- if ((HotPercentileCutoff.getNumOccurrences() &&
- HotPercentileCutoff >= 0)
+ if ((ClHotPercentileCutoff.getNumOccurrences() &&
+ ClHotPercentileCutoff >= 0)
? PSI->isFunctionHotInCallGraphNthPercentile(
- HotPercentileCutoff, &F, BFI)
+ ClHotPercentileCutoff, &F, BFI)
: PSI->isFunctionHotInCallGraph(&F, BFI))
return;
} else {