Author: Eric Christopher Date: 2020-06-20T00:42:26-07:00 New Revision: 10563e16aa2c432a883695ddd714da68751bbd77
URL: https://github.com/llvm/llvm-project/commit/10563e16aa2c432a883695ddd714da68751bbd77 DIFF: https://github.com/llvm/llvm-project/commit/10563e16aa2c432a883695ddd714da68751bbd77.diff LOG: [Analysis/Transforms/Sanitizers] As part of using inclusive language within the llvm project, migrate away from the use of blacklist and whitelist. Added: Modified: clang/lib/CodeGen/SanitizerMetadata.cpp clang/lib/CodeGen/SanitizerMetadata.h llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h llvm/lib/Analysis/InlineCost.cpp llvm/lib/Analysis/ObjCARCInstKind.cpp llvm/lib/Transforms/IPO/GlobalOpt.cpp llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp llvm/lib/Transforms/Scalar/LoopRerollPass.cpp llvm/lib/Transforms/Scalar/NaryReassociate.cpp llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp Removed: ################################################################################ diff --git a/clang/lib/CodeGen/SanitizerMetadata.cpp b/clang/lib/CodeGen/SanitizerMetadata.cpp index 86269b5513f3..cdf83370c41f 100644 --- a/clang/lib/CodeGen/SanitizerMetadata.cpp +++ b/clang/lib/CodeGen/SanitizerMetadata.cpp @@ -31,16 +31,16 @@ static bool isAsanHwasanOrMemTag(const SanitizerSet& SS) { void SanitizerMetadata::reportGlobalToASan(llvm::GlobalVariable *GV, SourceLocation Loc, StringRef Name, QualType Ty, bool IsDynInit, - bool IsBlacklisted) { + bool IsExcluded) { if (!isAsanHwasanOrMemTag(CGM.getLangOpts().Sanitize)) return; IsDynInit &= !CGM.isInSanitizerBlacklist(GV, Loc, Ty, "init"); - IsBlacklisted |= CGM.isInSanitizerBlacklist(GV, Loc, Ty); + IsExcluded |= CGM.isInSanitizerBlacklist(GV, Loc, Ty); llvm::Metadata *LocDescr = nullptr; llvm::Metadata *GlobalName = nullptr; llvm::LLVMContext &VMContext = CGM.getLLVMContext(); - if (!IsBlacklisted) { + if (!IsExcluded) { // Don't generate source location and global name if it is blacklisted - // it won't be instrumented anyway. LocDescr = getLocationMetadata(Loc); @@ -53,7 +53,7 @@ void SanitizerMetadata::reportGlobalToASan(llvm::GlobalVariable *GV, llvm::ConstantAsMetadata::get( llvm::ConstantInt::get(llvm::Type::getInt1Ty(VMContext), IsDynInit)), llvm::ConstantAsMetadata::get(llvm::ConstantInt::get( - llvm::Type::getInt1Ty(VMContext), IsBlacklisted))}; + llvm::Type::getInt1Ty(VMContext), IsExcluded))}; llvm::MDNode *ThisGlobal = llvm::MDNode::get(VMContext, GlobalMetadata); llvm::NamedMDNode *AsanGlobals = @@ -69,12 +69,12 @@ void SanitizerMetadata::reportGlobalToASan(llvm::GlobalVariable *GV, llvm::raw_string_ostream OS(QualName); D.printQualifiedName(OS); - bool IsBlacklisted = false; + bool IsExcluded = false; for (auto Attr : D.specific_attrs<NoSanitizeAttr>()) if (Attr->getMask() & SanitizerKind::Address) - IsBlacklisted = true; + IsExcluded = true; reportGlobalToASan(GV, D.getLocation(), OS.str(), D.getType(), IsDynInit, - IsBlacklisted); + IsExcluded); } void SanitizerMetadata::disableSanitizerForGlobal(llvm::GlobalVariable *GV) { diff --git a/clang/lib/CodeGen/SanitizerMetadata.h b/clang/lib/CodeGen/SanitizerMetadata.h index 7ffac4360d9c..440a54590acc 100644 --- a/clang/lib/CodeGen/SanitizerMetadata.h +++ b/clang/lib/CodeGen/SanitizerMetadata.h @@ -40,7 +40,7 @@ class SanitizerMetadata { bool IsDynInit = false); void reportGlobalToASan(llvm::GlobalVariable *GV, SourceLocation Loc, StringRef Name, QualType Ty, bool IsDynInit = false, - bool IsBlacklisted = false); + bool IsExcluded = false); void disableSanitizerForGlobal(llvm::GlobalVariable *GV); void disableSanitizerForInstruction(llvm::Instruction *I); private: diff --git a/llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h b/llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h index 40007a9b8c53..fea6064042ae 100644 --- a/llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h +++ b/llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h @@ -39,7 +39,7 @@ class GlobalsMetadata { LocationMetadata SourceLoc; StringRef Name; bool IsDynInit = false; - bool IsBlacklisted = false; + bool IsExcluded = false; Entry() = default; }; diff --git a/llvm/lib/Analysis/InlineCost.cpp b/llvm/lib/Analysis/InlineCost.cpp index ba327ca6ce2d..66e8184e7ec2 100644 --- a/llvm/lib/Analysis/InlineCost.cpp +++ b/llvm/lib/Analysis/InlineCost.cpp @@ -1113,7 +1113,8 @@ bool CallAnalyzer::visitCastInst(CastInst &I) { })) return true; - // Disable SROA in the face of arbitrary casts we don't whitelist elsewhere. + // Disable SROA in the face of arbitrary casts we don't explicitly list + // elsewhere. disableSROA(I.getOperand(0)); // If this is a floating-point cast, and the target says this operation diff --git a/llvm/lib/Analysis/ObjCARCInstKind.cpp b/llvm/lib/Analysis/ObjCARCInstKind.cpp index 5487745972f9..fb416a79ac26 100644 --- a/llvm/lib/Analysis/ObjCARCInstKind.cpp +++ b/llvm/lib/Analysis/ObjCARCInstKind.cpp @@ -153,7 +153,7 @@ ARCInstKind llvm::objcarc::GetFunctionClass(const Function *F) { } } -// A whitelist of intrinsics that we know do not use objc pointers or decrement +// A list of intrinsics that we know do not use objc pointers or decrement // ref counts. static bool isInertIntrinsic(unsigned ID) { // TODO: Make this into a covered switch. @@ -192,7 +192,7 @@ static bool isInertIntrinsic(unsigned ID) { } } -// A whitelist of intrinsics that we know do not use objc pointers or decrement +// A list of intrinsics that we know do not use objc pointers or decrement // ref counts. static bool isUseOnlyIntrinsic(unsigned ID) { // We are conservative and even though intrinsics are unlikely to touch diff --git a/llvm/lib/Transforms/IPO/GlobalOpt.cpp b/llvm/lib/Transforms/IPO/GlobalOpt.cpp index 853aad5e207e..47ac7eb613a7 100644 --- a/llvm/lib/Transforms/IPO/GlobalOpt.cpp +++ b/llvm/lib/Transforms/IPO/GlobalOpt.cpp @@ -195,10 +195,10 @@ CleanupPointerRootUsers(GlobalVariable *GV, function_ref<TargetLibraryInfo &(Function &)> GetTLI) { // A brief explanation of leak checkers. The goal is to find bugs where // pointers are forgotten, causing an accumulating growth in memory - // usage over time. The common strategy for leak checkers is to whitelist the - // memory pointed to by globals at exit. This is popular because it also - // solves another problem where the main thread of a C++ program may shut down - // before other threads that are still expecting to use those globals. To + // usage over time. The common strategy for leak checkers is to explicitly + // allow the memory pointed to by globals at exit. This is popular because it + // also solves another problem where the main thread of a C++ program may shut + // down before other threads that are still expecting to use those globals. To // handle that case, we expect the program may create a singleton and never // destroy it. diff --git a/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp b/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp index 81ba7ba5f029..f2f71f4cef2d 100644 --- a/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp +++ b/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp @@ -1150,9 +1150,9 @@ GlobalsMetadata::GlobalsMetadata(Module &M) { E.Name = Name->getString(); ConstantInt *IsDynInit = mdconst::extract<ConstantInt>(MDN->getOperand(3)); E.IsDynInit |= IsDynInit->isOne(); - ConstantInt *IsBlacklisted = + ConstantInt *IsExcluded = mdconst::extract<ConstantInt>(MDN->getOperand(4)); - E.IsBlacklisted |= IsBlacklisted->isOne(); + E.IsExcluded |= IsExcluded->isOne(); } } @@ -1814,7 +1814,7 @@ bool ModuleAddressSanitizer::shouldInstrumentGlobal(GlobalVariable *G) const { // FIXME: Metadata should be attched directly to the global directly instead // of being added to llvm.asan.globals. - if (GlobalsMD.get(G).IsBlacklisted) return false; + if (GlobalsMD.get(G).IsExcluded) return false; if (!Ty->isSized()) return false; if (!G->hasInitializer()) return false; // Only instrument globals of default address spaces @@ -2265,19 +2265,19 @@ bool ModuleAddressSanitizer::InstrumentGlobals(IRBuilder<> &IRB, Module &M, // Build set of globals that are aliased by some GA, where // canInstrumentAliasedGlobal(GA) returns false. - SmallPtrSet<const GlobalVariable *, 16> AliasedGlobalBlacklist; + SmallPtrSet<const GlobalVariable *, 16> AliasedGlobalExclusions; if (CompileKernel) { for (auto &GA : M.aliases()) { if (const auto *GV = dyn_cast<GlobalVariable>(GA.getAliasee())) { if (!canInstrumentAliasedGlobal(GA)) - AliasedGlobalBlacklist.insert(GV); + AliasedGlobalExclusions.insert(GV); } } } SmallVector<GlobalVariable *, 16> GlobalsToChange; for (auto &G : M.globals()) { - if (!AliasedGlobalBlacklist.count(&G) && shouldInstrumentGlobal(&G)) + if (!AliasedGlobalExclusions.count(&G) && shouldInstrumentGlobal(&G)) GlobalsToChange.push_back(&G); } diff --git a/llvm/lib/Transforms/Scalar/LoopRerollPass.cpp b/llvm/lib/Transforms/Scalar/LoopRerollPass.cpp index 5deee9e5546b..3542d0a4ee73 100644 --- a/llvm/lib/Transforms/Scalar/LoopRerollPass.cpp +++ b/llvm/lib/Transforms/Scalar/LoopRerollPass.cpp @@ -1132,7 +1132,7 @@ static bool isIgnorableInst(const Instruction *I) { case Intrinsic::annotation: case Intrinsic::ptr_annotation: case Intrinsic::var_annotation: - // TODO: the following intrinsics may also be whitelisted: + // TODO: the following intrinsics may also be allowed: // lifetime_start, lifetime_end, invariant_start, invariant_end return true; } diff --git a/llvm/lib/Transforms/Scalar/NaryReassociate.cpp b/llvm/lib/Transforms/Scalar/NaryReassociate.cpp index bba9082e31b2..4e010f8704d0 100644 --- a/llvm/lib/Transforms/Scalar/NaryReassociate.cpp +++ b/llvm/lib/Transforms/Scalar/NaryReassociate.cpp @@ -213,7 +213,7 @@ bool NaryReassociatePass::runImpl(Function &F, AssumptionCache *AC_, return Changed; } -// Whitelist the instruction types NaryReassociate handles for now. +// Explicitly list the instruction types NaryReassociate handles for now. static bool isPotentiallyNaryReassociable(Instruction *I) { switch (I->getOpcode()) { case Instruction::Add: diff --git a/llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp b/llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp index 1e37120d6b6d..34e6387a238e 100644 --- a/llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp +++ b/llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp @@ -247,7 +247,7 @@ static unsigned ComputeSpeculationCost(const Instruction *I, return TTI.getUserCost(I, TargetTransformInfo::TCK_SizeAndLatency); default: - return UINT_MAX; // Disallow anything not whitelisted. + return UINT_MAX; // Disallow anything not explicitly listed. } } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits