[clang] ca6df73 - [NFC][CodeGenOptions] Refactor checking SanitizeCoverage options
Marco Elver via cfe-commits
cfe-commits at lists.llvm.org
Tue May 25 04:00:20 PDT 2021
Author: Marco Elver
Date: 2021-05-25T12:57:14+02:00
New Revision: ca6df734069ae590d1632e920ceba03bea317549
URL: https://github.com/llvm/llvm-project/commit/ca6df734069ae590d1632e920ceba03bea317549
DIFF: https://github.com/llvm/llvm-project/commit/ca6df734069ae590d1632e920ceba03bea317549.diff
LOG: [NFC][CodeGenOptions] Refactor checking SanitizeCoverage options
Refactor checking SanitizeCoverage options into
CodeGenOptions::hasSanitizeCoverage().
Reviewed By: vitalybuka
Differential Revision: https://reviews.llvm.org/D102927
Added:
Modified:
clang/include/clang/Basic/CodeGenOptions.h
clang/lib/CodeGen/BackendUtil.cpp
Removed:
################################################################################
diff --git a/clang/include/clang/Basic/CodeGenOptions.h b/clang/include/clang/Basic/CodeGenOptions.h
index c77c34a8a57d6..617c255641efd 100644
--- a/clang/include/clang/Basic/CodeGenOptions.h
+++ b/clang/include/clang/Basic/CodeGenOptions.h
@@ -452,6 +452,12 @@ class CodeGenOptions : public CodeGenOptionsBase {
bool hasMaybeUnusedDebugInfo() const {
return getDebugInfo() >= codegenoptions::UnusedTypeInfo;
}
+
+ // Check if any one of SanitizeCoverage* is enabled.
+ bool hasSanitizeCoverage() const {
+ return SanitizeCoverageType || SanitizeCoverageIndirectCalls ||
+ SanitizeCoverageTraceCmp;
+ }
};
} // end namespace clang
diff --git a/clang/lib/CodeGen/BackendUtil.cpp b/clang/lib/CodeGen/BackendUtil.cpp
index a2d219e92d6b0..ca1067dbb79f5 100644
--- a/clang/lib/CodeGen/BackendUtil.cpp
+++ b/clang/lib/CodeGen/BackendUtil.cpp
@@ -727,9 +727,7 @@ void EmitAssemblyHelper::CreatePasses(legacy::PassManager &MPM,
addBoundsCheckingPass);
}
- if (CodeGenOpts.SanitizeCoverageType ||
- CodeGenOpts.SanitizeCoverageIndirectCalls ||
- CodeGenOpts.SanitizeCoverageTraceCmp) {
+ if (CodeGenOpts.hasSanitizeCoverage()) {
PMBuilder.addExtension(PassManagerBuilder::EP_OptimizerLast,
addSanitizerCoveragePass);
PMBuilder.addExtension(PassManagerBuilder::EP_EnabledOnOptLevel0,
@@ -1099,9 +1097,7 @@ static void addSanitizers(const Triple &TargetTriple,
const LangOptions &LangOpts, PassBuilder &PB) {
PB.registerOptimizerLastEPCallback([&](ModulePassManager &MPM,
PassBuilder::OptimizationLevel Level) {
- if (CodeGenOpts.SanitizeCoverageType ||
- CodeGenOpts.SanitizeCoverageIndirectCalls ||
- CodeGenOpts.SanitizeCoverageTraceCmp) {
+ if (CodeGenOpts.hasSanitizeCoverage()) {
auto SancovOpts = getSancovOptsFromCGOpts(CodeGenOpts);
MPM.addPass(ModuleSanitizerCoveragePass(
SancovOpts, CodeGenOpts.SanitizeCoverageAllowlistFiles,
More information about the cfe-commits
mailing list